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 1 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. GPS-based Navigation Shahid Jabbar 2 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 GPS-based Navigation Shahid Jabbar 3 What is GPS ? A collection of 24 geo-stationary satellites. Gives the position of an object in terms of its longitude, latitude, and height. GPS-based Navigation Shahid Jabbar 4 Data Collection What about the cost of collecting the data ? GPS-based Navigation Shahid Jabbar 5 Data Collection What about the cost of collecting the data ? We say …. You only need some Bananas. GPS-based Navigation Shahid Jabbar 6 Data Collection GPS-based Navigation Shahid Jabbar 7 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 GPS-based Navigation Shahid Jabbar 8 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. GPS-based Navigation Shahid Jabbar 9 Geometric Rounding Douglas-Peucker’s algorithm results using Hersberger and Snoeyink variant #points Θ=10-7 10-6 10-5 10-4 10-3 1,277 766 558 243 77 22 1,706 2,365 1,540 2,083 1,162 1,394 433 376 117 28 25 7 50,000 48,432 42,218 17,853 4,385 1,185 GPS-based Navigation Shahid Jabbar 10 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 Some of them might be intersecting Road crossings!!! •Bentley - Ottmann Line Segment Intersection Algorithm. GPS-based Navigation Shahid Jabbar 11 Graph Construction Results of Line sweep # GPS Points # Nodes in Graph Time to sweep 1,277 1,473 0.42 1,706 1,777 0.27 2,365 2,481 0.37 50,000 54,267 11.13 GPS-based Navigation Shahid Jabbar we are very much dependent on k 12 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 ? GPS-based Navigation Shahid Jabbar 13 Where am I ? Voronoi Diagram to the rescue!!! GPS-based Navigation Shahid Jabbar 14 Node localization Results # points Naive Construc- Searching # queries Searching tion Time Time Time 1,277 1,277 0.10 0.30 12.60 1,706 1,706 0.24 0.54 24.29 2,365 2,365 0.33 1.14 43.3 50,000 50,000 13.73 14.26 >10,000 GPS-based Navigation Shahid Jabbar 15 My floppy is too small … how can I carry this file ? Graph Compression GPS-based Navigation Shahid Jabbar 16 My floppy is too small … how can I carry this file ? Graph Compression GPS-based Navigation Shahid Jabbar 17 My floppy is too small … how can I carry this file ? Graph Compression (contd…) GPS-based Navigation Shahid Jabbar 18 My floppy is too small … how can I carry this file ? Graph Compression (contd…) Results of Graph Compression # Nodes # Compressed Nodes Time 1,473 199 0.01 1,777 74 0.02 2,481 130 0.03 54,267 4,391 0.59 GPS-based Navigation Shahid Jabbar 19 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 GPS-based Navigation … O(n²) space Shahid Jabbar 20 Accelerating Search Bounding-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. b3 b2 t e3 b1 b5 e2 e1 e4 e5 b4 s 9,24 GPS-based Navigation Shahid Jabbar 21 Accelerating Search Bounding-Box pruning In Dijkstra u DeleteMin(PQ) forall v \in adjacent_edges(u) if t \in BB(u,v) ..... ..... endif endfor GPS-based Navigation Shahid Jabbar 22 Search Models Basic model Shortest path Time model Shortest + fastest path Absolute-time model Timed queries GPS-based Navigation Shahid Jabbar 23 Accelerating Search Bounding-Box pruning Results of 200 queries #Nodes Time + Expansions + 199 0.34 6,596 0.60 19,595 4,391 8.11 65,726 12.88 217,430 GPS-based Navigation Shahid Jabbar Time Expansions – – 24 Schade Meldung Dynamics 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. GPS-based Navigation Shahid Jabbar 25 Types of Disturbances Area affected by a disturbance Affected Edge Disturbances as Geometrical Objects Model Individual Edge Model GPS-based Navigation Shahid Jabbar 26 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. GPS-based Navigation Shahid Jabbar 27 Affect of disturbances on pre-computed information b3 b2 t e3 b1 b5 e2 e1 e4 e5 b4 s GPS-based Navigation Shahid Jabbar 28 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 GPS-based Navigation Shahid Jabbar 29 Graph update – off-line approach in Disturbances as Geometrical Objects model b3 b2 t e3 b1 b5 e2 e1 e4 e5 b4 s Rectangle Intersection Problem or more precisely Red – Blue Rectangle Intersection Problem GPS-based Navigation Shahid Jabbar 30 Exploration time checking – on-line approach Observations: 1. Since the weights are always increased, if the shortest path is not affected, it remains to be the shortest path. 2. 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. GPS-based Navigation Shahid Jabbar 31 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. GPS-based Navigation Shahid Jabbar 32 Exploration time checking – on-line approach v e u Disturbances s GPS-based Navigation Shahid Jabbar 33 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. GPS-based Navigation Shahid Jabbar 34 Thesis download http://www.informatik.uni-freiburg.de/~jabbar/thesis.pdf GPS-based Navigation Shahid Jabbar 35