280 likes | 400 Views
SENS: A Sensor, Environment and Network Simulator Sameer Sundresh, Wooyoung Kim and Gul Agha University of Illinois at Urbana-Champaign http://osl.cs.uiuc.edu Presented at ANSS 37 April 21, 2004. What is a Sensor Network?. Many simple nodes with sensors deployed throughout an environment.
E N D
SENS: A Sensor, Environment and Network Simulator Sameer Sundresh, Wooyoung Kim and Gul Agha University of Illinois at Urbana-Champaign http://osl.cs.uiuc.edu Presented at ANSS 37 April 21, 2004
What is a Sensor Network? • Many simple nodes with sensors deployed throughout an environment. • Determination of sensor positions (localization) • Cooperative target identification & tracking • Indoor or outdoor environment monitoring • Civil structural health monitoring (SHM)
Example: Structural Health Monitoring Accelerometer board prototype, Ruiz-Sandoval, Nagayama & Spencer, Civil E., U. Illinois Urbana-Champaign Model bridge with attached wireless sensors, B.F. Spencer’s Lab, Civil E., U. Illinois U-C Semi-active Hydraulic Damper (SHD), Kajima Corporation, Japan
Characteristics of Sensor Networks • Errors are common. • Wireless communication • Noisy measurements • Node failures are to be expected • Network interacts heavily with environment. • Highly constrained nodes. • e.g. 4k RAM, 2 AA batteries, 20msg/s radio • Must operate for months, little supervision. • Experiments are time- and space-intensive.
Related Work • Custom application-specific simulators • Network simulators • OPNET, ns-2, Monarch (based on ns-2), GloMoSim • Sensor network wireless protocol simulators • UCLA SensorSim, GeorgiaTech SensorSimII • Sensor node simulators • TOSSIM (for TinyOS), TOSSF (based on SWAN) • Application-oriented simulators • SENS, Siesta, EmStar
Simulator Structure Simulator Deployed Network Simulation Controller Environment Node Node Node Application Application Node … Node Node msg msg Network Network sense/actuate sense/actuate messages Physical Physical Environment SENS is composed of several concurrently interacting components modeled as actors.
Simulator Components • Application • sense/actuate interface • message send/receive interface • Physical • handles sense/actuate together with Environment • maintains radio & sensor neighbor sets • computes power usage (based on actuate requests to enable/disable simulated hardware) • Network • handles send/receive • several interchangeable implementations
Simple Application #include "System/Sim.h"#include "Interfaces/PhysicalMessages.h"// Message type definitions.MESSAGE_TYPE(AppMesg, int);// Application to be simulated on a node.class SimpleApplication: public Application {public: SimpleApplication(SimController *sc, node_id id_, vector<string> *args) : Application(sc, id_) {schedule(new AppMesg(77), 0.5); // Send message to self.registerHandler(&SimpleApplication::onAppMesg);registerHandler(&SimpleApplication::onSensorValue); }// Message handlers. void onAppMesg(AppMesg *) { cout << "I'm not really listening. " << getTime() << endl;send(new AppMesg(77), 0.3); // Radio neighborhood broadcast. } void onSensorValue(SensorValue *sv) { cout << getTime() << " SA " << id << " sensed something " << endl; }};// Add SimpleApplication to the ComponentRegistry so it is instantiable from config files.static RegisterApplication<SimpleApplication> re_app("SimpleApplication");
Network Components Trade off simulation efficiency and accuracy • SimpleNetwork: immediate, guaranteed delivery to all neighbors within range. • ProbLossyNetwork: probabilistic delivery and delay; delivery probabilities can optionally decrease under heavy traffic. • CollisionLossyNetwork: calculates collisions at receiving end based on message overlap and relative signal strengths; selectable interval size.
Environment Simulation • Environment is divided intotileswith different signal propagation characteristics. • Based on experimental measurements. • Each sensor is located on one tile.
Environment Simulation • Environment is divided intotileswith different signal propagation characteristics. • Based on experimental measurements. • Each sensor is located on one tile. Maximum range cut-off Soundmuffled by grass Echo “Beep!”
Circular Wave Propagation 2 3 Tile (x,y) θ 23 4 1 θ 12 Source
Circular Wave Propagation 2 3 f(0) g(1) g(0.5) g(0) f(0.5) Tile (x,y) θ f(1) 23 4 1 θ 12 Source
Measurement and Attenuation • Must translate total energy passing through a tile to energy of the signal received by a sensor. • Can use f to calculate energy density. • Else divide total energy by max. arclength, approx. by |sinθ|+|cosθ|. • Circular waves = 2-D = 1/r • Simulate 3-D = 1/r2 by propagating sqrt(energy) • To simulate attenuation A observed by real sensors, apply M-1(A(M(e))).
Simulation Parameters Determines behavior of nodes and signals. Can be adjusted forother scenarios.
Observed Mica-2 Radio Range (sketch) Mica-2 40% signal strength variation with angle
Ranging: Simulation vs. Experiment grass concrete • Wall effects evident. • Similar behavior. • Experiment was separate from calibration. 3m tall, 2/3m thick brick wall
Simplified Localization Example • Typical sensor data is location-dependent, hence localization is a necessary service. • Anchor nodes know their locations. • Perform triangulationusing ranging data. • Errors due to obstacles(indirect sound paths). • Anchor • Grass or wall • Real vs. localized
Non-Anchor Power Usage Simulation Power savings of the black listing policy:If a non-anchor believes it will not make a successful ranging measurement to an anchor, it should not even bother trying.
Simulator Performance n sensor nodes t simulated time Exec. time: O(nt),PC much faster than sensor node Setup time: O(n2)= # interactions Time to simulate 1000 seconds ofsimplified localization application.
Ongoing Work • More detailed measurements of node behavior • acoustic ranging in presence of wind, echoes • radio signal strength (e.g. imperfect antenna) • inter- and intra-node timing characteristics • Civil structure environment model • Matlab model for environment • Experimental validation of sensor simulations
Ongoing Work • Language/API refinement • deployable sensor node code • automatic annotation of timing and power • Use in sensor network service development • localization (acoustic, radio) • Soham Mazumdar, Ashish Agarwal, Indranil Gupta, Wooyoung Kim & Gul Agha, “Fast Range Queries Using Pre-Aggregated In-Network Storage,” submitted to ACM SenSys 2004. • structural health monitoring • geographic routing
A Typical Wireless Sensor Node • Mica-2 from Crossbow • 4MHz 8-bit Atmel AVR • 4096 bytes RAM • 128kB flash for program code • 433MHz, 32kb/s radio (~ 20 30-byte messages/s) • Powered by 2 AA batteries • Mica-2 sensor board • 4kHz audio buzzer + microphone + tone detector • 2-axis accelerometer, 2-axis magnetometer • light/temperature sensor • Currently costs ~$150, eventually under $10.