DE102010040730A1 - System und Verfahren für mehrfach aufgelöste Routenplanung - Google Patents

System und Verfahren für mehrfach aufgelöste Routenplanung Download PDF

Info

Publication number
DE102010040730A1
DE102010040730A1 DE102010040730A DE102010040730A DE102010040730A1 DE 102010040730 A1 DE102010040730 A1 DE 102010040730A1 DE 102010040730 A DE102010040730 A DE 102010040730A DE 102010040730 A DE102010040730 A DE 102010040730A DE 102010040730 A1 DE102010040730 A1 DE 102010040730A1
Authority
DE
Germany
Prior art keywords
resolution
route
generator
routes
low
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE102010040730A
Other languages
English (en)
Other versions
DE102010040730B4 (de
Inventor
Dane White
Erik Freed
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Primordial Inc
Original Assignee
Primordial Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Primordial Inc filed Critical Primordial Inc
Publication of DE102010040730A1 publication Critical patent/DE102010040730A1/de
Application granted granted Critical
Publication of DE102010040730B4 publication Critical patent/DE102010040730B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3446Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Navigation (AREA)

Abstract

Ein System, Verfahren und Computerprogrammprodukt zum effizienten Erzeugen von Fahrtrouten auf der Straße und im Gelände unter Verwendung von mehrfach aufgelösten Karten, die einen Kartengenerator (108), eine Kartendatenbank (106), einen Routengenerator (100), einen Heuristikgenerator (102) und einen Search-Envelope-Faktorgenerator (104) umfassen. Der Kartengenerator (108) wandelt Eingangsraster- und Vektorkartendaten in mehrfach aufgelöste Ausgangsrasterkartendaten um, die für die Routenplanung geeignet sind, und speichert sie in der Kartendatenbank (106). Der Routengenerator (100) verwendet die Kartendatenbank (106), um eine Route mit einer groben Zoomstufe zu erzeugen und die Route dann mit fortschreitend höheren Zoomstufen neu zu erzeugen. Der Heuristikgenerator (102) benachteiligt hoch aufgelöste Routen, die zu weit von einer oder mehreren nieder aufgelösten Routen abweichen. Der Search-Envelope-Faktorgenerator (104) berechnet diese Benachteiligung basierend auf der Entfernung eines gegebenen Suchgraphikknoten zu den nieder aufgelösten Routen.

Description

  • Gebiet der Erfindung
  • Diese Erfindung betrifft die Navigation, um insbesondere auf der Straße und im Gelände unter Verwendung von mehrfach aufgelösten Karten effizient Fahrtrouten zu erzeugen.
  • Diskussion des Hintergrunds
  • Die US-Patente 6 963 800 („Routing soldiers around enemy attacks and battlefield obstructions”) und 7 756 635 („Method and System for Generating and Presenting Off-Road Travel Routes”) von Randy Milbert bahnten den Weg für die automatisierte Routenplanung im Gelände. Sie ermöglichten Soldaten und Zivilisten gleichermaßen, Routen durch jedes beliebige Gelände – Wüste, Dschungel, bergiges, städtisches – auf oder abseits der Straßen zu planen.
  • Während die Routenplanung auf der Straße auf eine relativ spärliche Graphik beschränkt ist – man kann an einer typischen Kreuzung nur nach links, rechts oder geradeaus gehen – führt die Routenplanung im Gelände zu ungeheuer dichteren Graphiken, weil man an jedem Punkt einen Freiheitsgrad von 360 Grad hat.
  • Eine beispielhafte Ausführungsform, die in den US-Patenten 6 963 800 und 7 756 635 beschrieben ist, verwendet A* (siehe Seiten 93 bis 99 von „Artificial Intelligence: A Modem Approach, Third Edition" von Stuart Russel und Peter Norvig), um diese Routen im Gelände zu erzeugen. A*s Rechengeschwindigkeit und Speichernutzung sind vielen alternativen Wegsuchalgorithmen, wie etwa der Breiten- und Tiefensuche, weit überlegen, aber A* ist immer noch nicht in der Lage, schnell lange Routen im Gelände mit hoher Qualität auf ressourcenbeschränkten Plattformen, wie etwa Mobiltelefonen oder persönlichen Navigationsvorrichtungen (PNDs), zu erzeugen.
  • Speicherbegrenzte Varianten von A* (siehe Seiten 101 bis 102 von „Artificial Intelligence: A Modern Approach, Third Edition"), wie etwa ein vereinfachter speicheroptimierter A* (SMA*) verringern den Speicherverbrauch und halten die Optimalität unter Verwendung einer zulässigen Heuristik aufrecht, aber sie opfern Leistung. Alle Knoten, die von A* untersucht werden, werden auch durch SMA* untersucht, auf ressourcenbeschränkten Plattformen können einfach einige von ihnen vorübergehend aus dem Speicher entfernt werden.
  • Anytime-Varianten von A*, wie etwa Anytime Repairing A* (ARA) (siehe "ARA*: Anytime A* with Provable Bounds an Sub-Optimality" von Maxim Likhachev, Geoff Gordon und Sebastian Thrun) verringern auch den Speicherverbrauch und halten die Optimalität bei einer gegebenen zulässigen Heuristik aufrecht, aber sie opfern ebenfalls Leistung, wenn man sie bis zum Abschluss laufen lässt. In diesem Fall untersucht ARA* wenigstens so viele Knoten wie A*. Sein Vorteil ist, dass er einem ermöglicht, verbesserungsfähige Routen mit begrenzten Fehlern zu erhalten, während die Routenerzeugung voranschreitet.
  • Ein anderer Ansatz (siehe „An optimal pathfinder or vehicles in real-world digital terrain maps" von F. Markus Jönsson) erzeugt eine unterabgetastete Version der Graphik, erzeugt eine grobe Route und teilt die grobe Route in Segmente, erzeugt unter Verwendung der Segmentendpunkte feine Routen und heftet dann die feinen Routen zusammen. Wiederum verringert diese Lösung den Speicherverbrauch. In einigen Fällen verringert er auch die Rechenzeit, weil es schneller ist, mehrere kurze Routensegmente zu erzeugen als eine lange vollständige Route. Dieser Ansatz hat jedoch einen erheblichen Nachteil in der Hinsicht, dass er Routen mit Einbindepunkten erzeugt, an denen die feinen Routen zu den groben Segmentendpunkten gezeichnet wurden, die in einem unerwünschten Gelände sein können.
  • Keine dieser vorhandenen Lösungen ist fähig, schnell lange Routen mit hoher Qualität im Gelände auf ressourcenbeschränkten Plattformen zu erzeugen.
  • Zusammenfassung der Erfindung
  • Die vorliegende Erfindung ist ein computerimplementiertes Verfahren zum effizienten Erzeugen von Fahrtrouten auf der Straße und im Gelände unter Verwendung von mehrfach aufgelösten Karten. Eine beispielhafte Ausführungsform der Erfindung umfasst einen Kartengenerator, eine Kartendatenbank, einen Routengenerator, einen Heuristikgenerator und einen Search-Envelope- bzw. Suchhüllen-Faktorgenerator.
  • Eine beispielhafte Ausführungsform des Kartengenerators wandelt Eingangsrasterdaten und Vektorkartendaten in mehrfach aufgelöste Rasterkartendaten, die für die Routenplanung geeignet sind, um. Wenn die Eingangsvektorkartendaten lineare Merkmale enthalten, welche die Routenplanung beeinflussen (z. B. Umzäunungen, Straßen, Flüsse und Pfade), zeichnet der Kartengenerator diese Merkmale mit einer festen Breite auf allen Zoomstufen in die Ausgangsrasterkartendaten.
  • Eine beispielhafte Ausführungsform des Routengenerators erzeugt eine Route mit einer groben Zoomstufe und erzeugt die Route dann mit fortschreitend höheren Zoomstufen neu. Bei diesen höheren Zoomstufen verwendet der Routengenerator die auf der vorhergehenden Zoomstufe erzeugte Route, um den Suchbereich auf der aktuellen Zoomstufe zu begrenzen. Insbesondere benachteiligt der Routengenerator Kandidatenrouten auf der aktuellen Zoomstufe, die zu weit von der Route abweichen, die auf der vorhergehenden Zoomstufe erzeugt wurde. Das Ergebnis sind verringerte Rechenzeit und Speichernutzung. Der Routengenerator verwendet einen wohlbekannten Heuristik-basierten Wegsuchalgorithmus, wie etwa A*, um die Routen zu erzeugen.
  • Eine beispielhafte Ausführungsform des Heuristikgenerators berechnet die Heuristik, die von dem Wegsuchalgorithmus verwendet wird. Auf der Anfangszoomstufe erzeugt der Heuristikgenerator basierend auf der Entfernung zwischen dem aktuellen Knoten und dem Zielknoten ebenso wie auf minimalem Aufwand zwischen benachbarten Knoten einen Wert. Auf höheren Zoomstufen berücksichtigt der Heuristikgenerator zusätzlich einen Search-Envelope-Faktor.
  • Eine beispielhafte Ausführungsform des Search-Envelope-Faktorgenerators berechnet diesen Faktor. Sie berechnet die Entfernung von dem aktuellen Knoten zu der Vorgewichtungsroute (d. h. der Route, die auf der vorhergehenden Zoomstufe berechnet wurde) als einen Knotenzähler und berechnet dann einen Faktor, der zunehmende Heuristikwerte für Knoten ergibt, die außerhalb die Search-Envelope fallen, welche die Vorgewichtungsroute umgibt. In einer beispielhaften Ausführungsform ist die Search-Envelope ein Bereich mit fester Breite, der die Vorgewichtungsroute umgibt, so dass die Suche im Inneren des Envelope zulässig ist und anderswo unzulässig ist.
  • Vorteilhafterweise ist die vorliegende Erfindung im Gegensatz zu der Hintergrundtechnik fähig, schnell lange Routen im Gelände mit hoher Qualität auf ressourcenbeschränkten Plattformen zu erzeugen. Auch ermöglicht die vorliegende Erfindung, Kompromisse zwischen der Routenqualität und der Berechnungszeit/Speichernutzung zu machen, indem die Search-Envelope verschmälert oder verbreitert wird. Auch verbessert die vorliegende Erfindung die Routenplanung auf groben Zoomstufen, indem sie schmale Bodenabdeckungsmerkmale, welche die Routenplanung beeinflussen (z. B. Umzäunungen, Straßen, Flüsse und Pfade), in allen Kartenauflösungen berücksichtigt.
  • Folglich werden in beispielhaften Aspekten der vorliegenden Erfindung ein System, ein Verfahren und ein Computerprogrammprodukt bereitgestellt, um eine Fahrtroute, einschließlich eines Kartengenerators zum Erzeugen von Karten auf mehreren Zoomstufen, zu erzeugen; und ein Routengenerator zum Erzeugen einer hoch aufgelösten Route basierend auf einer oder mehreren Routen mit geringer Auflösung, die aus den Karten bestimmt werden, die von dem Kartengenerator erzeugt werden.
  • Der Routengenerator gewichtet die Route mit hoher Auflösung zugunsten der Routen mit niedriger Auflösung mit einer Vorgewichtung, die sich mit der Entfernung zu den Routen mit geringer Auflösung ändert.
  • Die Graphiksuche des Routengenerators ist in Richtung von Knoten vorgewichtet, die näher an den Routen mit niedriger Auflösung sind.
  • Der Routengenerator begünstigt hoch aufgelöste Kandidatenrouten, die innerhalb eine Search-Envelope fallen, welche die nieder aufgelösten Routen umgibt.
  • Die Abmessungen der Search-Envelope hängen von der aktuellen Zoomstufe ab.
  • Das System, das Verfahren und das Computerprogrammprodukt umfassen ferner einen Heuristikgenerator, der hoch aufgelöste Kandidatenrouten begünstigt, die näher an den nieder aufgelösten Routen sind.
  • Der Heuristikgenerator gewichtet die hoch aufgelöste Route mit einer Vorgewichtung zugunsten der nieder aufgelösten Routen, die sich mit der Entfernung zu den nieder aufgelösten Routen ändert.
  • Die Graphiksuche des Heuristikgenerators ist in Richtung von Knoten vorgewichtet, die näher an den nieder aufgelösten Routen sind.
  • Der Heuristikgenerator begünstigt hoch aufgelöste Kandidatenrouten, die innerhalb eine Search-Envelope fallen, welche die nieder aufgelösten Routen umgibt.
  • Die Abmessungen der Search-Envelope hängen von der aktuellen Zoomstufe ab.
  • Der Kartengenerator vergrößert Kartenmerkmale auf niedrigeren Zoomstufen, um die Routenplanung zu verbessern.
  • Der Routengenerator gewichtet die hoch aufgelöste Route zugunsten der nieder aufgelösten Routen mit einer Vorgewichtung, die sich mit einer Entfernung zu den nieder aufgelösten Routen ändert.
  • Die Graphiksuche des Routengenerators ist in Richtung von Knoten, die näher an den nieder aufgelösten Routen sind, vorgewichtet.
  • Der Routengenerator begünstigt hoch aufgelöste Kandidatenrouten, die in eine Search-Envelope fallen, welche die nieder aufgelösten Routen umgeben.
  • Die Abmessungen der Search-Envelope hängen von der aktuellen Zoomstufe ab.
  • Noch andere Aspekte, Merkmale und Vorteile der vorliegenden Erfindung werden aus der folgenden detaillierten Beschreibung ohne weiteres offensichtlich, indem eine Anzahl von beispielhaften Ausführungsformen und Implementierungen, einschließlich der besten Art zur Ausführung der Erfindung, dargestellt wird. Die vorliegende Erfindung ist auch zu anderen und verschiedenen Ausführungsformen fähig, und ihre mehreren Einzelheiten können in verschiedener Hinsicht modifiziert werden, jeweils ohne vom Geist und Bereich der vorliegenden Erfindung abzuweichen. Folglich sind die Zeichnungen und Beschreibungen als von erläuterndem Wesen und nicht als einschränkend zu betrachten.
  • Kurze Beschreibung der Zeichnungen
  • Die Ausführungsformen der vorliegenden Erfindung werden in den Figuren der begleitenden Zeichnungen, in denen gleiche Bezugsnummern sich auf ähnliche Elemente beziehen, beispielhaft und nicht einschränkend dargestellt, wobei:
  • 1: Gesamtes mehrfach aufgelöstes Routenplanungssystem
  • 2: Kartengenerator
  • 3: Routengenerator
  • 4: Heuristikgenerator
  • 5: Search-Envelope-Faktorgenerator
  • 6: Einfach aufgelöstes Routenplanungsbeispiel
  • 7: Mehrfach aufgelöstes Routenplanungsbeispiel, nieder aufgelöste Stufe
  • 8: Mehrfach aufgelöstes Routenplanungsbeispiel, hoch aufgelöste Stufe
  • Detaillierte Beschreibung
  • 1 zeigt eine beispielhafte Ausführungsform der vorliegenden Erfindung. Der Kartengenerator 108 wandelt Eingangsraster- und Vektorkartendaten in mehrfach aufgelöste Ausgangsrasterkartendaten um, die für die Routenplanung geeignet sind, und speichert sie in die Kartendatenbank 106. Der Routengenerator 100 erzeugt eine Route auf einer groben Zoomstufe und verfeinert sie dann unter Verwendung vorhergehender Routen auf höheren Zoomstufen, um die Suche einzugrenzen. Der Routengenerator 100 verwendet einen wohlbekannten Heuristik-basierten Wegsuchalgorithmus, wie etwa A*. Der Heuristikgenerator 102 erzeugt Heuristikwerte, die von dem Wegeplanungsalgorithmus verwendet werden. Auf der anfänglichen Zoomstufe gibt der Heuristikgenerator 102 Werte zurück, die aus der Entfernung des aktuellen Knotens zu dem Ziel und einem minimalen Aufwand zwischen benachbarten Knoten abgeleitet werden. Auf höheren Zoomstufen berücksichtigt der Heuristikgenerator 102 auch eine Search-Envelope, die Knoten weit weg von der Vorgewichtungsroute, die auf der vorhergehenden Zoomstufe erzeugt wurde, benachteiligt. Um diese Benachteiligung zu berechnen, stützt sich der Heuristikgenerator 102 auf den Search-Envelope-Faktorgenerator 104. Der Search-Envelope-Faktorgenerator 104 gibt einen Wert von 1 zurück, wenn der Knoten innerhalb der Search-Envelope ist, oder einen höheren Wert, wenn ein Knoten außerhalb der Search-Envelope ist. Knoten weiter entfernt von der Search-Envelope haben höhere Search-Envelope-Faktoren. Das Ergebnis ist, dass der Routengenerator 108 wenig Zeit verbraucht, um Knoten außerhalb der Search-Envelope, welche die auf der vorhergehenden Zoomstufe erzeugte Route umgibt, zu untersuchen.
  • 2 zeigt eine beispielhafte Ausführungsform des Kartengenerators 108. Der Kartengenerator 108 wandelt Eingangsraster- und Vektorkartendaten in für die Routenplanung geeignete mehrfach aufgelöste Rasterkartendaten um und speichert sie in der Kartendatenbank 106. Typischerweise umfassen die Eingangskartendaten eine Rasterhöhenkarte und eine Vektorbodenbedeckungskarte. Die Rasterhöhenkarte gibt die Höhe des Lands an jedem Punkt auf der Karte an. Die Vektorbodenbedeckungskarte gibt die Art des Geländes (z. B. Feld, Wald, Straße oder Wasser) an jedem Punkt auf der Karte an. Der Kartengenerator 108 wandelt diese Eingangsraster- und Vektorkartendaten in mehrfach aufgelöste Ausgangskartendaten um, die für die Routenplanung geeignet sind. Um die eindeutigen Farben der Bodenbedeckungskarte bei gröberen Auflösungen zu bewahren, verwendet der Kartengenerator 108 die Nächste-Nachbar-Wiederabtastung (nearest neighbor resampling). Der Kartengenerator 108 zeichnet lineare Merkmale in die Eingangsvektorbodenbedeckungsdaten, welche die Routenplanung beeinflussen, wie etwa Umzäunungen, Straßen, Flüsse und Pfade, auf allen Zoompegeln in die Ausgangsrasterdaten. Dies hat die Wirkung, dass gewisse Kartenmerkmale auf niedrigeren Zoomstufen vergrößert werden, was die Routenplanung verbessert. Man kann ein geographisches Fremdinformationssystem-(GIS)Werkzeug, wie etwa Global Mapper oder ESRI ArcGIS verwenden, um dies zu erreichen. Unter Verwendung von Global Mapper kann man die Anwendung konfigurieren, um lineare Merkmale auf allen Zoomstufen mit der gleichen Dicke (z. B. zwei Pixel) zu zeichnen. Man kann dann mehrfach aufgelöste Rasterdaten in einer Vielfalt an Formaten, einschließlich Google oder Microsoft Tile- bzw. Bildelementsätze, exportieren. Der Kartengenerator 108 speichert diese Ausgangsrasterdaten in der Kartendatenbank 106.
  • In einer beispielhaften Ausführungsform enthält die Kartendatenbank 106 256 mal 256 Pixel-Bildelemente, die in einem tragbaren Netzgraphik-(PNG)Format gespeichert sind. Diese Bildelemente entsprechen Standards, die von Google (siehe „Google Maps Overlays", die aus dem World Wide Web unter code.google.com/apis/maps/) und Microsoft (siehe „Ging Maps Tile System", im World Wide Web verfügbar unter msdn.microsoft.com/enus/library/bb259689.aspx) für ihre Online-Karten entwickelt wurden. Beide diese Standards beginnen mit einem einzigen Bildelement, das bei der gröbsten Kartenauflösung – Zoomstufe 0 – den Globus abdeckt. Auf jeder anschließenden Zoomstufe teilen sie ein Bildelement in vier. Daher hat die Zoomstufe 1 4 Bildelemente, die den Globus abdecken, die Zoomstufe 2 hat 16 Bildelemente, die den Globus abdecken, etc.
  • Zu Details über die Erzeugung einer routenplanungsfähigen Rasterkarte siehe die US-Patente 6 963 800 und 7 756 635 .
  • 3 zeigt eine beispielhafte Ausführungsform des Routengenerators 100. Bei Schritt 300 erhält der Routengenerator 100 die Entfernung zwischen den Start- und Zielknoten in Kilometer. Bei Schritt 302 berechnet der Routengenerator 100 eine Anfangszoomstufe unter Verwendung der folgenden Gleichung: Anfangszoomstufe = Boden(log2(156,250/Entfernung in Kilometern))
  • Wenn zum Beispiel die geradlinige Entfernung zwischen den Start- und Zielknoten einer Route 5 Kilometer ist, ist die Anfangszoomstufe: Anfangszoomstufe = Boden(log2(156,250/5)) = 14
  • Bei Schritt 304 erzeugt der Routengenerator 100 eine Route mit der Anfangszoomstufe. Um dies zu erreichen, verwendet eine beispielhafte Ausführungsform des Routengenerators 100 den Heuristik-basierten A*-Algorithmus. Der Heuristikgenerator 100 liefert Heuristikwerte, und die Kartendatenbank 106 liefert routenplanungsfähige Kartenbildbereiche für die aktuelle Zoomstufe. Bei Schritt 306 fragt der Routengenerator 100 die Kartendatenbank ab, um zu bestimmen, ob Karten mit höherer Auflösung verfügbar sind. Wenn ja, inkrementiert der Routengenerator 100 bei Schritt 308 die aktuelle Zoomstufe um eins (indem er z. B. von der Anfangszoomstufe 14 auf die aktuelle Zoomstufe 15 vorrückt). Bei Schritt 310 erhält der Routengenerator 100 die passende Search-Envelope-Breite für die aktuelle Zoomstufe aus der Search-Envelope-Nachschlagtabelle 314 (z. B. ist für die Zoomstufe 15 die Search-Envelope-Breite 18 Knoten). Bei Schritt 312 erzeugt der Routengenerator 100 unter Verwendung dieser Search-Envelope-Breite und der auf der vorhergehenden Zoomstufe erzeugten Route als eine Vorgewichtungsroute, was den Suchbereich wirksam begrenzt, eine Route mit der aktuellen Zoomstufe. Erneut stützt sich der Routengenerator 100 auf A*, um die Route zu erzeugen. Dieses Mal umfasst die Heuristik zusätzlich einen Search-Envelope-Faktor, der Knoten außerhalb der Search-Envelope, welche die Vorgewichtungsroute umgeben, benachteiligt. Wenn der Schritt 312 abgeschlossen ist, kehrt die Ausführung zu Schritt 306 zurück, um zu bestimmen, ob Karten mit höherer Auflösung übrig sind.
  • Fachleute der Technik werden erkennen, dass die vorliegende Erfindung für viele Wegsuchalgorithmen – nicht nur A* – Anwendung findet. Andere Heuristik-basierte Wegeplanungsalgorithmen umfassen die Greedy-Best-First-Suche, die iterative Tiefensuche von A* (IDA*), die rekursive Best-First-Suche (RBFS), die speicheroptimierte A* (MA*), die einfache speicheroptimierte A* (SMA*) und die Anytime repairable A* (ARA*) und Anytime-D*.
  • Fachleute der Technik werden erkennen, dass die Gleichung zum Berechnen einer Anfangszoomstufe bei Schritt 302 durch eine Nachschlagtabelle oder eine andere Gleichung ersetzt werden könnte, die für eine lange Route eine niedrige Anfangszoomstufe und für eine kurze Route eine hohe Anfangszoomstufe zurückgeben würde.
  • Fachleute der Technik werden erkennen, dass die die Search-Envelope-Nachschlagtabelle 314 auf verschiedene Anwendungen abgestimmt werden könnte. Zum Beispiel könnte man die Search-Envelope-Breiten verringern, um die Rechenzeit und den Speicherverbrauch auf ressourcenbeschränkten Plattformen zu verringern. Auch könnte man die Search-Envelope-Nachschlagtabelle 314 durch eine Gleichung ersetzen, die eine Zoomstufe auf eine passende Search-Envelope-Breite abbildet.
  • 4 zeigt eine beispielhafte Ausführungsform des Heuristikgenerators 102. Bei Schritt 400 erhält der Heuristikgenerator 102 die Entfernung von dem aktuellen Knoten zu dem Zielknoten als einen Knotenzähler. Bei Schritt 402 erhält der Heuristikgenerator 102 den minimalen Aufwand zwischen benachbarten Knoten. Bei Schritt 404 erhält der Heuristikgenerator 102 den Search-Envelope-Faktor von dem Search-Envelope-Faktorgenerator 104. Bei Schritt 406 bestimmt der Heuristikgenerator 102, ob das System eine Route mit einer Anfangszoomstufe erzeugt. Wenn ja, berechnet er die Heuristik wie folgt (wobei n den aktuellen Knoten darstellt und Ziel den Zielknoten darstellt): Heuristik (n) = Entfernung (n, Ziel) × minimaler Aufwand zwischen benachbarten Knoten
  • Andernfalls berechnet der Heuristikgenerator 102 die Heuristik wie folgt: Heuristik (n) = Entfernung (n, Ziel) × minimaler Aufwand zwischen benachbarten Knoten × Search-Envelope-Faktor (n)
  • 5 zeigt eine beispielhafte Ausführungsform des Search-Envelope-Faktorgenerators 104. Bei Schritt 500 erhält der Search-Envelope-Faktorgenerator 104 die Entfernung von dem aktuellen Knoten zu der Vorgewichtungsroute (d. h. der Route, die bei der vorhergehenden Zoomstufe erzeugt wurde) als einen Knotenzähler. Bei Schritt 502 erhält der Search-Envelope-Faktorgenerator 104 die Search-Envelope-Breite von dem Routengenerator 100. Bei Schritt 504 berechnet der Search-Envelope-Faktorgenerator 104 den Search-Envelope-Faktor unter Verwendung der folgenden Gleichung (wobei n den aktuellen Knoten darstellt): Search-Envelope-Faktor (n) = 1 + (Entfernung (n, Vorgewichtungsroute)/Search-Envelope-Breite)2
  • Bei Schritt 506 bestimmt der Search-Envelope-Faktorgenerator 104, ob der berechnete Search-Envelope-Faktor kleiner oder gleich 2 ist. Wenn ja, legt der Search-Envelope-Faktorgenerator 104 bei Schritt 508 den Search-Envelope-Faktor auf 1 fest. Dies stellt sicher, dass Knoten innerhalb der Search-Envelope oder ihrem Rand nicht mit höheren Aufwänden benachteiligt werden. Knoten außerhalb der Search-Envelope werden jedoch mit Aufwänden benachteiligt, die zunehmen, wenn die Vorgewichtungsroutenentfernung zunimmt.
  • Fachleute der Technik werden erkennen, dass jede Formel zum Einstellen der Heuristik, die in der Nähe der Vorgewichtungsroute klein ist, aber dann weit weg zunehmend groß wird, potentiell verwendet werden könnte.
  • Um die vorliegende Erfindung (ein mehrfach aufgelöstes Routenplanungssystem) besser zu verstehen, ist es hilfreich, es mit einem einfach aufgelösten Routenplanungssystem, wie etwa dem, das in den US-Patenten 6 963 800 und 7 756 635 beschrieben ist, zu vergleichen. Beispielhafte Ausführungsformen beider Routenplanungssysteme verhelfen dem Heuristikbasierten A*-Algorithmus zum Durchbruch. Das einfach aufgelöste Routenplanungssystem verwendet eine Heuristik, welche die Entfernung eines Knotens zu dem Ziel und den minimalen Aufwand zwischen benachbarten Knoten eingearbeitet hat. Die Heuristik des mehrfach aufgelösten Routenplanungssystems fügt einen Search-Envelope-Faktor hinzu, der auf der Nähe eines Knotens zu einer Vorgewichtungsroute basiert, die mit einer vorhergehenden Zoomstufe erzeugt wurde.
  • 6 zeigt ein einfach aufgelöstes Routenplanungsbeispiel. Der Suchalgorithmus ist A*. Die Heuristik ist: Heuristik (n) = Entfernung (n, Ziel) × minimaler Aufwand zwischen benachbarten Knoten
  • Das Aufwandsgitter 600 zeigt den Aufwand für das Durchqueren jedes Knotens. Der untere linke Knoten (0, 0) ist der Startknoten. Der obere rechte Knoten (5, 5) ist der Zielknoten. Jeder Knoten ist mit acht oder weniger benachbarten Knoten verbunden. Der minimale Aufwand zwischen benachbarten Knoten ist 1. Das Aufwandsgitter 600 stellt eine Bodenbedeckungskarte mit Pfaden mit niedrigem Aufwand (1) entlang der Ränder, Gras mit mittlerem Aufwand (2) in der Mitte und Bäumen mit hohen Kosten (5) oben rechts dar.
  • Bei Schritt 602 fügt der Algorithmus den Startknoten (0, 0) zu der Prioritätenwarteschlange von A* hinzu und aktualisiert seinen Schlüssel Der Aufwand, um den Knoten zu erreichen, ist 0. Die Entfernung zu dem Ziel ist 5. Daher ist der Schlüssel des Knotens gleich dem Aufwand, um das Ziel zu erreichen, plus die Entfernung mal der minimale Aufwand zwischen benachbarten Knoten = 0 + 5 × 1 = 5.
  • Bei Schritt 604 extrahiert der Algorithmus den Knoten (0, 0) aus der Warteschlange, fügt jeden benachbarten Knoten zu der Warteschlange hinzu und aktualisiert ihre Schlüssel. Der Aufwand, um den Knoten (0, 1) zu erreichen, ist 1. Die Entfernung zu dem Ziel ist 5. Daher ist der Schlüssel des Knotens 6. Der Aufwand, um den Knoten (1, 1) zu erreichen, ist 3. Seine Entfernung zum dem Ziel ist 4. Daher ist der Schlüssel des Knotens gleich 7. Der Aufwand, um den Knoten (1, 0) zu erreichen, ist 1. Seine Entfernung zu dem Ziel ist 5. Daher ist der Schlüssel des Knotens gleich 6.
  • Bei Schritt 606 sondert der Algorithmus den Knoten (0, 0) aus, extrahiert den Knoten (0, 1) und fügt die Knoten (0, 2) und (1, 2) zu der Warteschlange hinzu.
  • Bei Schritt 608 sondert der Algorithmus den Knoten (0, 1) aus, extrahiert den Knoten (1, 0) und fügt die Knoten (2, 0) und (2, 1) zu der Warteliste hinzu.
  • Bei Schritt 610 sondert der Algorithmus den Knoten (1, 0) aus, extrahiert den Knoten (1, 1) und fügt den Knoten (2, 2) zu der Warteschlange hinzu.
  • Bei Schritt 612 sondert der Algorithmus den Knoten (1, 1) aus, extrahiert den Knoten (0, 2) und fügt die Knoten (0, 3) und (1, 3) zu der Warteschlange hinzu.
  • Bei Schritt 614 sondert der Algorithmus den Knoten (0, 2) aus, extrahiert den Knoten (2, 0) und fügt die Knoten (3, 0) und (3, 1) zu der Warteschlange hinzu.
  • Bei Schritt 616 sondert der Algorithmus den Knoten (2, 0) aus, extrahiert den Knoten (1, 2) und fügt den Knoten (2, 3) zu der Warteschlange hinzu.
  • Bei Schritt 618 sondert der Algorithmus den Knoten (1, 2) aus, extrahiert den Knoten (2, 1) und fügt den Knoten (3, 2) zu der Warteschlange hinzu.
  • Bei Schritt 620 sondert der Algorithmus den Knoten (2, 1) aus, extrahiert den Knoten (0, 3) und fügt die Knoten (0, 4) und (1, 4) zu der Warteschlange hinzu.
  • Bei Schritt 622 sondert der Algorithmus den Knoten (0, 3) aus, extrahiert den Knoten (3, 0) und fügt die Knoten (4, 0) und (4, 1) zu der Warteschlange hinzu.
  • Bei Schritt 624 sondert der Algorithmus den Knoten (3, 0) aus, extrahiert den Knoten (2, 2) und fügt den Knoten (3, 3) zu der Warteschlange hinzu.
  • Bei Schritt 626 sondert der Algorithmus den Knoten (2, 2) aus, extrahiert den Knoten (1, 3) und fügt den Knoten (2, 5) zu der Warteschlange hinzu.
  • Bei Schritt 628 sondert der Algorithmus den Knoten (1, 3) aus, extrahiert den Knoten (3, 1) und fügt den Knoten (4, 2) zu der Warteschlange hinzu.
  • Bei Schritt 630 sondert der Algorithmus (3, 1) aus, extrahiert den Knoten (0, 4) und fügt die Knoten (0, 5) und (1, 5) zu der Warteschlange hinzu.
  • Bei Schritt 632 sondert der Algorithmus (0, 4) aus, extrahiert den Knoten (1, 5) und fügt die Knoten (2, 5) zu der Warteschlange hinzu.
  • Bei Schritt 634 sondert der Algorithmus (1, 5) aus, extrahiert den Knoten (2, 5) und fügt die Knoten (3, 5) und (3, 4) zu der Warteschlange hinzu.
  • Bei Schritt 636 sondert der Algorithmus (2, 5) aus, extrahiert den Knoten (3, 5) und fügt die Knoten (4, 5) und (4, 4) zu der Warteschlange hinzu.
  • Bei Schritt 638 sondert der Algorithmus (3, 5) aus, extrahiert den Knoten (4, 0) und fügt die Knoten (5, 0) und (5, 1) zu der Warteschlange hinzu.
  • Bei Schritt 640 sondert der Algorithmus (4, 0) aus, extrahiert den Knoten (4, 0) und fügt den Knoten (5, 2) zu der Warteschlange hinzu.
  • Bei Schritt 642 sondert der Algorithmus (5, 1) aus, extrahiert den Knoten (5, 2) und fügt die Knoten (5, 3) und (4, 3) zu der Warteschlange hinzu.
  • Bei Schritt 644 sondert der Algorithmus (5, 2) aus, extrahiert den Knoten (5, 3) und fügt den Knoten (5, 4) zu der Warteschlange hinzu.
  • Bei Schritt 646 sondert der Algorithmus (5, 3) aus und extrahiert den Knoten (2, 3).
  • Bei Schritt 648 sondert der Algorithmus (2, 3) aus und extrahiert den Knoten (3, 2).
  • Bei Schritt 650 sondert der Algorithmus (3, 2) aus und extrahiert den Knoten (1, 4).
  • Bei Schritt 652 sondert der Algorithmus (1, 4) aus und extrahiert den Knoten (4, 1).
  • Bei Schritt 654 sondert der Algorithmus (4, 1) aus und extrahiert den Knoten (0, 5).
  • Bei Schritt 656 sondert der Algorithmus (0, 5) aus und extrahiert den Knoten (5, 0).
  • Bei Schritt 658 sondert der Algorithmus (5, 0) aus und extrahiert den Knoten (3, 4).
  • Bei Schritt 660 sondert der Algorithmus (3, 4) aus und extrahiert den Knoten (4, 3).
  • Bei Schritt 662 sondert der Algorithmus (4, 3) aus und extrahiert den Knoten (3, 3).
  • Bei Schritt 664 sondert der Algorithmus (3, 3) aus und extrahiert den Knoten (2, 4).
  • Bei Schritt 666 sondert der Algorithmus (2, 4) aus und extrahiert den Knoten (4, 2).
  • Bei Schritt 668 sondert der Algorithmus (4, 2) aus und extrahiert den Knoten (4, 5) und fügt den Knoten (5, 5) zu der Warteschlange hinzu.
  • Bei Schritt 670 sondert der Algorithmus (4, 5) aus und extrahiert den Knoten (5, 4).
  • Bei Schritt 672 sondert der Algorithmus (5, 4) aus und extrahiert den Knoten (4, 4).
  • Bei Schritt 674 sondert der Algorithmus (4, 4) aus und extrahiert den Knoten (5, 5). Dies ist der Zielknoten, so endet die Suche.
  • Das Ergebnis ist die Route 676.
  • 7 und 8 zeigen ein mehrfach aufgelöstes Routenplanungsbeispiel. 7 zeigt die Routenplanung mit einer niedrigen Auflösung, und 8 zeigt die Routenplanung mit einer hohen Auflösung. Bei der niedrigen Auflösung ist der Routenplanungsalgorithmus der gleiche wie in dem einfach aufgelösten Routenplanungsbeispiel.
  • Wir beginnen mit dem in 7 gezeigten nieder aufgelösten Routenplanungsbeispiel.
  • Das Aufwandsgitter 700 zeigt den Aufwand für das Durchqueren jedes Knotens in der nieder aufgelösten Karte. Der untere linke Knoten (0, 0) ist der Startknoten. Der obere rechte Knoten (2, 2) ist der Zielknoten. Jeder Knoten ist mit seinen acht oder weniger benachbarten Knoten verbunden. Der minimale Aufwand zwischen benachbarten Knoten ist 1. Dieses Aufwandsgitter 700 stellt eine Bodenbedeckungskarte mit Pfaden mit niedrigem Aufwand (1) entlang der Ränder, Gras mit mittlerem Aufwand (2) in der Mitte und Bäumen mit hohen Kosten (5) oben rechts dar. Obwohl die Pfade schmal sind, umfasst der Kartengenerator 108 sie in allen Zoomstufen, um die Routenplanung mit groben Zoomstufen zu verbessern.
  • Bei Schritt 702 fügt der Algorithmus den Startknoten (0, 0) zu der Prioritätswarteschlange hinzu und aktualisiert seinen Schlüssel. Der Aufwand, um den Knoten zu erreichen, ist 0. Die Entfernung zu dem Ziel ist 2. Daher ist der Schlüssel des Knotens gleich dem Aufwand, um das Ziel zu erreichen, plus die Entfernung zu dem Ziel mal dem minimalen Aufwand zwischen benachbarten Knoten = 0 + 2 × 1 = 2.
  • Bei Schritt 704 extrahiert der Algorithmus den Knoten (0, 0) aus der Warteschlange, fügt jeden benachbarten Knoten zu der Warteschlange hinzu und aktualisiert ihre Schlüssel. Der Aufwand, um den Knoten (0, 1) zu erreichen ist 1. Seine Entfernung zu dem Ziel ist 2. Daher ist der Schlüssel des Knotens gleich 3. Der Aufwand, um den Knoten (1, 1) zu erreichen, ist 3. Seine Entfernung zu dem Ziel ist 1. Daher ist der Schlüssel des Knotens gleich 4. Der Aufwand, um den Knoten (1, 0) zu erreichen, ist 1. Seine Entfernung zu dem Ziel ist 2. Daher ist der Schlüssel des Knotens gleich 3.
  • Bei Schritt 706 sondert der Algorithmus den Knoten (0, 0) aus, extrahiert den Knoten (0, 1) und fügt die Knoten (0, 2) und (1, 2) zu der Warteschlange hinzu.
  • Bei Schritt 708 sondert der Algorithmus den Knoten (0, 1) aus, extrahiert den Knoten (1, 2) und fügt die Knoten (2, 2) und (2, 1) zu der Warteschlange hinzu.
  • Bei Schritt 710 sondert der Algorithmus den Knoten (1, 2) aus, extrahiert den Knoten (1, 0) und fügt den Knoten (2, 0) zu der Warteschlange hinzu.
  • Bei Schritt 712 sondert der Algorithmus den Knoten (1, 0) aus und extrahiert den Knoten (2, 1).
  • Bei Schritt 714 sondert der Algorithmus den Knoten (2, 1) aus und extrahiert den Knoten (1, 1).
  • Bei Schritt 716 sondert der Algorithmus den Knoten (1, 1) aus und extrahiert den Knoten (0, 2).
  • Bei Schritt 718 sondert der Algorithmus den Knoten (0, 2) aus und extrahiert den Knoten (2, 0).
  • Bei Schritt 720 sondert der Algorithmus den Knoten (2, 0) aus und extrahiert den Knoten (2, 2). Dies ist der Zielknoten, so endet die Suche.
  • Das Ergebnis ist die nieder aufgelöste Route 722.
  • Wir gehen nun weiter zu dem in 8 gezeigten hoch aufgelösten Routenplanungsbeispiel.
  • Der Suchalgorithmus bleibt A*, aber nun ändert sich die Heuristik, um den Search-Envelope-Faktor aufzunehmen: Heuristik (n) = Entfernung (n, Ziel) × minimaler Aufwand zwischen benachbarten Kosten × Search-Envelope-Faktor (n)
  • Wobei: Search-Envelope-Faktor (n) = 1 + (Entfernung (n, Vorgewichtungsroute)/ Search-Envelope-Breite)2
  • Wenn der Search-Envelope-Faktor gleich oder weniger als 2 ist, legt der Algorithmus ihn auf 1 fest.
  • Für dieses Beispiel werden wird eine Search-Envelope-Breite von 1 verwenden.
  • Das Aufwandsgitter 800 ist das gleiche wie das, das wir in dem einfach aufgelösten Routenplanungsbeispiel verwendet haben. Dieses Mal haben wir jedoch eine zusätzliche Eingabe, die Vorgewichtungsroute 802. Die Vorgewichtungsroute 802 ist die, die wir gerade mit der niedrigen Auflösung erzeugt haben. Sie wird helfen, um die Routenerzeugung zu leiten und die Knotenuntersuchung mit der hohen Auflösung zu begrenzen. Die Entfernungskarte 804 zeigt die Entfernung jedes Knotens von dieser Vorgewichtungsroute an. Das Aufwandsgitter 800 stellt eine Bodenbedeckungskarte mit Pfaden mit niedrigem Aufwand (1) entlang der Ränder, Gras mit mittlerem Aufwand (3) in der Mitte und Bäumen mit hohen Kosten (5) oben rechts dar.
  • Bei Schritt 806 fügt der Algorithmus den Startknoten (0, 0) zu der Prioritätswarteschlange hinzu und aktualisiert seinen Schlüssel. Die Entfernung von der Vorspannungsroute ist 0. Daher ist der Search-Envelope-Faktor gleich 1 + (0/1)2 = 1. Der Aufwand, um den Knoten zu erreichen, ist 0. Die Entfernung zu dem Ziel ist 5. Daher ist der Schlüssel des Knotens gleich dem Aufwand, um das Ziel zu erreichen, plus die Entfernung zu dem Ziel mal dem minimalen Aufwand zwischen den benachbarten Kosten mal dem Search-Envelope-Faktor = 0 + 5 × 1 × 1 = 5.
  • Bei Schritt 808 extrahiert der Algorithmus den Knoten (0, 0) aus der Warteschlange, fügt jeden benachbarten Knoten zu der Warteschlange hinzu und aktualisiert ihre Schlüssel. Der Aufwand, um den Knoten (0, 1) zu erreichen, ist 1. Seine Entfernung zu dem Ziel ist 5. Sein Search-Envelope-Faktor ist 1. Daher ist der Schlüssel des Knotens 6. Der Aufwand, um den Knoten (1, 1) zu erreichen, ist 3. Seine Entfernung zu dem Ziel ist 4. Sein Search-Envelope-Faktor ist 1. Daher ist der Schlüssel des Knotens gleich 7. Der Aufwand, um den Knoten (1, 0) zu erreichen, ist 1. Seine Entfernung zu dem Ziel ist 5. Sein Search-Envelope-Faktor ist 1. Daher ist der Schlüssel des Knotens gleich 6.
  • Bei Schritt 810 sondert der Algorithmus den Knoten (0, 0) aus, extrahiert den Knoten (0, 1) und fügt die Knoten (0, 2) und (1, 2) zu der Warteschlange hinzu.
  • Bei Schritt 812 sondert der Algorithmus den Knoten (0, 1) aus, extrahiert den Knoten (1, 0) und fügt die Knoten (2, 0) und (2, 1) zu der Warteschlange hinzu. Dies ist der erste Fall, in dem wir auf Knoten getroffen sind, die außerhalb der einen Knoten breiten Search-Envelope sind. Die Knoten (2, 0) und (2, 1) sind beide zwei Knoten von der Vorgewichtungsroute weg. Als ein Ergebnis werden sie mit hohen Heuristikwerten benachteiligt, die zu hohen Schlüsselwerten (jeweils 27 und 24) führen. Zum Beispiel ist der Aufwand, um den Knoten (2, 0) von dem Startknoten 2 zu erreichen, 2. Seine Entfernung zu dem Zielknoten ist 5. Sein Search-Envelope-Faktor ist 1 + (2/1)2 = 5. Daher ist der Schlüssel des Knotens gleich 2 + 5 × 5 = 27. Da in diesem Beispiel die Knoten (2, 0) und (2, 1) derartig hohe Schlüsselwerte haben, wird der Algorithmus enden, bevor sie extrahiert werden.
  • Bei Schritt 814 sondert der Algorithmus den Knoten (1, 0) aus, extrahiert den Knoten (1, 1) und fügt den Knoten (2, 2) zu der Warteschlange hinzu.
  • Bei Schritt 816 sondert der Algorithmus den Knoten (1, 1) aus, extrahiert den Knoten (0, 2) und fügt die Knoten (0, 3) und (1, 3) zu der Warteschlange hinzu.
  • Bei Schritt 818 sondert der Algorithmus den Knoten (0, 2) aus, extrahiert den Knoten (1, 2) und fügt den Knoten (2, 3) zu der Warteschlange hinzu.
  • Bei Schritt 820 sondert der Algorithmus den Knoten (1, 2) aus, extrahiert den Knoten (0, 4) und fingt die Knoten (0, 4) und (1, 4) zu der Warteschlange hinzu.
  • Bei Schritt 822 sondert der Algorithmus den Knoten (0, 4) aus, extrahiert den Knoten (1, 3) und fügt den Knoten (2, 4) zu der Warteschlange hinzu.
  • Bei Schritt 824 sondert der Algorithmus den Knoten (1, 3) aus, extrahiert den Knoten (0, 4) und fügt die Knoten (0, 5) und (1, 5) zu der Warteschlange hinzu.
  • Bei Schritt 826 sondert der Algorithmus den Knoten (0, 4) aus, extrahiert den Knoten (1, 5) und fügt den Knoten (2, 5) zu der Warteschlange hinzu.
  • Bei Schritt 828 sondert der Algorithmus den Knoten (1, 5) aus, extrahiert den Knoten (2, 5) und fügt die Knoten (3, 5) und (3, 4) zu der Warteschlange hinzu.
  • Bei Schritt 830 sondert der Algorithmus den Knoten (2, 5) aus, extrahiert den Knoten (3, 5) und fügt die Knoten (4, 5) und (4, 4) zu der Warteschlange hinzu.
  • Bei Schritt 832 sondert der Algorithmus den Knoten (3, 5) aus, extrahiert den Knoten (2, 3) und fügt die Knoten (3, 3) und (3, 2) zu der Warteschlange hinzu.
  • Bei Schritt 834 sondert der Algorithmus den Knoten (2, 3) aus und extrahiert den Knoten (1, 4).
  • Bei Schritt 836 sondert der Algorithmus den Knoten (1, 4) aus und extrahiert den Knoten (0, 5).
  • Bei Schritt 838 sondert der Algorithmus den Knoten (0, 5) aus, extrahiert den Knoten (3, 4) und fügt den Knoten (4, 3) zu der Warteschlange hinzu.
  • Bei Schritt 840 sondert der Algorithmus den Knoten (3, 4) aus und extrahiert den Knoten (2, 4).
  • Bei Schritt 842 sondert der Algorithmus den Knoten (2, 4) aus, extrahiert den Knoten (4, 5) und fügt die Knoten (5, 5) und (5, 4) zu der Warteschlange hinzu.
  • Bei Schritt 844 sondert der Algorithmus den Knoten (4, 5) aus, extrahiert den Knoten (4, 4) und fügt den Knoten (5, 3) zu der Warteschlange hinzu.
  • Bei Schritt 846 sondert der Algorithmus den Knoten (4, 4) aus und extrahiert den Knoten (5, 5). Dies ist der Zielknoten, so endet die Suche.
  • Das Ergebnis ist die hoch aufgelöste Route 848.
  • In diesen Beispielen erzeugten die einfach aufgelösten und mehrfach aufgelösten Routenplanungssysteme identische Routen. Das einfach aufgelöste Routenplanungssystem fächerte 36 Knoten auf. Das mehrfach aufgelöste Routenplanungssystem fächerte für insgesamt 29 aufgefächerte Knoten in der nieder aufgelösten Karte 9 Knoten und in der hoch aufgelösten Karte 20 Knoten auf. Dies ist eine Leistungseinsparung von 19%. Außerdem musste das mehrfach aufgelöste System höchstens 20 Knoten in dem Speicher speichern, während das einfach aufgelöste System höchstens 36 Knoten in dem Speicher speichern musste. Dies ist eine Speichereinsparung von 44%.
  • In einer praktischen Testplanung mit 100 zufälligen null bis zehn Kilometer lange Routen im Gelände im Yosemite National Park verbesserte die Search-Envelope die Leistung um 37% und verringerte den Speicherverbrauch um 72%.
  • Die vorstehend beschriebenen Vorrichtungen und Teilsysteme der beispielhaften Ausführungsformen von 1 bis 8 können zum Beispiel beliebige geeignete Server, Workstations, PCs, Laptopcomputer, PDAs, Internet-Endgeräte, Handgeräte, Mobilfunktelefone, drahtlose Vorrichtungen, andere elektronische Vorrichtungen und ähnliches umfassen, die fähig sind, die Verfahren der beispielhaften Ausführungsformen von 1 bis 8 durchzuführen. Die Vorrichtungen und Teilsysteme der beispielhaften Ausführungsformen von 1 bis 8 können unter Verwendung jedes geeigneten Protokolls miteinander kommunizieren und können unter Verwendung eines oder mehrerer programmierter Computersysteme oder Vorrichtungen implementiert werden.
  • Ein oder mehrere Schnittstellenmechanismen können mit den beispielhaften Ausführungsformen von 1 bis 8 verwendet werden, die zum Beispiel Internetzugang, Telekommunikation in jeder geeigneten Form (z. B. Sprache, Modem und ähnliches), drahtlose Kommunikationsmedien und ähnliches umfassen. Zum Beispiel können verwendete Kommunikationsnetze oder Verbindungen ein oder mehrere drahtlose Kommunikationsnetze, Mobilfunkkommunikationsnetze, Kabelkommunikationsnetze, Satellitenkommunikationsnetze, 3G-Kommunikationsnetze, öffentliche vermittelte Telefonnetze (PSTNs), Paketdatennetze (PDNs), das Internet, Intranets, WiMax Netze, eine Kombination daraus und ähnliches umfassen.
  • Es versteht sich, dass die Vorrichtungen und Teilsysteme der beispielhaften Ausführungsformen von 1 bis 8 für beispielhafte Zwecke sind, da, wie Fachleute der relevanten Technik(en) zu schätzen wissen, viele Variationen der spezifischen Hardware und/oder Software, die verwendet wird, um die beispielhaften Ausführungsformen zu implementieren, ebenfalls möglich sind. Zum Beispiel kann die Funktionalität einer oder mehrerer Vorrichtungen und Teilsysteme in den beispielhaften Ausführungsformen von 1 bis 8 über ein oder mehrere programmierte Computersysteme oder Vorrichtungen implementiert werden.
  • Um derartige Variationen ebenso wie andere Variationen zu implementieren, kann ein einziges Computersystem programmiert werden, um die Spezialfunktionen einer oder mehrerer der Vorrichtungen und Teilsysteme der beispielhaften Ausführungsformen von 1 bis 8 durchzuführen. Andererseits können zwei oder mehr programmierte Computersysteme oder Vorrichtungen jede der Vorrichtungen und Teilsysteme der beispielhaften Ausführungsformen von 1 bis 8 ersetzen. Folglich können auch die Prinzipien und Vorteile der verteilten Verarbeitung, wie etwa Redundanz, Wiederholung und ähnliches, nach Wunsch ebenfalls implementiert werden, um die Robustheit und Leistung der Vorrichtungen und Teilsysteme der beispielhaften Ausführungsformen von 1 bis 8 zu erhöhen.
  • Die Vorrichtungen und Teilsysteme der beispielhaften Ausführungsformen von 1 bis 8 können Informationen speichern, die sich auf die verschiedenen hier beschriebenen Verfahren beziehen. Die Informationen können in einem oder mehreren Speichern, wie etwa einer Festplatte, einer optischen Platte, einer magnetooptischen Platte, einem RAM und ähnlichem, der Vorrichtungen und Teilsysteme der beispielhaften Ausführungsformen von 1 bis 8 gespeichert werden. Eine oder mehrere Datenbanken der Vorrichtungen und Teilsysteme der beispielhaften Ausführungsformen von 1 bis 8 können die Informationen speichern, die verwendet werden, um die beispielhaften Ausführungsformen der vorliegenden Erfindung zu implementieren. Die Datenbanken können unter Verwendung von Datenstrukturen (z. B. Datensätzen, Tabellen, Feldern, Graphen, Bäumen, Listen und ähnlichem), die in einem oder mehreren Speichern oder Speichervorrichtungen enthalten sind, die hier aufgeführt sind, organisiert werden. Die Verfahren, die in Bezug auf die beispielhaften Ausführungsformen von 1 bis 8 beschrieben sind, können geeignete Datenstrukturen zum Speichern von Daten umfassen, die durch die Verfahren der Vorrichtungen und Teilsysteme der beispielhaften Ausführungsformen von 1 bis 8 in einer oder mehreren ihrer Datenbanken gesammelt und/oder erzeugt werden.
  • Alle oder ein Teil der Vorrichtungen und Teilsysteme der beispielhaften Ausführungsformen von 1 bis 8 können, wie für Fachleute der Computer- und Softwaretechniken zu schätzen gewusst wird, in geeigneter Weise unter Verwendung eines oder mehrerer Universalcomputersysteme, Mikroprozessoren, digitaler Signalprozessoren, Mikrocontroller und ähnlichem implementiert werden, welche gemäß den Lehren der beispielhaften Ausführungsformen der vorliegenden Erfindung programmiert sind. Geeignete Software kann, wie von Fachleuten der Softwaretechnik zu schätzen gewusst, basierend auf den Lehren der beispielhaften Ausführungsformen ohne weiteres von Programmierern mit gewöhnlichen Kenntnissen erzeugt werden. Außerdem können die Vorrichtungen und Teilsysteme der beispielhaften Ausführungsformen von 1 bis 8, wie von Fachleuten in der/den elektrischen Techniken zu schätzen gewusst, durch die Herstellung anwendungsspezifischer integrierter Schaltungen oder durch Verbinden eines geeigneten Netzes aus herkömmlichen Komponentenschaltungen implementiert werden. Somit sind die beispielhaften Ausführungsformen nicht auf irgendeine spezifische Kombination der Hardwareschaltungsanordnung und/oder Software beschränkt.
  • Auf irgendeinem oder auf einer Kombination von computerlesbaren Medien gespeichert, können die beispielhaften Ausführungsformen der vorliegenden Erfindung Software zum Steuern der Vorrichtungen und Teilsysteme der beispielhaften Ausführungsformen von 1 bis 8, zum Antreiben der Vorrichtungen und Teilsysteme der beispielhaften Ausführungsformen von 1 bis 8 umfassen, um die Vorrichtungen und Teilsysteme der beispielhaften Ausführungsformen von 1 bis 8 in die Lage zu versetzen, mit einem menschlichen Benutzer und ähnlichem zu interagieren. Derartige Software kann Vorrichtungstreiber, Firmware, Betriebssysteme, Entwicklungswerkzeuge, Anwendungssoftware und ähnliches umfassen, ist aber nicht darauf beschränkt. Derartige computerlesbare Medien können ferner das Computerprogrammprodukt einer Ausführungsform der vorliegenden Erfindung umfassen, um die gesamte oder einen Teil (wenn die Verarbeitung verteilt ist) der Verarbeitung durchzuführen, die in der Implementierung der beispielhaften Ausführungsformen von 1 bis 8 durchgeführt wird. Die Computercodevorrichtungen der beispielhaften Ausführungsformen der vorliegenden Erfindung können jeden geeigneten interpretierbaren oder ausführbaren Codemechanismus, einschließlich Skripte, interpretierbare Programme, Dynamic-Link-Libraries (DLLs), Java-Klassen und Applets, vollständige ausführbare Programme, Common-Object-Request-Broker-Architecture-(CORBA) Objekte und ähnliches, umfassen, sind aber nicht darauf beschränkt. Überdies können Teile der Verarbeitung der beispielhaften Ausführungsformen der vorliegenden Erfindung für eine bessere Leistung, Zuverlässigkeit, Kosten und ähnliches verteilt werden.
  • Wie vorstehend dargelegt, können die Vorrichtungen und Teilsysteme der beispielhaften Ausführungsformen von 1 bis 8 computerlesbare Medien oder Speicher zum Halten von Anweisungen, die gemäß den Lehren der vorliegenden Erfindung programmiert sind, und zum Halten von Datenstrukturen, Tabellen, Datensätzen und/oder anderen hier beschriebenen Daten umfassen. Das computerlesbare Medium kann jedes geeignete Medium umfassen, das dabei mitmacht, Anweisungen für einen Prozessor zur Ausführung bereitzustellen. Ein derartiges Medium kann viele Formen, einschließlich nichtflüchtige Medien, flüchtige Medien, Übertragungsmedien und ähnliches, annehmen, ist aber nicht darauf beschränkt. Nichtflüchtige Medien können zum Beispiel optische oder magnetische Platten, magnetooptische Platten und ähnliche umfassen. Flüchtige Medien können dynamische Speicher und ähnliche umfassen. Übertragungsmedien können Koaxialkabel, Kupferdraht, Glasfasern und ähnliches umfassen. Übertragungsmedien können auch die Form akustischer, optischer, elektromagnetischer Wellen und ähnlicher, wie etwa die, die während Funkfrequenz-(RF-)Kommunikationen, Infrarot-(IR)Kommunikationen und ähnlichen erzeugt werden, annehmen. Übliche Formen von computerlesbaren Medien können zum Beispiel eine Diskette, eine flexible Magnetplatte, eine Festplatte, ein Magnetband, jedes andere geeignete magnetische Medium, eine CD-ROM, CDRW, DVD, jedes andere geeignete optische Medium, Lochkarten, Lochstreifen, optische Markierungsbelege und jedes andere geeignete physikalische Medium mit Muster aus Löchern oder anderen optisch erkennbaren Hinweisen, einen RAM, einen PROM, einen EPROM, einen FLASH-EPROM, jeden anderen geeigneten Speicherchip oder Kassette, eine Trägerwelle oder jedes andere geeignete Medium, von dem ein Computer lesen kann, umfassen.
  • Während die vorliegende Erfindung in Verbindung mit einer Anzahl beispielhafter Ausführungsformen und Implementierungen beschrieben wurde, ist die vorliegende Erfindung nicht so beschränkt, sondern deckt vielmehr verschiedene Modifikationen und äquivalente Anordnungen ab, die in den Bereich der beigefügten Patentansprüche fallen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 6963800 [0002, 0004, 0043, 0055]
    • US 7756635 [0002, 0004, 0043, 0055]
  • Zitierte Nicht-Patentliteratur
    • Seiten 93 bis 99 von „Artificial Intelligence: A Modem Approach, Third Edition” von Stuart Russel und Peter Norvig [0004]
    • Seiten 101 bis 102 von „Artificial Intelligence: A Modern Approach, Third Edition” [0005]
    • ”ARA*: Anytime A* with Provable Bounds an Sub-Optimality” von Maxim Likhachev, Geoff Gordon und Sebastian Thrun [0006]
    • „An optimal pathfinder or vehicles in real-world digital terrain maps” von F. Markus Jönsson [0007]
    • „Google Maps Overlays”, die aus dem World Wide Web unter code.google.com/apis/maps/ [0042]
    • „Ging Maps Tile System”, im World Wide Web verfügbar unter msdn.microsoft.com/enus/library/bb259689.aspx [0042]

Claims (25)

  1. System zum Erzeugen einer Fahrtroute, das aufweist: einen Kartengenerator zum Erzeugen von Karten mit mehreren Zoomstufen; und einen Routengenerator zum Erzeugen einer hochaufgelösten Route basierend auf einer oder mehreren nieder aufgelösten Routen, die aus den von dem Kartengenerator erzeugten Karten bestimmt werden.
  2. System in Anspruch 1, wobei der Routengenerator die hoch aufgelöste Route zugunsten der nieder aufgelösten Routen mit einer Vorgewichtung vorgewichtet, die sich mit der Entfernung zu den nieder aufgelösten Routen ändert.
  3. System in Anspruch 1, wobei die Graphiksuche des Routengenerators in Richtung von Knoten vorgewichtet ist, die näher an den nieder aufgelösten Routen sind.
  4. System in Anspruch 1, wobei der Routengenerator hochaufgelöste Kandidatenrouten, die innerhalb eine Search-Envelope bzw. Suchhülle fallen, welche die nieder aufgelösten Routen umgibt, begünstigt.
  5. System in Anspruch 4, wobei die Abmessungen der Search-Envelope von der aktuellen Zoomstufe abhängen.
  6. System in Anspruch 1, das ferner einen Heuristikgenerator aufweist, der hoch aufgelöste Kandidatenrouten, die in der Nähe der nieder aufgelösten Routen sind, begünstigt.
  7. System in Anspruch 6, wobei der Heuristikgenerator die hoch aufgelöste Route mit einer Vorgewichtung, die sich mit der Entfernung zu den nieder aufgelösten Routen ändert, zugunsten der nieder aufgelösten Routen vorgewichtet.
  8. System in Anspruch 6, wobei die Graphiksuche des Heuristikgenerators in Richtung von Knoten vorgewichtet ist, die näher an den nieder aufgelösten Routen sind.
  9. System in Anspruch 6, wobei der Heuristikgenerator hoch aufgelöste Kandidatenrouten begünstigt, die innerhalb eine Search-Envelope fallen, welche die nieder aufgelösten Routen umgibt.
  10. System in Anspruch 9, wobei die Abmessungen der Search-Envelope von der aktuellen Zoomstufe abhängen.
  11. System in Anspruch 1, wobei der Kartengenerator Kartenmerkmale bei niedrigeren Zoomstufen vergrößert, um die Routenplanung zu verbessern.
  12. System in Anspruch 11, wobei der Routengenerator die hoch aufgelöste Route mit einer Vorgewichtung, die sich mit der Entfernung zu den nieder aufgelösten Routen ändert, zugunsten der nieder aufgelösten Routen vorgewichtet.
  13. System in Anspruch 11, wobei die Graphiksuche des Routengenerators in Richtung von Knoten, die näher an den nieder aufgelösten Routen sind, vorgewichtet wird.
  14. System in Anspruch 11, wobei der Routengenerator hoch aufgelöste Kandidatenrouten begünstigt, die innerhalb eine Search-Envelope, welche die nieder aufgelösten Routen umgibt, fallen.
  15. System in Anspruch 14, wobei die Abmessungen der Search-Envelope von der aktuellen Zoomstufe abhängen.
  16. Verfahren zum Erzeugen einer Fahrtroute, wobei das Verfahren aufweist: Erzeugen von Karten mit mehreren Zoomstufen durch einen Kartengenerator; und Erzeugen einer hoch aufgelösten Route basierend auf einer oder mehreren nieder aufgelösten Routen, die aus den von dem Kartengenerator erzeugten Karten bestimmt werden, durch einen Routengenerator.
  17. Verfahren in Anspruch 16, wobei der Routengenerator die hoch aufgelöste Route zugunsten der nieder aufgelösten Routen mit einer Vorgewichtung vorgewichtet, die sich mit der Entfernung zu den nieder aufgelösten Routen ändert.
  18. Verfahren in Anspruch 16, wobei der Routengenerator eine Graphiksuche verwendet, die in Richtung von Knoten vorgewichtet ist, die näher an den nieder aufgelösten Routen sind.
  19. Verfahren in Anspruch 16, wobei der Routengenerator hochaufgelöste Kandidatenrouten, die innerhalb eine Search-Envelope fallen, welche die nieder aufgelösten Routen umgibt, begünstigt.
  20. Verfahren in Anspruch 16, wobei der Kartengenerator bei niedrigeren Zoomstufen Kartenmerkmale vergrößert, um die Routenplanung zu verbessern.
  21. Computerprogrammprodukt zum Erzeugen einer Fahrtroute, das eine oder mehrere computerlesbare Anweisungen umfasst, die auf einem konkreten computerlesbaren Medium eingebettet sind, und das konfiguriert ist, um einen oder mehrere Computerprozessoren dazu zu bringen, die folgenden Schritte durchzuführen: Erzeugen von Karten mit mehreren Zoomstufen durch einen Kartengenerator; und Erzeugen einer hoch aufgelösten Route basierend auf einer oder mehreren nieder aufgelösten Routen, die aus den von dem Kartengenerator erzeugten Karten bestimmt werden, durch einen Routengenerator.
  22. Computerprogrammprodukt in Anspruch 21, wobei der Routengenerator die hoch aufgelöste Route zugunsten der nieder aufgelösten Routen mit einer Vorgewichtung vorgewichtet, die sich mit der Entfernung zu den nieder aufgelösten Routen ändert.
  23. Computerprogrammprodukt in Anspruch 21, wobei der Routengenerator eine Graphiksuche verwendet, die in Richtung von Knoten vorgewichtet ist, die näher an den nieder aufgelösten Routen sind.
  24. Computerprogrammprodukt in Anspruch 21, wobei der Routengenerator hochaufgelöste Kandidatenrouten, die innerhalb eine Search-Envelope fallen, welche die nieder aufgelösten Routen umgibt, begünstigt.
  25. Computerprogrammprodukt in Anspruch 21, wobei der Kartengenerator bei niedrigeren Zoomstufen Kartenmerkmale vergrößert, um die Routenplanung zu verbessern.
DE102010040730.5A 2010-07-30 2010-09-14 System und Verfahren für mehrfach aufgelöste Routenplanung Active DE102010040730B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/847,845 2010-07-30
US12/847,845 US8374792B2 (en) 2010-07-30 2010-07-30 System and method for multi-resolution routing

Publications (2)

Publication Number Publication Date
DE102010040730A1 true DE102010040730A1 (de) 2012-02-02
DE102010040730B4 DE102010040730B4 (de) 2017-06-29

Family

ID=43431646

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102010040730.5A Active DE102010040730B4 (de) 2010-07-30 2010-09-14 System und Verfahren für mehrfach aufgelöste Routenplanung

Country Status (3)

Country Link
US (1) US8374792B2 (de)
DE (1) DE102010040730B4 (de)
GB (1) GB2482361B (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013211605A1 (de) * 2013-06-20 2014-12-24 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum Ermitteln von Korrekturwerten für einen Routenberechnungsalgorithmus
DE102013211602A1 (de) * 2013-06-20 2014-12-24 Bayerische Motoren Werke Aktiengesellschaft Verfahren und Vorrichtung zum Ermitteln einer Route

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010005424A1 (en) 2008-07-07 2010-01-14 Primordial, Inc. System and method for generating tactical routes
US8374792B2 (en) * 2010-07-30 2013-02-12 Primordial Inc. System and method for multi-resolution routing
US10345108B2 (en) * 2012-05-16 2019-07-09 Polaris Industries Inc. System and method for multi-plane routing
DE102013217897A1 (de) * 2013-08-30 2015-03-05 Robert Bosch Gmbh Verfahren zur elektrischen Regeneration eines Energiespeichers
EP2879012A1 (de) * 2013-11-29 2015-06-03 The Boeing Company System und Verfahren zur Kontrolle eines Arbeitsgeräts eines Flugzeugs
US10274331B2 (en) 2016-09-16 2019-04-30 Polaris Industries Inc. Device and method for improving route planning computing devices
US10378918B2 (en) * 2017-01-03 2019-08-13 Microsoft Technology Licensing, Llc Generating routes from lines based on zoom levels
WO2018179236A1 (ja) * 2017-03-30 2018-10-04 日本電気株式会社 車両制御システム、自動運転車、車両制御方法およびプログラム
AU2019387109A1 (en) 2018-11-26 2021-06-03 Edge Embossing, Inc. Thermoplastic forming tools, assemblages thereof, and methods of making and methods of use thereof
US10868751B2 (en) 2019-01-31 2020-12-15 Saudi Arabian Oil Company Configurable system for resolving requests received from multiple client devices in a network system
CN110672100B (zh) * 2019-09-17 2022-10-04 南京师范大学 基于多分辨率的快速地形路径规划并行化方法
US11878712B2 (en) 2020-02-26 2024-01-23 Baidu Usa Llc Trajectory planning with obstacle avoidance for autonomous driving vehicles
US20210262819A1 (en) * 2020-02-26 2021-08-26 Baidu Usa Llc A mixed regular and open-space trajectory planning method for autonomous driving vehicle
US20220252422A1 (en) * 2021-02-09 2022-08-11 Here Global B.V. Method, apparatus, and system for constructing a high-resolution map for geospatial big data processing
CN115420296B (zh) * 2022-11-07 2023-04-11 山东大学 基于多分辨率拓扑地图的路径搜索方法及系统
CN116734862B (zh) * 2023-08-09 2023-11-21 常熟理工学院 一种定向越野的路线选择方法、装置及计算机存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6963800B1 (en) 2002-05-10 2005-11-08 Solider Vision Routing soldiers around enemy attacks and battlefield obstructions
US7756635B2 (en) 2003-04-09 2010-07-13 Primordial, Inc. Method and system for generating and presenting off-road travel routes

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5030117A (en) * 1987-09-25 1991-07-09 Delorme David M Digital global map generating system
US5031104A (en) * 1988-12-05 1991-07-09 Sumitomo Electric Industries, Ltd. Adaptive in-vehicle route guidance system
JP2673403B2 (ja) 1992-06-23 1997-11-05 本田技研工業株式会社 経路探索装置
JP3203399B2 (ja) * 1993-05-13 2001-08-27 松下電器産業株式会社 経路探索装置
JP3414873B2 (ja) * 1995-01-20 2003-06-09 三菱電機株式会社 車載用ナビゲーション装置
JPH08201088A (ja) * 1995-01-24 1996-08-09 Pioneer Electron Corp 経路探索機能を有する車載ナビゲーション装置
US5938720A (en) * 1995-02-09 1999-08-17 Visteon Technologies, Llc Route generation in a vehicle navigation system
JP3173983B2 (ja) * 1995-12-28 2001-06-04 松下電器産業株式会社 経路選出方法およびシステム
US5910177A (en) * 1996-12-09 1999-06-08 Visteon Technologies, Llc Navigating close proximity routes with a vehicle navigation system
US6102958A (en) * 1997-04-08 2000-08-15 Drexel University Multiresolutional decision support system
JPH1137780A (ja) * 1997-07-23 1999-02-12 Mitsubishi Electric Corp 経路探索方法
JP3603927B2 (ja) * 1997-08-08 2004-12-22 アイシン・エィ・ダブリュ株式会社 車両用ナビゲーション装置及びナビゲーション方法
US6192314B1 (en) * 1998-03-25 2001-02-20 Navigation Technologies Corp. Method and system for route calculation in a navigation application
JP3076026B1 (ja) * 1999-03-30 2000-08-14 松下電器産業株式会社 ナビゲーション装置
JP3455153B2 (ja) * 2000-02-16 2003-10-14 松下電器産業株式会社 交差点における車線誘導案内表示方法およびそのナビゲーション装置並びに記録媒体
US6785608B1 (en) * 2001-12-19 2004-08-31 Navteq North America, Llc System and method for calculating an optimized route and calculation thereof
US7133771B1 (en) * 2002-08-29 2006-11-07 America Online, Inc. Automated route determination to avoid a particular maneuver
US7818116B1 (en) * 2002-12-30 2010-10-19 Mapquest, Inc. Presenting a travel route in a ground-based vehicle
US7474960B1 (en) * 2002-12-30 2009-01-06 Mapquest, Inc. Presenting a travel route
US20060095171A1 (en) * 2004-11-02 2006-05-04 Whittaker William L Methods, devices and systems for high-speed autonomous vehicle and high-speed autonomous vehicle
JP5116236B2 (ja) * 2006-01-30 2013-01-09 アルパイン株式会社 地図データ作成方法及び地図データ作成装置
GB0608069D0 (en) * 2006-04-24 2006-05-31 Pandora Int Ltd Image manipulation method and apparatus
JP5013738B2 (ja) * 2006-04-25 2012-08-29 アルパイン株式会社 地図データ作成装置
US20070288156A1 (en) * 2006-05-17 2007-12-13 The Boeing Company Route search planner
DE602006010988D1 (de) * 2006-06-13 2010-01-21 Harman Becker Automotive Sys Bestimmung einer optimalen Route mittels einer Schätzungsfunktion
WO2008005454A2 (en) * 2006-07-05 2008-01-10 Primordial Method and system for providing off-road guidance
GB2446167B (en) * 2007-02-02 2011-08-17 Satmap Systems Ltd Mapping system
US20090125229A1 (en) * 2007-11-14 2009-05-14 Telmap, Ltd. Corridor mapping with alternative routes
JP4513073B2 (ja) * 2007-12-25 2010-07-28 アイシン・エィ・ダブリュ株式会社 ナビゲーション装置およびプログラム
WO2010005424A1 (en) * 2008-07-07 2010-01-14 Primordial, Inc. System and method for generating tactical routes
JP5057246B2 (ja) * 2008-10-16 2012-10-24 アイシン・エィ・ダブリュ株式会社 ナビゲーション装置およびプログラム
KR101633889B1 (ko) 2009-02-18 2016-06-28 삼성전자주식회사 격자지도를 이용한 경로 생성 장치 및 방법
US8175801B2 (en) * 2009-02-28 2012-05-08 Alpine Electronics, Inc. Link promotion method and apparatus for improving route search performance for navigation system
US8150620B2 (en) * 2009-04-14 2012-04-03 Alpine Electronics, Inc. Route search method and apparatus for navigation system utilizing map data of XML format
JP5590950B2 (ja) * 2010-04-12 2014-09-17 アルパイン株式会社 ナビゲーション装置および誘導経路探索方法
US8374792B2 (en) * 2010-07-30 2013-02-12 Primordial Inc. System and method for multi-resolution routing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6963800B1 (en) 2002-05-10 2005-11-08 Solider Vision Routing soldiers around enemy attacks and battlefield obstructions
US7756635B2 (en) 2003-04-09 2010-07-13 Primordial, Inc. Method and system for generating and presenting off-road travel routes

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
"An optimal pathfinder or vehicles in real-world digital terrain maps" von F. Markus Jönsson
"ARA*: Anytime A* with Provable Bounds an Sub-Optimality" von Maxim Likhachev, Geoff Gordon und Sebastian Thrun
"Ging Maps Tile System", im World Wide Web verfügbar unter msdn.microsoft.com/enus/library/bb259689.aspx
"Google Maps Overlays", die aus dem World Wide Web unter code.google.com/apis/maps/
Seiten 101 bis 102 von "Artificial Intelligence: A Modern Approach, Third Edition"
Seiten 93 bis 99 von "Artificial Intelligence: A Modem Approach, Third Edition" von Stuart Russel und Peter Norvig

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013211605A1 (de) * 2013-06-20 2014-12-24 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum Ermitteln von Korrekturwerten für einen Routenberechnungsalgorithmus
DE102013211602A1 (de) * 2013-06-20 2014-12-24 Bayerische Motoren Werke Aktiengesellschaft Verfahren und Vorrichtung zum Ermitteln einer Route
US9952055B2 (en) 2013-06-20 2018-04-24 Bayerische Motoren Werke Aktiengesellschaft Method for determining correction values for a route calculation algorithm
US10145695B2 (en) 2013-06-20 2018-12-04 Bayerische Motoren Werke Aktiengesellschaft Method and apparatus for determining a route and correction values for heuristic values

Also Published As

Publication number Publication date
GB2482361B (en) 2013-07-10
US8374792B2 (en) 2013-02-12
GB2482361A (en) 2012-02-01
DE102010040730B4 (de) 2017-06-29
US20120029804A1 (en) 2012-02-02
GB201019536D0 (en) 2010-12-29

Similar Documents

Publication Publication Date Title
DE102010040730B4 (de) System und Verfahren für mehrfach aufgelöste Routenplanung
EP2507589B1 (de) Verfahren zur vereinfachung einer beschreibung einer fahrtroute
DE112016002817T5 (de) Änderungserfassungbasiertes bildaufnahme-beauftragungssystem
DE202015009184U1 (de) Wegbeschreibung zwischen automatisch bestimmten Ausgangspunkten und ausgewählten Zielen
DE69937116T2 (de) Abkürzungsgenerator
DE112005001300T5 (de) Verfahren zur Bereitstellung von Kartendaten
DE102011003165A1 (de) Kartendatensatz, Navigationsvorrichtung mit Kartendatensatz und Verfahren zum Erzeugen eines Kartendatensatzes
EP2075781A1 (de) Verfahren zur Erzeugung einer digitalen Landkarte
DE102020108343B4 (de) Anzeigesystem und Head-up Display
DE112018007134T5 (de) Fahrassistenzssystem, fahrassistenzverfahren und fahrassistenzprogramm
DE112020001255T5 (de) Tiefes neurales netzwerk mit niedrigem leistungsverbrauch zur gleichzeitigen objekterkennung und semantischen segmentation in bildern auf einem mobilen rechengerät
DE112014004644T5 (de) System zum Bereistellen proaktiver Zoneninformationen
DE202014010884U1 (de) Anpassen von Abbiegesymbolen im Hinblick auf Straßengeometrie
DE112013007437T5 (de) Speichermedium, Karteninformation-Verarbeitungsvorrichtung, Datenerzeugungsverfahren
EP0276366A1 (de) Korrekturverfahren für die Koppelortung von Landfahrzeugen
DE102012210454A1 (de) Verfahren und Vorrichtung zur Bereitstellung von Daten für einen elektronischen Horizont für ein Fahrerassistenzsystem eines Fahrzeugs
DE102018202970A1 (de) Verfahren zum Ermitteln einer topologischen Information einer Straßenkreuzung
DE102010041513A1 (de) Verfahren und Vorrichtung zur Ermittlung zumindest einer Austrittswahrscheinlichkeit aus einem, in einer digitalen Karte als offenes Gelände erkennbaren Geländegebiet
DE10349263A1 (de) Verfahren zur Zerlegung eines Straßennetzes aus Kanten und Knoten
DE102019111710A1 (de) Automatische kartengenerierung
DE112012005733B4 (de) Kartendatenstruktur, Kartendatenerstellungsverfahren und Bordinformationsterminal
DE102019002574A1 (de) Navigationssystem und Verfahren zum diskreten Routen
DE102022110689A1 (de) Verfahren zum Verbessern der Straßentopologie durch eine Sequenzschätzung und Detektion von Ankerpunkten
WO2008119585A2 (de) VERFAHREN ZUM ERSTELLEN EINES VERZEICHNISSES VON STRAßENABSCHNITTEN, VERFAHREN ZUM ERMITTELN ALLER STRAßENABSCHNITTE INNERHALB EINES SUCHGEBIETS UND COMPUTERPROGRAMM
DE19816585A1 (de) Verfahren zur Routeninformation eines Endgerät-Benutzers durch Übermittlung von Routeninformationen von einer Zentrale an das Endgerät

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final