Title: SENS: A Sensor, Environment and Network Simulator
1- 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
2What 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)
3Example Localization Experiment
4Example Structural Health Monitoring
Accelerometer board prototype, Ruiz-Sandoval,
Nagayama Spencer, Civil E., U. Illinois
Urbana-Champaign
Semi-active Hydraulic Damper (SHD), Kajima
Corporation, Japan
Model bridge with attached wireless sensors, B.F.
Spencers Lab, Civil E., U. Illinois U-C
5Characteristics 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.
6Related 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
7Simulator Structure
SENS is composed of several concurrently
interacting components modeled as actors.
8Simulator 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
9Simple 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_, vectorltstringgt args)
Application(sc, id_) schedule(new
AppMesg(77), 0.5) // Send message to self.
registerHandler(SimpleApplicationonAppMes
g) registerHandler(SimpleApplication
onSensorValue) // Message handlers.
void onAppMesg(AppMesg ) cout
ltlt "I'm not really listening. " ltlt getTime() ltlt
endl send(new AppMesg(77), 0.3) //
Radio neighborhood broadcast. void
onSensorValue(SensorValue sv) cout
ltlt getTime() ltlt " SA " ltlt id ltlt " sensed
something " ltlt endl // Add
SimpleApplication to the ComponentRegistry so it
is instantiable from config files.static
RegisterApplicationltSimpleApplicationgt
re_app("SimpleApplication")
10Network 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.
11Environment Simulation
- Environment is divided into tiles with different
signal propagation characteristics. - Based on experimental measurements.
- Each sensor is located on one tile.
12Environment 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
Soundmuffled by grass
Echo
Beep!
13Circular Wave Propagation
14Circular Wave Propagation
15Measurement 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))).
16Simulation Parameters
- Determines behavior of nodes and signals.
- Can be adjusted forother scenarios.
17Observed Mica-2 Radio Range (sketch)
40 signal strength variation with angle
18Ranging Simulation vs. Experiment
- Wall effects evident.
- Similar behavior.
- Experiment was separate from calibration.
3m tall, 2/3m thick brick wall
19Simplified 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
20Ranging/Localization Complications
21Localization vs. Obstacle Density
22Non-Anchor Power Usage Simulation
- Power savings of the black listing policyIf a
non-anchor believes it will not make a successful
ranging measurement to an anchor, it should not
even bother trying.
23Simulator 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.
24Ongoing 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
25Ongoing 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
26 27End of slides.
28A 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.