NEST Midterm Wireless OEP Demo
David CullerEric Brewer, David WagnerShankar Sastry
NEST PI MeetingJuly 14, 2003
7/14/2003 NEST midterm Demo 2
Role of MidTerm demo in the program
HW platform
SW platform
coordination
servicessynthesis
services
composition services
Challenge Application
sensors actuators processing storage communication
7/14/2003 NEST midterm Demo 3
Platform Timeline• 6/01 Start of Program Platform Proposal• 1/02 Delivered 1000 Micas + TinyOS kits
to program projects• 7/02 Projects demo working components
OEP demos NEST-Tracker• 2/03 OEP demos NEST-Tracker
composable framework– Collect services from projects– SOCOMM and UW demos
• 7/03 Mid-Term Demo on OEP2– Show feasibility of platform and middleware
• … • Challenge Application
7/14/2003 NEST midterm Demo 4
Outline• Introduction• Overview of the Demo• OEP2 HW/SW Platform• Component Services • Mini-demos
– Time synchronization– Ranging– Localization– Sensing– Routing
• Demo
7/14/2003 NEST midterm Demo 5
Overview of the midterm demo
7/14/2003 NEST midterm Demo 6
Establish active sensor field
• Establish spatial and temporal co-ordinates• Minimize time-to-deploy Self-localization (ultra-sound ranging) from few Anchor nodes
Functional heterogeneity Time synchronization to establish rough clock
7/14/2003 NEST midterm Demo 7
Regionalized Entity Detection
• Local signal processing of magnetometer readings• Generate local sighting of strength s at time t• Node with max s over time window elected leader• Aggregates sightings into entity position estimate• Communicate entity detect to entity authority (EA)
7/14/2003 NEST midterm Demo 8
Self-Organized Routing Structure
• Sensor nets: 1-all bcast + all-1 data collection– Tree construction (bcast, gradient reinforcement, QoS)
• NEST: any-to-few mobile
7/14/2003 NEST midterm Demo 9
Entry Detection and Tracking
• Power management, Distributed sensing, sentry service (UVA), multihop N-1 routing
7/14/2003 NEST midterm Demo 10
Pursuer Challenges
• Multiple entities in the field– Disambiguation?
• Mobile destination, multicast “upward”• Navigation, control, …
7/14/2003 NEST midterm Demo 11
Disambiguation and Hierarchy• Node Heterogeneity
– Stationary sensor field nodes» uniform, limited resources, short-range connectivity» Functional specialization
• Anchored vs localized• Landmark nodes
– Mobile Pursuer Nodes» Greater computing resources» Alternative sensing modes & localization mechanisms» Alternative communication channels
• Hierarchy of knowledge– Sensor field nodes detect entities, maintain routing state– Pursuer nodes maintain entity relationships
» Map of pursuers and evader» Inter-pursuer coordination
– Entities disambiguated at high levels in hierarchy
7/14/2003 NEST midterm Demo 12
Routing Service Challenge• Mobile ad hoc routing (eg, MANET) have focused on any-to-
any independent paths ala internet– Protocols involve extensive discovery and state maintenance
» DSDR, AODV, …– either state proportional to size of net or partial flood on any new
connection• Sensor nets dominated by 1-to-N (broadcast) and N-to-1(data
collection or aggregation)– simple tree routing structures– cost-based topology formation with data-driven reinforcement
» Simple cases of directed diffusion• Here, entity leader (any) routes to few pursuers (anywhere)
– Want simple, bounded-state routing structures– Small mobility cost
7/14/2003 NEST midterm Demo 13
Landmark-based Routing
• Build routing tree (forest) to landmark node(s)• Entity leader routes up to landmark• Each Pursuer EA handshakes w/ close sensor node (crumb)• Path to landmark forms “crumb trail” • Routes up to landmark, beam-form down to multiple EAs• Incremental crumbs Alternative routing services: PARC
7/14/2003 NEST midterm Demo 14
Pursuer Control• Localizes within field coordinates
– Multiple sources: GPS, Ultra-sound, RSSI• Obtains entity detections from sensor field• Obtains other pursuer positions
– Pursuer channel or sensor field• Isolates evader position
– Maintains map– Tracking and estimation
• Navigates toward evader– Control loop: head-and-run till next update– Target based on estimate from evader track– Coordination and collision avoidance with other pursuer
• When close, STOPAlternative Control Services: OSU
7/14/2003 NEST midterm Demo 15
Overall Demo Operation• Sensor field established coordinate grid and
time• Sensor field waits in quiescent “sentry state”• Command/Monitor is stationary EA• Plus snooping display for visibility of internal
operation• Evader enters field is detected and tracked• Pursuers enter field
– Entity detection, routed to landmark, beamed to EAs– Pursuers distinguish evader from self entities– Navigate in co-ordination to pursuer
• Stop when pursuer gets within 1 cell of evader or evader leaves field
7/14/2003 NEST midterm Demo 16
OEP2 Hardware Platform• Main board: Mica2 dot
– Atmega microcontroller, Flash, clock– CC1000 frequency agile FSK radio– Small form-factor– Xbow based on Mica
• Sensor Board: magnetometer– Honeywell mag with 2-stage amplification– Set/reset circuit (5v)– 4-port digital Pot for biasing and filtering
• Power Subsystem– Dual-voltage booster/regulator board w/
rechargeable battery» Controllable 5 v
– Adapter board for conventional recharger• Ranging boards
– UltraSound– Acoustic
• Enclosure• Corresponding Micro-climate and
occupancy detector “stack
dot
mag ultrasound
acoustic
7/14/2003 NEST midterm Demo 17
Power Board• Dual 3.3V and 5V supply
– independently controlled• 3550mAh capacity at 1.2V on
rechargables– drawing 25mA constant current (tested in
lab) – operation down to 0.8V
• ~50uA current at 1.2V in sleep state with boost converter on
7/14/2003 NEST midterm Demo 18
Enclosure Design
Exposed components
Watertight compartment
ultrasoundmain
mag sensepower
battery
reflector
Collision absorption
7/14/2003 NEST midterm Demo 19
OEP2 Software Platform• TinyOS 1.1 + NesC 1.1• Rich Component Composition Language• ChipCon radio stack• Network Programming• Race detection• TOSSIM + TinyViz• Abstract Timer• Robust Multihop Data Collection• TinyDB
7/14/2003 NEST midterm Demo 20
Higher-Level Node Service Architecture
Hardware abstraction
Intra-moteservicesmessaging Config Timer
Network services
Service Coordination
appln services
routing nbr-hood Net pgming
Power ctrl Reset
sense
Localization Span Tree Route test Mag position
Mgmt
7/14/2003 NEST midterm Demo 21
Timermessaging sense
TinyOS Core Components
• Network Stack– ChipCon– UART– I2C
• Magnetometer• Abstract Timer
– One-shot– periodic
Hardware abstraction
Config
Service Coordination
routing nbr-hood Net pgming
Power ctrl Reset
Localization Span Tree Route test Mag position
Mgmt
7/14/2003 NEST midterm Demo 22
Config Timermessaging sense
Configuration Service
• Query & Set variables
• Any service can register ‘config’ variable
• Late binding• Limited
virtualizationHardware abstraction
Service Coordination
routing nbr-hood Net pgming
Power ctrl Reset
Localization Span Tree Route test Mag position
Mgmt
7/14/2003 NEST midterm Demo 23
Timermessaging sense
Routing
• Protocol stack• Outbound queue• Multihop• Broadcast
Hardware abstraction
Config
Service Coordination
routing nbr-hood Net pgming
Power ctrl Reset
Localization Span Tree Route test Mag position
Mgmt
7/14/2003 NEST midterm Demo 24
nbr-hood
Timermessaging sense
Neighborhood Tuple Space
• Data sharing abstraction
• Per-node logical tuple space– Get/Set field
• Abstract neighbor relation
• Flexible publish/sync policy
Hardware abstraction
Config
Service Coordination
routing Net pgming
Power ctrl Reset
Localization Span Tree Route test Mag position
Mgmt
id var1 var2 var3
7/14/2003 NEST midterm Demo 25
Timermessaging sense
Power Control Service
• Provides start/stop/awake control for each component
• Protocol and sequencing
Hardware abstraction
Config
Service Coordination
routing nbr-hood Net pgming
Power ctrl Reset
Localization Span Tree Route test Mag position
Mgmt
7/14/2003 NEST midterm Demo 26
Timermessaging sense
Reset and Mgmt Services
• Service protocol to bring components to a clean, initialized state
• Health and status commands– Blink– ping
Hardware abstraction
Config
Service Coordination
routing nbr-hood Net pgming
Power ctrl Reset
Localization Span Tree Route test Mag position
Mgmt
7/14/2003 NEST midterm Demo 27
Timermessaging sense
Service Coordination
Schedule application services and underlying resources
• Provides start/stop• One AS active at
any time• Additional
constraints– Mag/Msg interaction
Hardware abstraction
Config
Service Coordination
routing nbr-hood Net pgming
Power ctrl Reset
Localization Span Tree Route test Mag position
Mgmt
7/14/2003 NEST midterm Demo 28
Timermessaging sense
Localization Service
• Build field-relative coordinate grid
• Range measurements
• Propagate to determine multihop ranges from anchors
• Compute estimated positions
Hardware abstraction
Config
Service Coordination
routing nbr-hood Net pgming
Power ctrl Reset
Localization Span Tree Route test Mag position
Mgmt
7/14/2003 NEST midterm Demo 29
Timermessaging sense
Spanning Tree Service
• Build routing tree (forest) from Landmark nodes
• Low-contention, signal-strength determined tree
• New bcast– Collect readings till quiet– Filter based on RSSI– Min hop (filtered) with
max strength– Retransmit after delay
Hardware abstraction
Config
Service Coordination
routing nbr-hood Net pgming
Power ctrl Reset
Localization Span Tree Route test Mag position
Mgmt
7/14/2003 NEST midterm Demo 30
Timermessaging sense
Routing Test Service
• Route from node A to B via landmark
• Execute mgmt cmd
Hardware abstraction
Config
Service Coordination
routing nbr-hood Net pgming
Power ctrl Reset
Localization Span Tree Route test Mag position
Mgmt
7/14/2003 NEST midterm Demo 31
Timermessaging sense
Mag Service
• Collect mag stream• EWA into threshold
detector• Bcast in trigger• Leader election• Estimate position as
center of mass• Route via landmark
to EA
Hardware abstraction
Config
Service Coordination
routing nbr-hood Net pgming
Power ctrl Reset
Localization Span Tree Route test Mag position
Mgmt
7/14/2003 NEST midterm Demo 32
Entity Authorities• Maintain “crumb trail” to landmarks• Collect entity detections via LM routng• Collection position estimates
– GPS, node RSSI, mag entities, ultrasound
• Collection other pursuer positions– Alternative channel or LM routing
• Maintain entity map• Execute navigation control• Coordinate strategies
7/14/2003 NEST midterm Demo 33
Mini Demos
7/14/2003 NEST midterm Demo 34
TimeSynch Mini-Demo
• Vanderbilt
7/14/2003 NEST midterm Demo 35
Time Sync• Cross-layer optimization provided by platform• Eliminates typical large variance on send-delay
– Timestamp outgoing msg after mac delay– Timestamp incoming
• UCLA demo’d RBS timesynch• Vanderbilt provided simple multihop direct
method• Example:
– Ring of nodes maintaining exclusive slots
7/14/2003 NEST midterm Demo 36
Sensing Mini-Demo
7/14/2003 NEST midterm Demo 37
Sensing: Magnetometer Detection• Based on a 2 stage amplification with
a potentiometer-controlled bias • Set/Reset circuit
– improved accuracy & no drift • 50 uJ of energy per operation; • 5 mW at 128 Hz • Improved resolution
– 130 uGauss on a 10-bit Atmel ADC – Range - 4 gauss
(Earth's magnetic field = 0.5 gauss)• Software-tunable RC filter
– adaptive sampling and control – allows for sampling between 5MHz (sensor
BW) and 10 Hz without aliasing • Further advances with OSU
techniques
HoneyDot
7/14/2003 NEST midterm Demo 38
Ranging and Localization Mini-Demo
7/14/2003 NEST midterm Demo 39
Ranging Board• Lessons from sounder, UCLA
ultrasound, VU ranging• Dedicated Atmega 8, like motor-
control board• Dual proc TinyOS with UART link• TX
– Command Processor– Generate 25 KHz 10v signal (range)
• RX– Triggered by radio chirp– Analog switch– Starts Atmega 8 timer– Analog compare amplified recv with digital
pot threshold.– Completes timer– Signals time-stamped event
Atmel 8
25 KHz USTransceiver
tone
digital pot
UARTAM channel
Main TinyOS Mote
7/14/2003 NEST midterm Demo 40
Ultra-Sound Ranger
• UCLA Ultra-sound provides good directional ranging– High frequency, high amplitude pulse– PEG requires ranging in the plane– Rob Szewczyk designed variant of UCLA cone
• Vanderbilt showed good acoustic ranging with high sample rate and sophisticated processing– Dual TinyOS approach off-loads sampling
• Relatively simple processing– 5 cm accuracy in the plane– 5 m range
• Demo: display range of roving node ultrasound
reflector
7/14/2003 NEST midterm Demo 41
Localization for Ease of Deployment
• Few anchor nodes at known positions• Range between pairs of nodes• Propagate range estimates to get distance
estimates from anchors• Calculate estimated location from set of anchors
– Least squares fit
• All three of these steps on-mote and entirely distributed
=> behavior of algorithm=> live demonstration on 9-node array outside
7/14/2003 NEST midterm Demo 42
Localization
1
7
3
4
8
9
1415
1310
5
2
11
6
12
7/14/2003 NEST midterm Demo 43
Localization Accuracy
7/14/2003 NEST midterm Demo 44
Localization Accuracy
7/14/2003 NEST midterm Demo 45
Localization Accuracy
7/14/2003 NEST midterm Demo 46
Live Localization Demo
• 3x3 grid with 4 anchors
Red = Anchor
Blue = Actual
Green = Estimated
2-hop
7/14/2003 NEST midterm Demo 47
Routing Mini Demo• Goal: route information to the pursuers• Challenge: pursuers are mobile
– Need to route from one mobile entity (motes near evader) to another (motes near the pursuer)
• Two solutions:– “Landmark routing” -- landmark keeps track of the pursuer
and forwards messages from the evader motes– “Constrained Broadcast” – multicast to possible locations of
the pursuer (Xerox PARC)
7/14/2003 NEST midterm Demo 48
Routing Mini-Demo
• Any-to-one global re-broadcast• Any-to-mobile repeated re-broadcast
7/14/2003 NEST midterm Demo 49
Berkeley Landmark Routing
• Crumb-trail allows landmark to forward to mobile– Avoids repeated re-broadcast
• Question: is this too fragile?
7/14/2003 NEST midterm Demo 50
Statistics
• Bandwidth: #received/sec
• Delivery Rate: # received/# sent
• Energy Cost: # transmissions
• Latency: time received – time sent
7/14/2003 NEST midterm Demo 51
PARC Constrained Broadcast
• Allow sender to initiate global re-broadcast– Only requires limited repeated re-broadcast
• Question: does this still waste too many messages?
7/14/2003 NEST midterm Demo 52
Routing Results
Berkeley PARC• Bandwidth: 5/sec 5/sec
• Delivery Rate: 80% 90%
• Energy Cost: 60/sec 100/sec
• Latency: .5 sec .5 sec
7/14/2003 NEST midterm Demo 53
Closing The Loop:Pursuer Control Overview
GPS
Mote Data Acquisition
Pursuer State Estimator
Motor Controllers
Path Planner
Filtering & Object Identification
Evader State Estimator
Navigation Constraints
Mote Coordinate Transformation
Mote
7/14/2003 NEST midterm Demo 54
Pursuer Control Goals
• Robust to spurious magnetometer readings• Adaptive to different levels of sensor noise ( mote network
and GPS )• Accurately correlate magnetometer readings to self,
evader, or disturbances• Plan route to intercept evader using internal state
estimation of self and evader• Apply hard navigation constraints
– Do not leave the field– Do not crash into the evader
• Information-quality adaptive control– High-noise => slower speed
7/14/2003 NEST midterm Demo 55
Snooping Display• Display / Control Panel represented as stationary
pursuer• For additional detail, snoop on overall network
via high-gain antenna• Simultaneous transmissions may collide only for
display– Spatial reuse within the network
• Visualize– Node positions– Routing tree and crumb trail– Mag fields– Estimated evader and pursuer positions
7/14/2003 NEST midterm Demo 56
Scale of Today’s Demo• Roughly 1/10th scale• 100 nodes in sensor field of 400 m2
– 10x10 grid at 2 m spacing– Radio’s tx power to give about 4m radius– Ranging limit about 3m in grass (10m indoor)– Mag limit about 2 m
» Potentially much greater with OSU signal processing
• Human-driven evader– Rover
• Single Autonomous pursuer• Pre-localized
7/14/2003 NEST midterm Demo 57
Questions
7/14/2003 NEST midterm Demo 58
Thanks• Cory Sharp
• Shawn Schaffert• Phoebus Chen• Phil Levis• Alec Woo• Chris Karlof• Fred Jiang• Naveen Sastry• Rob Szewczyk• Kamin Whitehouse
• Rob von Behren• Joe Polastre• Jaein Jeong• Sukun Kim• Terrence• Neal