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 !