sens anss37

Document Sample
sens anss37 Powered By Docstoc
					SENS: A Sensor, Environment
   and Network Simulator
Sameer Sundresh, Wooyoung Kim and Gul Agha
  University of Illinois at Urbana-Champaign

           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: Localization Experiment
Example: Structural Health Monitoring

                                                 Accelerometer board prototype,
                                                 Ruiz-Sandoval, Nagayama & Spencer,
                                                 Civil E., U. Illinois Urbana-Champaign

Model bridge with attached wireless sensors,       Semi-active Hydraulic Damper
 B.F. Spencer’s Lab, Civil E., U. Illinois U-C   (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
                     Simulation Controller                             Deployed Network
 Node                                     Node
  Application                   Node       Application
                      msg                   msg

                                                                        Node          Node

                   Network     messages

                  Physical                  Physical
                                                                       SENS is composed of
                                                                       several concurrently
                             Environment                               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 {
    SimpleApplication(SimController *sc, node_id id_, vector<string> *args)
        : Application(sc, id_) {
            schedule(new AppMesg(77), 0.5); // Send message to self.
     // 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 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.
    –   Based on experimental measurements.
●   Each sensor is located on one tile.       Maximum
                                              range cut-off

    Echo                                           Sound
                                                   by grass

Circular Wave Propagation

            3                2

                Tile (x,y)
      θ12   4                1

Circular Wave Propagation

                3                        2
             f(0) g(1)   g(0.5)   g(0)


                     Tile (x,y)
      θ12       4                        1

    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/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 for
 other scenarios.
Observed Mica-2 Radio Range (sketch)

                       40% signal strength
                       variation with angle
Ranging: Simulation vs. Experiment

 ●   Wall effects evident.

 ●   Similar behavior.

 ●   Experiment was
     separate from             gras                  concrete
     calibration.              s

                             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 triangulation
    using ranging data.
●   Errors due to obstacles
    (indirect sound paths).
    –   Anchor
    –   Grass or wall
    –   Real vs. localized
Ranging/Localization Complications
Localization vs. Obstacle Density
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 of
                     simplified 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
End of slides.
    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.

Shared By: