NEST Midterm Wireless OEP Demo David Culler Eric Brewer, David Wagner Shankar Sastry NEST PI Meeting July 14, 2003 Role of MidTerm demo in the program Challenge Application composition services coordination synthesis services services SW platform HW platform sensors actuators processing storage communication 7/14/2003 NEST midterm Demo 2 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 3 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 4 Overview of the midterm demo 7/14/2003 NEST midterm Demo 5 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 6 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 7 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 8 Entry Detection and Tracking • Power management, Distributed sensing, sentry service (UVA), multihop N-1 routing 7/14/2003 NEST midterm Demo 9 Pursuer Challenges • Multiple entities in the field – Disambiguation? • Mobile destination, multicast “upward” • Navigation, control, … 7/14/2003 NEST midterm Demo 10 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 11 Routing Service Challenge • Mobile ad hoc routing (eg, MANET) have focused on any-toany 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 12 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 13 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, STOP Alternative Control Services: OSU 7/14/2003 NEST midterm Demo 14 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 15 OEP2 Hardware Platform • Main board: Mica2 dot – – – – Atmega microcontroller, Flash, clock CC1000 frequency agile FSK radio Small form-factor Xbow based on Mica acoustic • 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 mag ultrasound dot • Ranging boards – UltraSound – Acoustic • Enclosure • Corresponding Micro-climate and occupancy detector “stack 7/14/2003 NEST midterm Demo 16 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 17 Enclosure Design reflector Exposed components Watertight compartment ultrasound main mag sense power battery Collision absorption 7/14/2003 NEST midterm Demo 18 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 19 Higher-Level Node Service Architecture Localization Span Tree Route test Mag position appln services Service Coordination Power ctrl routing Reset nbr-hood messaging sense Mgmt Network services Net pgming Config Timer Intra-mote services Hardware abstraction 7/14/2003 NEST midterm Demo 20 TinyOS Core Components Localization Span Tree Route test Mag position Service Coordination Power ctrl routing Reset nbr-hood messaging sense • Network Stack Mgmt Net pgming Config Timer Hardware abstraction 7/14/2003 NEST midterm Demo – ChipCon – UART – I2C • Magnetometer • Abstract Timer – One-shot – periodic 21 Configuration Service Localization Span Tree Route test Mag position Service Coordination Power ctrl routing Reset nbr-hood messaging sense Mgmt Net pgming Config Timer Hardware abstraction 7/14/2003 NEST midterm Demo • Query & Set variables • Any service can register ‘config’ variable • Late binding • Limited virtualization 22 Routing Localization Span Tree Route test Mag position Service Coordination Power ctrl routing Reset nbr-hood messaging sense Mgmt Net pgming Config • • • • Protocol stack Outbound queue Multihop Broadcast Timer Hardware abstraction 7/14/2003 NEST midterm Demo 23 Neighborhood Tuple Space id var1 var2 Localization Span Tree Route test var3 Mag position Service Coordination Power ctrl routing Reset nbr-hood messaging sense Mgmt Net pgming Config Timer Hardware abstraction 7/14/2003 NEST midterm Demo • Data sharing abstraction • Per-node logical tuple space – Get/Set field • Abstract neighbor relation • Flexible publish/sync policy 24 Power Control Service Localization Span Tree Route test Mag position Service Coordination Power ctrl routing Reset nbr-hood messaging sense Mgmt Net pgming Config Timer • Provides start/stop/awake control for each component • Protocol and sequencing Hardware abstraction 7/14/2003 NEST midterm Demo 25 Reset and Mgmt Services Localization Span Tree Route test Mag position Service Coordination Power ctrl routing Reset nbr-hood messaging sense Mgmt Net pgming Config Timer Hardware abstraction 7/14/2003 NEST midterm Demo • Service protocol to bring components to a clean, initialized state • Health and status commands – Blink – ping 26 Service Coordination Localization Span Tree Route test Mag position Service Coordination Power ctrl routing Reset nbr-hood messaging sense Mgmt Net pgming Config Timer Hardware abstraction Schedule application services and underlying resources • Provides start/stop • One AS active at any time • Additional constraints – Mag/Msg interaction 7/14/2003 NEST midterm Demo 27 Localization Service Localization Span Tree Route test Mag position Service Coordination Power ctrl routing Reset nbr-hood messaging sense Mgmt Net pgming Config Timer Hardware abstraction 7/14/2003 NEST midterm Demo • Build field-relative coordinate grid • Range measurements • Propagate to determine multihop ranges from anchors • Compute estimated positions 28 Spanning Tree Service Localization Span Tree Route test Mag position Service Coordination Power ctrl routing Reset nbr-hood messaging sense Mgmt Net pgming Config Timer • Build routing tree (forest) from Landmark nodes • Low-contention, signal-strength determined tree • New bcast Hardware abstraction 7/14/2003 NEST midterm Demo – Collect readings till quiet – Filter based on RSSI – Min hop (filtered) with max strength – Retransmit after delay 29 Routing Test Service Localization Span Tree Route test Mag position Service Coordination Power ctrl routing Reset nbr-hood messaging sense Mgmt Net pgming Config • Route from node A to B via landmark • Execute mgmt cmd Timer Hardware abstraction 7/14/2003 NEST midterm Demo 30 Mag Service Localization Span Tree Route test Mag position Service Coordination Power ctrl routing Reset nbr-hood messaging sense Mgmt Net pgming Config Timer Hardware abstraction 7/14/2003 NEST midterm Demo • Collect mag stream • EWA into threshold detector • Bcast in trigger • Leader election • Estimate position as center of mass • Route via landmark to EA 31 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 32 Mini Demos 7/14/2003 NEST midterm Demo 33 TimeSynch Mini-Demo • Vanderbilt 7/14/2003 NEST midterm Demo 34 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 35 Sensing Mini-Demo 7/14/2003 NEST midterm Demo 36 Sensing: Magnetometer Detection • Based on a 2 stage amplification with a potentiometer-controlled bias • Set/Reset circuit – improved accuracy & no drift HoneyDot • 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 7/14/2003 NEST midterm Demo 37 Ranging and Localization Mini-Demo 7/14/2003 NEST midterm Demo 38 Ranging Board • Lessons from sounder, UCLA ultrasound, VU ranging • Dedicated Atmega 8, like motorcontrol 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 7/14/2003 NEST midterm Demo 25 KHz US Transceiver tone Atmel 8 digital pot UART AM channel Main TinyOS Mote 39 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 7/14/2003 NEST midterm Demo reflector ultrasound 40 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 41 Localization 13 10 15 14 12 11 9 5 7 6 8 3 2 1 7/14/2003 4 NEST midterm Demo 42 Localization Accuracy 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 Live Localization Demo • 3x3 grid with 4 anchors Red = Anchor Blue = Actual Green = Estimated 2-hop 7/14/2003 NEST midterm Demo 46 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 47 Routing Mini-Demo • Any-to-one global re-broadcast • Any-to-mobile repeated re-broadcast 7/14/2003 NEST midterm Demo 48 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 49 Statistics • Bandwidth: #received/sec • Delivery Rate: # received/# sent • Energy Cost: # transmissions • Latency: 7/14/2003 time received – time sent NEST midterm Demo 50 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 51 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 52 Closing The Loop: Pursuer Control Overview Mote Data Acquisition GPS Filtering & Object Identification Mote Coordinate Transformation Evader State Estimator Pursuer State Estimator Mote Motor Controllers 7/14/2003 NEST midterm Demo Navigation Constraints Path Planner 53 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 54 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 – – – – 7/14/2003 Node positions Routing tree and crumb trail Mag fields Estimated evader and pursuer positions NEST midterm Demo 55 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 56 Questions 7/14/2003 NEST midterm Demo 57 Thanks • Cory Sharp • • • • • • • • • Shawn Schaffert Phoebus Chen Phil Levis Alec Woo Chris Karlof Fred Jiang Naveen Sastry Rob Szewczyk Kamin Whitehouse 7/14/2003 • • • • • • Rob von Behren Joe Polastre Jaein Jeong Sukun Kim Terrence Neal NEST midterm Demo 58