Title: GPS-based Navigation in Static and Dynamic Environments
1GPS-based Navigation in Static and Dynamic
Environments
- Masters Thesis Presentation
- Shahid Jabbar
- Institut für Informatik
- Universität Freiburg
- Supervisor PD Dr. Stefan Edelkamp
- Co-supervisor Prof. Dr. Th. Ottmann
2The 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.
3The 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
4What is GPS ?
- A collection of 24 geo-stationary satellites.
- Gives the position of an object in terms of its
longitude, latitude, and height.
5Data Collection
What about the cost of collecting the data ?
6Data Collection
What about the cost of collecting the data ?
We say .
You only need some Bananas.
7Data Collection
8Data format
- ltlongitudegt, ltlatitudegt, ltdategt, lttimegt
- 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
9Not everything that glitters is Gold.Filtering
Rounding
- Kalman Filter
- GPS Information Speed-o-meter reading as the
inertial information gt removes the outliers - Douglas-Peuker Line Simplification Algorithm
- Simplifies a polyline by removing the waving
affect.
10Geometric Rounding Douglas-Peuckers algorithm
resultsusing Hersberger and Snoeyink variant
points T10-7 10-6 10-5 10-4 10-3
1,277 766 558 243 77 22
1,706 1,540 1,162 433 117 25
2,365 2,083 1,394 376 28 7
50,000 48,432 42,218 17,853 4,385 1,185
11Lets sweeeeep Graph Construction
- 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.
12Graph 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
13Where 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 ?
14Where am I ?
- Voronoi Diagram to the rescue!!!
15Node localizationResults
points queries Construc-tion Time Searching Time Naive Searching 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 gt10,000
16My floppy is too small how can I carry this
file ?Graph Compression
17My floppy is too small how can I carry this
file ?Graph Compression
18My floppy is too small how can I carry this
file ?Graph Compression (contd)
19My 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
20I 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
21Accelerating 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
22Accelerating SearchBounding-Box pruning
- In Dijkstra
- u ? DeleteMin(PQ)
- forall v \in adjacent_edges(u)
- if t \in BB(u,v)
- .....
- .....
- endif
- endfor
23Search Models
- Basic model
- Shortest path
- Time model
- Shortest fastest path
- Absolute-time model
- Timed queries
24Accelerating SearchBounding-Box pruningResults
of 200 queries
Nodes Time Expansions Time Expansions
199 0.34 6,596 0.60 19,595
4,391 8.11 65,726 12.88 217,430
25Schade 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.
26Types of Disturbances
Disturbances as Geometrical Objects Model
Individual Edge Model
27Affect 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.
28Affect of disturbances on pre-computed
information
29Graph 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
30Graph update off-line approachin Disturbances
as Geometrical Objects model
Rectangle Intersection Problem or more
precisely Red Blue Rectangle Intersection
Problem
31Exploration 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.
32Exploration 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.
33Exploration time checking on-line approach
34Future Issues
- Handling of large data sets
- The compressed edges should not be considered
straight gt Curved Edges - Visualization of route on a topographic map.
- Bridges gt 3D navigation.
35Thesis download
- http//www.informatik.uni-freiburg.de/jabbar/thes
is.pdf