Mobile Navigation With SVG SVG Open 2005 Christian Schmitt Contents Introduction Contents Indoor positioning systems Pathfinding + Map generator Map viewer + navigation Demo conclusion.
Download
Report
Transcript Mobile Navigation With SVG SVG Open 2005 Christian Schmitt Contents Introduction Contents Indoor positioning systems Pathfinding + Map generator Map viewer + navigation Demo conclusion.
Mobile Navigation With SVG
SVG Open 2005
Christian Schmitt
Contents
Introduction
Contents
Indoor positioning systems
Pathfinding + Map generator
Map viewer + navigation
Demo
conclusion
Indoor Positioning Technologies Overview
Infrared (IR)
Wireless LAN (WLAN)
Ultra-wide band (UWB)
Hybrid solution
Infrared
Principle/Features
IR beacons sending a specific code.
Directed connection.
Range: 80-300 cm
Accuracy: see range
Advantages
Universal
Inexpensive
Basic technology
Disadvantages
Line of sight required
Does not scale very well
Maintenance costs
WLAN
Principle/Features
Fingerprinting based on signal strength
measurements
Accuracy: 3-7 meters
Pros
Use of existing WLAN infrastructure
Most PDAs have WiFi. WiFi tags
Easy to setup
Large area covered
Contras
High power consumption of WLAN card
Poor update rate
Calibration step
Ultra Wide Band
Features
No multipath distortion
Time Difference of Arrival, Angle of Arrival
Accuracy: 15cm
Pros
Accuracy
Good update rate
Contras
Special hardware
Complex Setup
Our hybrid solution
WLAN from Ekahau Inc
Coverage: whole floor
Accuracy: 3 meters
UWB from Ubisense
Coverage: single room
Accuracy: 20 cm
IR from guideID and Eyeled
Coverage: few emitters in front of
pictures
Pathfinding
Introduction
Contents
Indoor positioning systems
Pathfinding + map creation
Map viewer + navigation
Demo
conclusion
SVG Map generation
Problem:
the same SVG map will not render on all
platforms
Solution:
create a common semantic description of the
map together with transformation rules
specific to each platform
Implementation
DTD suitable for room plans
User Interface to define a new map
XSLT transformation to output SVG
A XSLT file for each target platform
The A* algorithm implementation
A* algorithm
Is a graph search algorithm that finds a
shortest path from a given initial node to a
given goal node
Uses an heuristic to direct the search
Cost function is the distance between two
nodes
Implementation
Route computation on client (Windows
Mobile 2003)
Implemented using STL library
Graph stored as text file
Map viewer
Introduction
Contents
Indoor positioning systems
Pathfinding + helper tools
Map viewer + navigation
Demo
conclusion
Viewer functionalities
Zoom in/out, panning
Display of the current position
Selection of a destination and display of
the optimal route
Animations of objects
Support for information browsing on the
map
On the search for perfection
First step:
Personal Java application rendering raster bitmap
Drawbacks:
Raster bitmap: not scalable, high footprint
Java: weak user interface, waste of system
resources, no access to hardware resources
Next step:
Native C++ application rendering SVG.
Which SVG viewer to use ?
Which SVG viewer?
Only two native SVG viewers available for
Windows Mobile-based PDAs:
eSVG and BitFlash
eSVG
eSVG 1.6 license purchased in Mai 2003
Performance issues
Latest version with .NET support
BitFlash
BitFlash SDK license purchased in Spring
2004
Fast rendering and good interaction
capabilities
Using BitFlash SDK
Usage guidelines
Create player instance, load document
Communication with the player via commands and callback functions,
DOM API
Only one thread should access the player at the same time
Example
Zooming in:
BFZoomEvent zoomData;
zoomData.fpFactor = 0x7FFF;//0xcccc; // 1.5 in 16.16 fixed point
zoomData.iCenterX = (BF_INT16)point.x;
zoomData.iCenterY = (BF_INT16)point.y;
int dwWait=WaitForSingleObject(hSVGPlayerSemaphore,INFINITE);
CheckStatus(BFprocessCommand( pPlayer, BF_COMMAND_VIEW_ZOOM,
&zoomData ));
CheckStatus(BFprocessCommand( pPlayer, BF_COMMAND_VIEW_REDRAW, 0
));
ReleaseSemaphore(hSVGPlayerSemaphore,1,NULL);
Integration of positioning technologies
Ekahau/Ubisense
IR
Server: Middleware server connecting to Ekahau and
Ubisense Server, keeping position information up-todate and delivering position data to clients
Client: Location Thread connects to server, parses
messages and refreshes buddy position on map
IR thread is listening on IR port (serial)
IR code found => trigger animation
Issues
Refresh rate (only Orinoco cards provide good results)
Integration
Demo
Demo
Conclusion
Positioning
Appropriate combination of positioning systems needed
to achieve best tradeoff between quality of service and
cost
Indoor navigation is still a very challenging research
topic
SVG
SVG maps are perfect for mobile navigation
Rendering of SVG maps no longer too slow
Future work
Better navigation : audio output and personalized routes
Seemless integration of positioning systems
Tests on Symbian and .NET
Thank you !