350 likes | 480 Views
GPS-based Navigation in Static and Dynamic Environments. Master’s Thesis Presentation Shahid Jabbar Institut für Informatik Universität Freiburg Supervisor: PD Dr. Stefan Edelkamp Co-supervisor: Prof. Dr. Th. Ottmann. The big question .. What are we doing here ? Das Problemo.
E N D
GPS-based Navigation in Static and Dynamic Environments Master’s Thesis Presentation Shahid Jabbar Institut für Informatik Universität Freiburg Supervisor: PD Dr. Stefan Edelkamp Co-supervisor: Prof. Dr. Th. Ottmann GPS-based Navigation
The big question .. What are we doing here ?Das Problemo • Digital maps available in the market are very expensive. • Most of those maps do not allow updates. • Not possible to have timed queries. • The travel time can change drastically during different kinds of days like, workdays and holidays … • Can even change during different times of a day like, from 8 to 9 AM as compared to 10 to 11 PM. Shahid Jabbar
The big question .. What are we doing here ?The Solution • Why not let people make their own maps that they can query and update ? • But how ? • How to collect the data ? • How to process that data ? Global Positioning System (GPS) Receiver + Computational Geometry Shahid Jabbar
What is GPS ? • A collection of 24 geo-stationary satellites. • Gives the position of an object in terms of its longitude, latitude, and height. Shahid Jabbar
Data Collection What about the cost of collecting the data ? Shahid Jabbar
Data Collection What about the cost of collecting the data ? We say …. You only need some Bananas. Shahid Jabbar
Data Collection Shahid Jabbar
Data format <longitude>, <latitude>, <date>, <time> 48.0070783, 7.8189867, 20030409, 100156 48.0071067, 7.8190150, 20030409, 100158 48.0071850, 7.8191400, 20030409, 100200 48.0071650, 7.8191817, 20030409, 100202 48.0071433, 7.8191867, 20030409, 100204 48.0071383, 7.8191883, 20030409, 100206 48.0071333, 7.8191917, 20030409, 100208 48.0071317, 7.8191917, 20030409, 100212 Shahid Jabbar
Not everything that glitters is Gold.Filtering + Rounding • Kalman Filter • GPS Information + Speed-o-meter reading as the inertial information => removes the outliers • Douglas-Peuker Line Simplification Algorithm • Simplifies a polyline by removing the waving affect. Shahid Jabbar
Geometric Rounding Douglas-Peucker’s algorithm resultsusing Hersberger and Snoeyink variant Shahid Jabbar
Some of them might be intersecting Road crossings!!! Lets sweeeeep …Graph Construction • We have multiple traces. • We need to convert them into a graph to be able to apply different graph algorithms e.g. shortest path searching • Seems very simple, just convert: Point Vertex • Segment Edge • Bentley - Ottmann Line Segment Intersection Algorithm. Shahid Jabbar
we are very much dependent on k Graph Construction Results of Line sweep Shahid Jabbar
Where am I ? • I am at building 101 and I want to go to CinemaxX. • Schade!!! I have no existing trace that pass through building 101. • What to do ? Hmmmm …interesting problem • How about going to the nearest place that is in my existing traces ? Shahid Jabbar
Where am I ? • Voronoi Diagramto the rescue!!! Shahid Jabbar
Node localizationResults Shahid Jabbar
My floppy is too small … how can I carry this file ?Graph Compression Shahid Jabbar
My floppy is too small … how can I carry this file ?Graph Compression Shahid Jabbar
My floppy is too small … how can I carry this file ?Graph Compression (contd…) Shahid Jabbar
My floppy is too small … how can I carry this file ?Graph Compression (contd…)Results of Graph Compression Shahid Jabbar
I have to reach CinemaxX ASAP .. What to do ?Search • Dijkstra – Single-Source shortest path. • A* - Goal directed Dijkstra • Number of queries is much more than the updates. • How about pre-computing some information ? • How about running All-pairs shortest path algorithm and saving all the paths: • Nope … O(n²) space Shahid Jabbar
Accelerating SearchBounding-Box pruning (Wagner, Willhalm) • With every edge, save a bounding box that contains at least all the nodes that can be reached on a shortest path originating from that particular edge. 9,24 Shahid Jabbar
Accelerating SearchBounding-Box pruning • In Dijkstra • u DeleteMin(PQ) • forallv \in adjacent_edges(u) • if t \in BB(u,v) ..... ..... • endif • endfor Shahid Jabbar
Search Models • Basic model • Shortest path • Time model • Shortest + fastest path • Absolute-time model • Timed queries Shahid Jabbar
Accelerating SearchBounding-Box pruningResults of 200 queries Shahid Jabbar
Schade MeldungDynamics • Disturbances on road: A road accident or a traffic jam • A road not usable at all Edge weight = +inf • Probably one lane of the road is still opened Edge weight increases by some delta • Consequence: • The pre-computed information becomes invalid and useless. • Re-computing bounding boxes is very expensive. • This disturbance is temporary. Shahid Jabbar
Types of Disturbances Disturbances as Geometrical Objects Model Individual Edge Model Shahid Jabbar
Affect of disturbances on pre-computed information • Which information has become invalid ? • Everything ? • Nope, only those bounding boxes that have intersections with affected edges are potentially affected. Shahid Jabbar
Affect of disturbances on pre-computed information Shahid Jabbar
Graph update – off-line approach • Introduce the affect of disturbances on the graph • Simple for Individual Edge model – just increase the edge weight of the affected edge. • A bit complex for Disturbances as Geometrical Object model. • Problem: We need all the edges that are covered by a rectangle. • Solution: WindowQuery using Segment trees • Perform search on the updated graph • Use pruning information only if it is not affected Shahid Jabbar
Graph update – off-line approachin Disturbances as Geometrical Objects model Rectangle Intersection Problem or more precisely Red – Blue Rectangle Intersection Problem Shahid Jabbar
Exploration time checking – on-line approach Observations: • Since the weights are always increased, if the shortest path is not affected, it remains to be the shortest path. • It is possible that some of the constraints have terminated and no longer be there by the time the mobile object will reach that area. Shahid Jabbar
Exploration time checking – on-line approach General Strategy: Before exploring an edge e, check if e is affected or not • if e is affected then check whether the constraints would be valid by the time e would be traversed. • if constraints are valid then declare the search procedure as invalid and use standard Dijkstra or A*. • else continue. • else continue. Shahid Jabbar
Exploration time checking – on-line approach Shahid Jabbar
Future Issues • Handling of large data sets • The compressed edges should not be considered straight => Curved Edges • Visualization of route on a topographic map. • Bridges => 3D navigation. Shahid Jabbar
Thesis download • http://www.informatik.uni-freiburg.de/~jabbar/thesis.pdf Shahid Jabbar