280 likes | 358 Views
A Relative Positioning System for Co-located Mobile Devices Mike Hazas, Christian Kray, Hans Gellersen, Henoc Agbota, Gerd Kortuem,Computing Department, Lancaster University, United Kingdom MobiSys’05 , 2005, Lancaster University, United Kingdom. Outline. Introduction
E N D
A Relative Positioning System for Co-located Mobile Devices Mike Hazas, Christian Kray, Hans Gellersen, Henoc Agbota, Gerd Kortuem,Computing Department, Lancaster University, United Kingdom MobiSys’05, 2005, Lancaster University, United Kingdom
Outline • Introduction • Relate System Architecture • System evaluation • Conclusion
Introduction • Relate system to enable locate mobile computing devices to establish their spatial relationship • Based on wireless sensor devices dongle • The Relate network is used to coordinate and collect range and angle-of-arrival measurements using ultrasonic signals between the dongles • share information and uses this information to independently establish and maintain a spatial model of the network
Relate Sensor Layer • Relate Dongles - USB connector - ultrasonic transducer x 3 - PIC18F452 microcontroller - RF module
Relate Sensor Layer • Relate Dongles - RFM operating in the 868.35MHz - RF provide communication between the dongles in the relate network - Ultrasonic 1M~25MHz low power and high frequency , can detect location of object
Relate Sensor Layer • Relate Dongle Network - dongle devices communicate over a peer-to-peer network with random access - using TDMA technology - with 13ms packet length and 64 byte payload per packet - using seven slots for data transmission over RF and ultrasonic sensing - Relate-specific protocol function implemented on this network include Relate network discovery and management , coordination of ultrasonic sensing and collection of sensor data
Relate Sensor Layer • Relate Dongle Network - network state as table of device IDs each with a timestamp of their last sighting - when dongle first connect to a network after interrupt protocol cycle and send request packet to sync (dongle network time)
Relate Sensor Layer • Data collection - IDs of the transmitting dongle and receiver dongles - range (distance) and angle-of arrival estimate - receiving number of transducers - timestamp (sighting time)
Relate Sensor Layer • Measurement data - quantitative relationships can be expressed as distance between devices - qualitative relationships describe the relative spatial arrangement of one device with respect to another (left_of ,in_front_of,right_of , moving_away)
Relate Model Layer • Relate model - The Relate model is a list of labelled graphs. - Each graph represents the spatial arrangement of devices in a Relate network in time - represent spatial relationship - share some attribute value of device
Relate Model Layer • Data processing pipelines
Relate Model Layer • Aggregation -the initial pipeline stage generate a new graph at the start of each processing cycle - it continuously reads sensor data packets from USB - each packet represents a measurement described as a six tuple - sensor data aggregation for the current graph until a specified condition met - condition can be time-based (every 100 data packet or every 500 ms) - when the condition is met then current graph is completed
Relate Model Layer • Positioning - to compute quantitative attribute spatial and relation ex. position & orientation - range dij (distance) - angle-of-arrival ψij cosΘ=b(xj.yi)/ dij
Relate Model Layer • Positioning - produces new position and orientation data for all devices represented in the model
Relate Model Layer • Abstraction -abstraction on the quantitative output of the previous stage - relative coordinates are transformed into qualitative relations that encode spatial relationships (left_of ,in_front_of,right_of , moving_away) - computed from the coordinates to partition distances into categories such as nearby or far_from
Relate Model Layer • Inference -compares the set of relations to those contained in previous graphs - generates a set of spatiotemporal relations such as approaching or moving away
Service Layer • Event service - implements an asynchronous communication channel between the model and the application - model event when the spatial model has been change an application subscribe to events informing them to update
Service Layer • Event service - spatial event when the spatial configuration of the relate device change - when distance to another device exceeds - network event applications can register to be notified when a device joins or leaves the network
Service Layer • Query service - Applications can read attribute values of individual nodes or they can get a copy of the entire model - getDeviceList() returns list of all available - devices; getDeviceCoordinates() returns coordinates - of a device; and getDevicesInFront() returns devices in front of the current device
System Evaluation • Raw measurement error
System Evaluation • Successful transmission rate • connectivity between • the five dongles use in the • experiments • a delay of about 450ms • between successive • transmission
System Evaluation • Start-up delay - Twenty “start-up” experiments were performed to explore how long it takes for newly activated dongles to join the Relate network - one host device was random to shut down its dongle. The dongle was then subsequently re-started by the host - In 95% of cases, the other four dongles in the system successfully detected a radio trigger packet from the newly joined dongle within 3.7 s after it was started up
Conclusion • sensor and model layers provide relative location and orientation estimates at an accuracy • establish spatially relationship
Pipeline Process Job1 Job2 Job3 Job1(t)=k.Tk ,Job2(t)=(n-1).Tk Jobn(t)=(k+n-1).tk
Service Layer • Spatial communication service - can be used to disseminate data between Relate devices - getDeviceList() send(host name, msg) sends a message to a device - sendFront(msg) sends a message to all devices currently in front of the local device - sendBeyondDistance(float, msg) sends a message to all devices that are currently more than a specified distance away from the local device