SENS A Sensor Environment and Network Simulator Sameer

  • Slides: 28
Download presentation
SENS: A Sensor, Environment and Network Simulator Sameer Sundresh, Wooyoung Kim and Gul Agha

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

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: Localization Experiment

Example: Localization Experiment

Example: Structural Health Monitoring Accelerometer board prototype, Ruiz-Sandoval, Nagayama & Spencer, Civil E. ,

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

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. 4 k RAM, 2 AA batteries, 20 msg/s radio ● Must operate for months, little supervision. ● Experiments are time- and space-intensive.

Related Work ● Custom application-specific simulators ● Network simulators – ● Sensor network wireless

Related Work ● Custom application-specific simulators ● Network simulators – ● Sensor network wireless protocol simulators – ● UCLA Sensor. Sim, Georgia. Tech Sensor. Sim. II Sensor node simulators – ● OPNET, ns-2, Monarch (based on ns-2), Glo. Mo. Sim TOSSIM (for Tiny. OS), TOSSF (based on SWAN) Application-oriented simulators – SENS, Siesta, Em. Star

Simulator Structure Simulator Deployed Network Simulation Controller Node sense/actuate Application Node … Application msg

Simulator Structure Simulator Deployed Network Simulation Controller Node sense/actuate Application Node … Application msg Network messages Node Network Physical sense/actuate Node Environment Physical Environment Node SENS is composed of several concurrently interacting components modeled as actors.

Simulator Components ● ● ● Application – sense/actuate interface – message send/receive interface Physical

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/Physical. Messages. h" // Message type definitions. MESSAGE_TYPE(App.

Simple Application #include "System/Sim. h" #include "Interfaces/Physical. Messages. h" // Message type definitions. MESSAGE_TYPE(App. Mesg, int); // Application to be simulated on a node. class Simple. Application: public Application { public: Simple. Application(Sim. Controller *sc, node_id id_, vector<string> *args) : Application(sc, id_) { schedule(new App. Mesg(77), 0. 5); // Send message to self. register. Handler(&Simple. Application: : on. App. Mesg); register. Handler(&Simple. Application: : on. Sensor. Value); } // Message handlers. void on. App. Mesg(App. Mesg *) { cout << "I'm not really listening. " << get. Time() << endl; send(new App. Mesg(77), 0. 3); // Radio neighborhood broadcast. } void on. Sensor. Value(Sensor. Value *sv) { cout << get. Time() << " SA " << id << " sensed something " << endl; } }; // Add Simple. Application to the Component. Registry so it is instantiable from config files. static Register. Application<Simple. Application> re_app("Simple. Application");

Network Components Trade off simulation efficiency and accuracy ● ● ● Simple. Network: immediate,

Network Components Trade off simulation efficiency and accuracy ● ● ● Simple. Network: immediate, guaranteed delivery to all neighbors within range. Prob. Lossy. Network: probabilistic delivery and delay; delivery probabilities can optionally decrease under heavy traffic. Collision. Lossy. Network: calculates collisions at receiving end based on message overlap and relative signal strengths; selectable interval size.

Environment Simulation ● Environment is divided into tiles with different signal propagation characteristics. –

Environment Simulation ● Environment is divided into tiles with different signal propagation characteristics. – ● Based on experimental measurements. Each sensor is located on one tile.

Environment Simulation ● Environment is divided into tiles with different signal propagation characteristics. –

Environment Simulation ● Environment is divided into tiles with different signal propagation characteristics. – ● Based on experimental measurements. Each sensor is located on one tile. Maximum range cut-off Sound muffled by grass Echo “Beep!”

Circular Wave Propagation 2 3 Tile (x, y) θ 23 θ 12 Source 4

Circular Wave Propagation 2 3 Tile (x, y) θ 23 θ 12 Source 4 1

Circular Wave Propagation 3 f(0) g(1) 2 g(0. 5) g(0) f(0. 5) θ 23

Circular Wave Propagation 3 f(0) g(1) 2 g(0. 5) g(0) f(0. 5) θ 23 θ 12 Source f(1) 4 Tile (x, y) 1

Measurement and Attenuation ● ● Must translate total energy passing through a tile to

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. arc length, approx. by |sinθ|+|cosθ|. Circular waves = 2 -D = 1/r – ● Simulate 3 -D = 1/r 2 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 for other scenarios.

Simulation Parameters Determines behavior of nodes and signals. Can be adjusted for other scenarios.

Observed Mica-2 Radio Range (sketch) 40% signal strength variation with angle Mica-2

Observed Mica-2 Radio Range (sketch) 40% signal strength variation with angle Mica-2

Ranging: Simulation vs. Experiment ● Wall effects evident. ● Similar behavior. ● Experiment was

Ranging: Simulation vs. Experiment ● Wall effects evident. ● Similar behavior. ● Experiment was separate from calibration. gras s concrete 3 m tall, 2/3 m thick brick wall

Simplified Localization Example ● ● Typical sensor data is location-dependent, hence localization is a

Simplified Localization Example ● ● Typical sensor data is location-dependent, hence localization is a necessary service. Anchor nodes know their locations. Perform triangulation using ranging data. Errors due to obstacles (indirect sound paths). – Anchor – Grass or wall – Real vs. localized

Ranging/Localization Complications

Ranging/Localization Complications

Localization vs. Obstacle Density

Localization vs. Obstacle Density

Non-Anchor Power Usage Simulation Power savings of the black listing policy: If a non-anchor

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

Simulator Performance n sensor nodes t simulated time Exec. time: O(nt), PC much faster than sensor node Setup time: O(n 2) = # interactions Time to simulate 1000 seconds of simplified localization application.

Ongoing Work ● ● More detailed measurements of node behavior – acoustic ranging in

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

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 Sen. Sys 2004. – structural health monitoring – geographic routing

http: //osl. cs. uiuc. edu

http: //osl. cs. uiuc. edu

End of slides.

End of slides.

A Typical Wireless Sensor Node ● ● ● Mica-2 from Crossbow – 4 MHz

A Typical Wireless Sensor Node ● ● ● Mica-2 from Crossbow – 4 MHz 8 -bit Atmel AVR – 4096 bytes RAM – 128 k. B flash for program code – 433 MHz, 32 kb/s radio (~ 20 30 -byte messages/s) – Powered by 2 AA batteries Mica-2 sensor board – 4 k. Hz audio buzzer + microphone + tone detector – 2 -axis accelerometer, 2 -axis magnetometer – light/temperature sensor Currently costs ~$150, eventually under $10.