Mobile Navigation With SVG Christian Schmitt SVG Open 2005
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: 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 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 Server: Middleware server connecting to Ekahau and Ubisense Server, keeping position information up-to- date and delivering position data to clients Client: Location Thread connects to server, parses messages and refreshes buddy position on map IR IR thread is listening on IR port (serial) IR code found => trigger animation Issues Refresh rate (only Orinoco cards provide good results) Integration
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 !