Title: Location of Mobile Devices Using Networked Surfaces James Scott Frank Hoffmann jamesscott@acm.orgfh215@cam.ac.uk http://www-lce.eng.cam.ac.uk/
1 Location of Mobile Devices Using Networked
Surfaces James Scott Frank Hoffmann
jamesscott_at_acm.org fh215_at_cam.ac.ukhttp//www-l
ce.eng.cam.ac.uk/
2Overview
- Quick intro to Networked Surfaces
- Location process
- Simulations, measurements and visualisations
- Improving accuracy
- Applications
3Networked Surfaces Concept
- Provide network connectivity using physical
surfaces - Such as desks, floors, etc.
- Make use of gravity
- No plug no special position/alignment required
- Provides mobility for devices
- Offers transparency of connection for users
- Support a range of services
- Ethernet-style inter-computer networks
- Slower serial busses for peripherals
- Power
4Networked Surfaces Implementation
- Augment surface and objects with conductive pads
- Different object footprints guarantee different
numbers of channels - When connecting, pad mappings are discovered
- Prototype characteristics
- PCMCIA interface to notebooks
- Connection in 0.2s
- Disconnection in 0.1s
- 5Mbit/s networking
5Prototype Photo
6Object Pad Configurations
Links Required Object Pads Footprint Diameter (mm)
2 5 26
3 9 46
4 12 68
5 16 88
6 19 110
7Location Process
8Location Algorithm
9Location Characteristics
- Location available for 100 of connected objects
- Expect guarantee of bounded maximum error
- Algorithm is fast 1ms on modest hardware
- Tested using simulations, measurements and
visualisation
10Simulations
- Simulation process
- Simulate random placement
- Calculate pad mappings
- Execute location algorithm
- Compare result with original placement
- Allows fast testing of many placements
- 1,000,000 locations tested for each data point
- Other advantages
- Testing of various footprints
- Evaluation of possible improvements
11Simulation Results
12Comparison with Measurements
Variable Mean Simulated Error Mean Measurement Error Difference
X 15mm 13mm 2mm
Y 3.6mm 3.0mm 0.6mm
(X,Y) vector 16mm 14mm 2mm
? 7.8 6.3 1.5
- 50 manual measurements
- 4 link object
- Est. 5mm accuracy
- Results very close to simulation
13Visualisation Tool
- Circle shows est. position, rectangle shows
bounds - Lines show est. orientation and max orientation
range - Y accuracy gtgt X accuracy
- 2 column accuracy gtgt
- 1 column accuracy
14Improving Location Accuracy
- Current prototype does not provide full pad
mapping info - Only as many links as necessary, and only one
object pad per link - Can augment with information on Duplicate Pads
- For each surface pad used, list all object pads
touching it (instead of just one) - Can also augment with information on All Links
- Provide mappings for all surface pads sensed, not
just those used for connection - Possible to implement in current prototype
- Changes only required in FPGA programs, not in
hardware - Use simulation to test improved performance
15Improved Simulations (X,Y) vector
16Improved Simulations Orientation
17Integration and Applications
- Integration with context-aware middlewares
- E.g. QoS DREAM Flame, SPIRIT (both at LCE)
- APP Auto-configuration of devices
- Automatically connect devices appropriately
- e.g. keyboard connects to closest monitor
- APP Interface mobility
- Remote interfaces using devices with better I/O
hardware - e.g. ad-hoc docking station for a notebook
computer
18Conclusions
- Networked Surface prototype is capable of
locating devices with a mean error of 8mm and 2º - Also guarantees maximum errors of 32mm and 9º
- Beats most dedicated location systems!
- Many useful applications, including
surface-centric ones
19Applications Continued
- Ubiquitous interfaces using Networked Surfaces
- Use location as user input and device as
pointer - Position, orientation, vector of movement, and
velocity can all be provided - Outputs using the capabilities of the devices
themselves, or - Direct HCI with Surfaces
- Use pressure sensors in the Surface for input,
LEDs for output - Can interact with users directly
- e.g. Confirmation dialogues
- Huge application space