480 likes | 595 Views
Spezialvorlesung Suchalgorithmen. Thema: Routenplanung Stefan Edelkamp. Struktur des Buchs. Überblick. Navigation in Vektorkarten Navigation in GPS-Karten Geometrischer Ansatz Filterung und Kartenerzeugung Lokalisation und Kompression Vorverarbeitung und Containersuche
E N D
SpezialvorlesungSuchalgorithmen Thema: Routenplanung Stefan Edelkamp
Überblick • Navigation in Vektorkarten • Navigation in GPS-Karten • Geometrischer Ansatz • Filterung und Kartenerzeugung • Lokalisation und Kompression • Vorverarbeitung und Containersuche • Inkrementeller Ansatz • Simulation • Kartenerzeugung
Kartennavigation Hauptspeicher-problematik (TwixTel): Karten zu groß Vektorkarten wie TeleAtlas, NAVTEC lassen sich natürlich gliedern in Kacheln 9th DIMACS Challenge
GPS-Navigation • Auf dem Markt erhältlichen digitalen Karten sind teuer • Die meisten Karten sind statisch • Es ist nicht möglich, zeitgenaue Anfragen zu stellen. • Die Reisezeit kann zwischen verschiedenen Tagen (Werktag, Urlaubszeit) deutlich variieren, oder • zu verschiedenenTageszeiten, z.B 8 bis 9 Uhr morgensim Vergleich zu 10 bis 11 Uhr abends
Map-Matching Punkt-Kurve Punkt-Punkt Kurve-Kurve Projektion
Filter • Kalman Filter • GPS Spuren + Tachoaufnahmen sind inertiale Informationen Eliminiere “outliers” • Douglas-Peuker Linienvereinfachungsalgorithmus • Vereinfache Polyline durch Löschen von “Wellen”
Geometric Rounding Douglas-PeuckerAlgorithmus(Hersberger and Snoeyink Variante)
Allerdings gibt es Schnitte z.B. Straßenkreuzungen!!! Graphkonstruktion • Wir • haben mehrere Spuren. • müssen in einen Graphen konvertiert werden um tradi-tionalle Graphalgorithmen zu starten • Eigentlich einfacher Ansatz: Punkt Knoten • Segment Kante • Bentley - Ottmann Liniensegmentschnittalgorithmus
we are very much dependent on k Graphkonstruktion Resultate
Wo bin ich? • Ich bin an Stelle x und will nach y • Schade! Ich habe keine Spur die x (bzw. y) kreuzt. • Was ist zu machen? Hmmmm …interesantes Problem • Wie ist es mit dem nächsten GPS Punktin (m)einer Umgebung?
Wo bin ich? • Voronoi Diagram löst das problem!!!
Suche • Dijkstra – Kürzeste-Wege-Suche. • A* - Ziel-gerichtes Dijkstra Annahme: Anzahl Anfrage >> Anzahl Aktualisierungen • Wie wäre es mit einer Vorberechnung kürzesten Wege? • All-pairs shortest path? • Nein … O(n²) Platz
ContainersucheBounding-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
ImplementierungBounding-Box Pruning • In Dijkstra • u DeleteMin(PQ) • forallv \in Nachfolger(u) • if t \in BB(u,v) ..... ..... • endif • endfor
Suchmodelle • Basismodell • Kürzeste Wege • Zeitmodell • Kürzeste + schnellste Wege • Absolutzeitmodell • Zeitliche Anfragen
Dynamische Elemente • Unfall oder Stau • Sperrung Kantengewicht = unendlich • Sperrung einer Straßenpur Kantengewicht erhöht sich um ein delta • Einige Konsequenzen: • Vorberechneten Informationen werden nutzlos • Neuberechnung Bounding Boxes ist sehr teuer. • Informationen sind zeitlich begrenzt.
Typen von Veränderungen Geometrische Objekte Einzelne Kanten
Effekt auf vorausberechnete Informationen • Welche Information wird ungültig? • Alle? • Nein, nur die Bounding Boxes, die einen Schnitt mit den beteiligten Kanten haben, sind Kandidaten.
Graphaktualisierung – Off-line Ansatz • Effekt von Graphveränderungen • Einfach für einzelne Kanten – erhöhe das Kantengewicht der beteiligten Kante • Ein “wenig” komplex bei geometrischen Veränderungen. • Problem: Wir benötigen alle Kanten, die durch ein Rechteckabgedeckt werden. • Lösung: WindowQuerymit Segmentbäumen • Suche im aktualisierten Graph • Nutze Beschneidungsinformation nur, falls sich die nicht verändert hat
Graphaktualisierung – off-line Ansatz Veränderungena als Geometrische Objekte Rechteckschnittproblem, genauer Rot – Blau Rechteckschnittproblem
On-line Ansatz Beobachtungen: • Da die Gewichte nur erhöht werden gilt, wenn der kürzeste Weg nicht selbst betroffen ist, bleibt er der kürzeste • Es ist möglich, dass manche Constraints sich während der Fahrt ändern.
Lösung • Warum lassen wir nicht Menschen ihre eigenen Karten machen, • die nach eigenen Kriterien durchsucht werden können • die dynamisch aktualisiert werden köennen. • die auf Hand-Held Computern laufen. • 4 eigenständige, durchaus nützliche Systeme • Weiterentwicklung von SUMO am DLR • Weiterentwicklung von GPS-Routingserver • Neuentwicklung von Map-Generation • Neuentwicklung von PDA Navigations-Software
Weitere Einzelheiten • Handhabung großer Datenmengen • Komprimierte Kurven sollten nicht als gerade gelten Raumkurven als Kanten • Visualisierung einer Route auf einer topographischen Karte. • Brücken 3D Navigation.
Architektur eines GPS-Routenplanungssystems Route Planning Input Start / End points Request for the graph Start / End Points Path Graph Map Generation PDA Disturbances GPS Traces Data points Over TCP/IP Output Path Simulation Vectorization Simulation Data Points Raster Maps