DE68906648T2 - Verfahren für parzellenorientierte Streckenplanung sowie Navigationssystem mit einem Streckenplaner zur Durchführung eines derartigen Verfahrens. - Google Patents

Verfahren für parzellenorientierte Streckenplanung sowie Navigationssystem mit einem Streckenplaner zur Durchführung eines derartigen Verfahrens.

Info

Publication number
DE68906648T2
DE68906648T2 DE89202867T DE68906648T DE68906648T2 DE 68906648 T2 DE68906648 T2 DE 68906648T2 DE 89202867 T DE89202867 T DE 89202867T DE 68906648 T DE68906648 T DE 68906648T DE 68906648 T2 DE68906648 T2 DE 68906648T2
Authority
DE
Germany
Prior art keywords
parcel
vectors
vector
list
parcels
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.)
Expired - Fee Related
Application number
DE89202867T
Other languages
English (en)
Other versions
DE68906648D1 (de
Inventor
Rick Achiel Verstraete
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.)
Siemens AG
Original Assignee
Koninklijke Philips Electronics NV
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=19853245&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE68906648(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of DE68906648D1 publication Critical patent/DE68906648D1/de
Application granted granted Critical
Publication of DE68906648T2 publication Critical patent/DE68906648T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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

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)
  • Feedback Control In General (AREA)
  • Traffic Control Systems (AREA)
  • Instructional Devices (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

  • Elektronische Navigations- und Informationssysteme werden für den Einsatz in Kraftwagen entwickelt. Diese Systeme können den Fahrer eines Kraftwagens oder die Mitfahrer von der Aufgabe, die beste Strecke zu einem Zielort zu bestimmen, entlasten. Insbesondere für Polizei, Feuerwehr, Unfallwagen u. ä. ist es entscheidend, keine Zeit mit der Suche nach der besten Strecke zu verlieren, aber auch der Durchschnittsfahrer kann sich viel Ärger ersparen, indem er ein solches System einsetzt. Das System kann nicht nur in unbekannter Umgebung sinnvoll sein, sondern auch in bekannter Umgebung bei der Streckenplanung zur Vermeidung von Staus.
  • Eines der Hauptprobleme bei der Entwicklung eines Navigations- und Informationssystems für Kraftwagen besteht in der großen Menge topographischer und verkehrstechnischer Information, die für die Streckenplanung erforderlich ist. Diese Information muß gespeichert werden und für die Verarbeitung in einem Prozessor leicht zugänglich sein.
  • Die Compact Disc ist ein äußerst effizientes Medium für die Speicherung digitaler Daten: eine CD kann 4800 Mbit speichern. Das ist mehr als das Tausendfache der Speicherkapazität des derzeit verfügbaren RAM-Halbleiterspeichers. Die Zugriffszeit ist für eine CD viel kürzer als für eine Magnetbandkassette, aber länger als für einen Halbleiterspeicher und sicher nicht vernachlässigbar kurz.
  • Die Erfindung betrifft ein Verfahren zur Bestimmung einer optimalen Strecke zwischen einem Anfangs- und einem Bestimmungsort anhand topographischer und verkehrstechnischer Information durch wiederhole Selektion von Vektoren und Erweiterung eines Suchbaums aus Vektoren, die bereits geplante Teilstrecken bilden, wobei jedem Vektor ein Gewichtsfaktor zugeordnet und für jede Teilstrecke ein kumulativer Gewichtsfaktor durch Addition der Gewichtsfaktoren der Vektoren der bereits geplanten Teilstrecke bestimmt wird.
  • Die Erfindung betrifft auch ein Navigationssystem mit einem Streckenplaner, der folgendes umfaßt:
  • - einen Speicher für parzellenweise Speicherung topographischer und verkehrstechnischer Information;
  • - eine Eingabe-/Ausgabeeinheit zur Eingabe und Ausgabe von Information hinsichtlich einem Anfangs- und einem Bestimmungsort;
  • - einen Prozessor, der so programmiert ist, daß, über wiederholte Selektion von Vektoren und Erweiterung eines Suchbaums aus Vektoren, die bereits geplante Teilstrecken bilden, eine optimale Strecke von einem gegebenen Anfangsort aus bis zu einem gegebenen Bestimmungsort auf der Grundlage von jedem Vektor zugeordneten Gewichtsfaktoren berechnet wird.
  • Ein derartiges Verfahren ist aus dem Beitrag "A formal basis for the heuristic determination of miniumum cost paths" von Hart et al., IEEE Transactions of Systems Science and Cybernetics, Bd. SSC-45, Nr. 2, Juli 1968, bekannt. Anhand zugeordneter Gewichtsfaktoren werden die Kriterien, aufgrund derer die Strecke optimiert wird, überprüft: z.B. kürzester Abstand oder kürzeste Zeit.
  • Ein solches Verfahren und ein auf der Grundlage eines solchen Verfahrens arbeitendes Navigationssystem haben den Nachteil, daß die Datenmenge, die ständig für die Streckenplanug zur Verfügung stehen sein muß, in der Praxis für einen bei dem Verfahren und zusammen mit dem Navigationssystem zu verwendenden Arbeitsspeicher zu groß ist.
  • In dem Beitrag "CAR Guide-on-board computer for automobile route guidance", M. Sugie et al., AFIPS Conference Proceedings, 1984 National Computer Conference, Las Vegas, Nevada, 9.-12. Juli 1984, S. 695-706, AFIPS Press, Reston, Virginia, US, wird ein Navigationssytem beschrieben, in dem optimale Strecken durch Unterteilung einer Landkarte in Teildarstellungen oder Blöcke bestimmt werden, in denen jeweils, unter Verwendung des Algorithmus von Dijkstra, eine beste Strecke gefunden worden ist, wobei zwischen entfernten Blöcken Zwischenblockstrecken berechnet werden. Wenn die Anzahl Blöcke zu groß ist, hat dieses System ebenfalls Speicherkapazitätsprobleme.
  • Daher liegt der Erfindung als Aufgabe zugrunde, ein verbessertes Navigationssystem zu verschaffen, das optimale Strecken auf der Grundlage aufeinanderfolgend selektierter Blöcke mit Teilinformation bestimmt und das darauf einspielt, welche Teilinformation kurz darauf für die Berechnungen in dem Prozessor wichtig wird. Hierzu ist ein Navigationssystem, wie in der Erfindung beansprucht, dadurch gekennzeichnet, daß der Speicher einen Hintergrundspeicher enthält, in dem die parzellenweise organisierte topographische und verkehrstechnische Information gespeichert ist, und außerdem einen Arbeitsspeicher, in den aus dem Hintergrundspeicher, unter der Steuerung des Prozessors, nur die Parzellen übertragen werden, die aufgrund eines Evaluationswertes selektiert worden sind, der durch eine Summe der Gewichtsfaktoren der eine bereits geplante Teilstrecke und eine geschätzte fiktive, über die betreffende Parzelle noch zurückzulegende Teilstrecke bildenden Vektoren bestimmt worden ist, wobei von dem Prozessor für die wiederholte Selektion von Vektoren und die Erweiterung des Suchbaums nur Vektoren aus in dem Arbeitsspeicher vorhandenen Parzellen verwendet werden.
  • Es wird also erreicht, daß die unmittelbar benötigte Information immer im Arbeitsspeicher vorhanden ist.
  • KURZE BESCHREIBUNG DER ZEICHNUNG
  • Es zeigen:
  • Figur 1 ein Navigationssystem für einen Kraftwagen;
  • Figur 2 einen Ablaufplan des bekannten Suchalgorithmus;
  • Figur 3 eine detaillierte Darstellung eines Teils des Suchalgorithmus;
  • Figur 4 einen Ablaufplan des modifizierten Suchalgorithmus;
  • Figur 5 die Bestimmung eines Evaluationswertes für eine Nachbarparzelle einer Kandidatparzelle in dem Arbeitsspeicher;
  • Figur 6 schematisch einen Kartenabschnitt, in dem ein Vektor eine Parzellengrenze berührt.
  • BESCHREIBUNG DER ERFINDUNG
  • Ein Navigations- und Informationssystem für Kraftwagen, wie beispielsweise CARIN (CAR Information and Navigation System) plant die beste Strecke, unterstützt den Fahrer mittels eines Sprachsynthesizers oder eines Symbol-Anzeigefeldes, bestimmt in regelmäßigen Abständen die Fahrzeugposition, wählt eine andere Strecke, wenn durch codierte Rundfunksignale Verkehrsstörungen signalisiert werden und kann auch touristische Information liefern.
  • Für die Speicherung der die erforderliche topographische und verkehrstechnische Information repräsentierenden digitalen Daten nutzt CARIN die Compact Disc.
  • Figur 1 zeigt ein Navigationssystem für einen Kraftwagen. Ein Mikroprozessor 2, ein Arbeitsspeicher 3, der eine Kapazität von beispielsweise 1 MByte hat, und ein CD-Spieler kommunizieren miteinander über einen Bus 1. Zusätzlich zu den bekannten Rundfunksignalen empfängt ein Rundfunkgerät 5 auch codierte digitale Rundfunksignale 8 mit Verkehrsinformation. Diese Signale werden in einem Decodierer 6, der mit dem Bus 1 über eine Schnittstelle 7 verbunden ist, decodiert. Eine Tastatur 9 kommuniziert mit dem Bus 1 über eine Schnittstelle 11, ebenso wie die Wiedergabeeinheit 10, die zur Wiedergabe von topographischen, Verkehrs- und Navigationsdaten einen Monitor und einen elektronischen Sprachsynthesizer mit Lautsprechern enthält. Über eine Schnittstelle 12 bestimmt der Mikroprozessor mit Hilfe eines Kompasses 13 (z.B. einem faseroptischen Gyroskop), einem Wegstreckenzähler 14 und Radsensoren 15 die aktuelle Position des Fahrzeugs.
  • Die topographische und verkehrstechnische Information kann in verschiedener Weise digitalisiert werden. Das Rasterabtastverfahren arbeitet beispielsweise folgendermaßen: Eine Straßenkarte (beispielsweise im Maßstab 1:100.000) wird in Bildelemente von beispielsweise 0,1 mm x 0,1 mm Größe unterteilt. Die Farbe jedes Bildelements wird durch einen digitalen Code dargestellt. Ein anderes Verfahren, das erheblich weniger Speicherkapazität benötigt, ist das Vektorverfahren. Dabei werden die Straßenmitten durch geradlinige Abschnitte, die jeweils einen Vektor darstellen, angenähert. Ein Ende eines Vektors, der bestimmten Anforderungen genügt, wird als Knoten oder 0-Zelle bezeichnet. Ein Vektor oder eine Folge von Vektoren, die zwei Knoten verbinden, wird als Kette oder 1-Zelle bezeichnet. Eine von Ketten umschlossene Fläche wird als 2-Zelle bezeichnet. Die Begriffe 0-Zelle, 1-Zelle und 2-Zelle sind aus der Topologie bekannt; siehe S. Lefschetz: "Introduction to topology", Princeton University Press, Princeton, N.J., 1949. Für die zu beschreibenden Suchalgorithmen wird angenommen, daß die Digitalisierung nach dem Vektorverfahren erfolgt. Daher ist der Einfachheit halber jede 1-Zelle ein Vektor, und jeder Vektor ist eine 1-Zelle.
  • Wie bereits erwähnt, wird als Speichermedium für das System die Compact Disc verwendet, insbesondere eine Compact Disc Interactive, für die ein internationaler Standard in Vorbereitung ist. Zusätzlich zu den erforderlichen digitalen Daten wird die CD-I-Platte Software enthalten. Die Speicherkapazität einer CD ist 4800 MBit. Der Halbleiter-Arbeitsspeicher des Computers hat eine Kapazität von nur ungefähr 8 Mbit. Es dauert ungefähr eine Stunde, um die gesamte Information einer CD zu lesen, und ungefähr 6 Sekunden, um den Arbeitsspeicher vollständig mit von der CD gelieferter Information zu füllen. Die Zugriffszeit für die Information der CD ist nicht vernachlässigbar klein, so daß die Daten nicht zu demselben Zeitpunkt gelesen werden können, zu dem sie für die Navigation benötigt werden. Erfindungsgemäß wird auf die Teilinformation, die kurz darauf für die Navigation wichtig wird, vorgegriffen. Hierzu müssen die Daten auf der CD so zweckmäßig wie möglich gespeichert werden: Die Information wird in Parzellen unterteilt, die vorzugsweise, aber nicht notwendigerweise, rechteckig sind. Um die Zugriffszeit zu minimieren, enthalten die Parzellen vorzugsweise ungefähr die gleiche Datenmenge; außerdem sind Parzellen, die topographisch nahe beieinander liegen, vorzugsweise auch auf der CD nahe beieinander gespeichert.
  • Eine Straßenkarte kann nach verschiedenen Algorithmen in Parzellen unterteilt werden, beispielsweise nach dem Quadranten-Baumalgorithmus, bei dem eine rechteckige Karte wiederholt in vier Rechtecke unterteilt wird, bis die Informationsmenge in jedem Rechteck unter eine vorgegebene Grenze abnimmt.
  • Die Anordnung der von den so gefundenen Rechtecken gebildeten Parzellen auf der CD ist mit der Umsetzung einer zweidimensionalen Struktur in eine eindimensionale Struktur vergleichbar, siehe E.A. Patrick, D.R. Anderson und F.K. Bechtel "Mapping multidimensional space to one dimension for computer output display", IEEE Transactions C-17, 949-953, 1968. Dies kann mit Hilfe raumfüllender Kurven erreicht werden, die aus der Literatur bekannt sind, siehe G. Peano, "Sur une courbe, qui rempli toute une aire plane", Math. Annalen 36, 157-160, 1890. Eine solche raumfüllende Kurve ist für die Anordnung von Parzellen, die durch Aufteilung nach dem Quadranten-Baumverfahren erhalten worden sind, geeignet, und zwar, weil nahe beieinander gelegene Parzellen häufig auch auf der Kurve nahe beieinander liegen, so daß das Holen von Information über ein solch nahes Gebiet wenig Zeit erfordert.
  • Außerdem ist für einen effizienten Umgang mit der aus der CD ausgelesenen Information innerhalb jeder Parzelle eine effiziente Struktur erforderlich. Die Adressen in dem Speicher, die die Daten für die 0-, 1- und 2-Zellen enthalten, sind durch Listen miteinander verbunden, die zur Kopplung der verschiedenen Speicherplätze Zeiger benutzen.
  • Figur 2 zeigt einen Ablaufplan des Suchalgorithmus, der aus dem Beitrag "A formal basis for the heuristic determination of minimumn cost paths" von Hart et al., IEEE Transactions of Systems Science and Cybernetics, Bd. SSC-45, Nr. 2, Juli 1968, bekannt ist. Die Information wird aus dem gesamten Speicher gewonnen. Der Algorithmus arbeitet auf Basis der wiederholten Selektion von Vektoren aus einer Kandidatenliste C und Erweiterung eines Suchbaums S, der Vektoren v enthält, die bereits geplante Teilstrecken bilden. Jedem Vektor v wird ein Gewichtsfaktor R(v) ≥ 0 zugeordnet, beispielsweise der entsprechende Abstand oder die geschätzte Zeitdauer, die zum Durchfahren des betreffenden Abstandes benötigt wird. Somit wird für jeden Vektor ein kumulativer Gewichtsfaktor g(v) des bereits geplanten Weges zum Vektor v bestimmt sowie für den gesamten Gewichtsfaktor des optimalen Weges zwischen dem Vektor v und dem Bestimmungsort ein Schätzwert h(v) ermittelt. Die Summe von g(v) und h(v), als f(v) bezeichnet, ist ein Evaluationswert des Vektors v. Der Evaluationswert f(b) einer Parzelle b wird definiert als der günstigste Evaluationswert der Vektoren in der Parzelle b, die in der Kandidatenliste C aufgelistet sind. Ein Vektor, für den der beste Wert angenommen wird, werde vb genannt. Sei eine Liste BV von Ausgangsort- oder Anfangsvektoren mit entsprechenden f-, g- und h-Werten und eine Liste DV von Ziel- oder Bestimmungsortvektoren gegeben, dann findet der Algorithmus einen optimalen Weg zu einem der Ausgangsorte für jedes Ziel, sofern es einen solchen optimalen Weg gibt. Es werden drei Datenstrukturen verwendet: die Kandidatenliste C, die noch nicht gefundene Ziele enthaltende Liste T und die Liste S, die Vektoren enthält, die auf der Kandidatenliste C aufgelistet sind oder waren (der Suchbaum).
  • Während der Ausführung des Algorithmus werden erst in Block 1 die Kandidatenliste C und der Suchbaum S initialisiert: C wird mit allen Ausgangsortvektoren gefüllt und S wird mit allen Ausgangsortvektoren mit ihren zugehörigen f-, g- und h-Werten sowie einem leeren Feld zur Aufzeichnung eines Zeigers gefüllt, der die Beziehung mit anderen Vektoren, die zusammen eine geplante Teilstrecke bilden, angibt. In Block 2 wird die Liste T mit noch nicht gefundenen Zielen initialisiert: T wird die Zielliste DV. In diesem Zusammenhang wird angenommen, daß BV und DV einen leeren Durchschnitt haben. Die Liste T soll im folgenden einfach als Suchliste bezeichnet werden. In Block 3 wird untersucht, ob mindestens eine der beiden Listen C und T leer ist. Wenn das der Fall ist, wird der Suchvorgang beendet: wenn die Kandidatenliste C leer ist und die Suchliste nicht, können einige Ziele nicht erreicht werden; wenn die Suchliste T leer ist, ist ein optimaler Weg zu allen Zielvektoren gefunden worden. In Block 12 wird die Zielliste DV in die Suchliste T mit nicht gefundenen Zielen verändert (diese Liste kann eventuell leer sein). In Block 13 wird der Suchbaum S ausgegeben, der notwendig ist, um dem optimalen Weg mittels Zeigern zu folgen. Solange die Kandidatenliste C und die Suchliste T nicht leer sind, wird die von den Blöcken 3-11 gebildete Schleife durchlaufen. In Block 4 wird aus der Kandidatenliste C der Vektor v mit dem günstigsten Evaluationswert selektiert. In Block 5 wird untersucht, ob der Vektor v in der Suchliste enthalten ist. Wenn das der Fall ist, wird in Block 6 der Vektor v aus der Suchliste T gestrichen, weil das Ziel gefunden worden ist. Anschließend wird in Block 7 untersucht, ob die Suchliste T leer ist. Wenn das der Fall ist, ist ein optimaler Weg zu allen Zielen hin gefunden worden, wird der Suchvorgang beendet und das Programm in Block 12 fortgesetzt. Wenn nicht, dann wird in Block 8 der Vektor v aus der Kandidatenliste C gestrichen. In Block 9 werden die Nachfolger des Vektors v bestimmt: dies sind die mit dem Vektor v zusammenhängenden Vektoren Vi. In Block 11 wird für jeden Nachfolger vi bestimmt, ob der neue, den Vektor vi einschließende Weg besser ist als ein bereits vorhandener, den Vektor vi einschließender Weg; wenn das der Fall ist, werden der Suchbaum S, die Kandidatenliste C, der Evaluationswert f(vi) und der kumulative Gewichtsfaktor g(vi) so, wie im folgenden beschrieben wird, angepaßt. Hierzu wird in Block 10 jedesmal der folgende Vektor vi selektiert. Wenn alle Vektoren abgehandelt sind, fährt das Programm in Block 3 fort.
  • Figur 3 ist eine detailliertere Darstellung des Blockes 11. In Block 21 wird untersucht, ob der Vektor vi in dem Suchbaum S vorkommt. Wenn das der Fall ist, wird in Block 22 der kumulative Gewichtsfaktor des neuen Weges, g(v)+R(vi), mit dem kumulativen Gewichtsfaktor des zuvor gefundenen Weges, g(vi), verglichen. Hierbei ist R(vi) der Gewichtsfaktor des Vektors vi. Wenn der neue Weg günstiger ist, wird in Block 23 der Vektor vi zur Kandidatenliste C hinzugefügt und der zugehörige Evaluationswert f(vi) und der kumulative Gewichtsfaktor g(vi) werden angepaßt. In diesem Fall wird in Block 24 der Suchbaum S angepaßt: neue Werte für f und g werden zu dem Vektor vi hinzugefügt und auch der Zeiger, der, durch Rückverweis in dem Baum, den bisher geplanten Weg zwischen dem Vektor vi und den Ausgangsorten anweist. Wenn in dem Block 22 kein besserer Wert gefunden worden ist, wird der Block 11 (Figur 2) verlassen. Wenn sich in dem Block 21 ergeben hat, daß der Vektor vi in dem Suchbaum S nicht vorkommt, wird in Block 25 der Vektor vi zur Kandidatenliste C hinzugefügt, und der Evaluationswert f(vi) und der kumulative Gewichtsfaktor g(vi) werden angepaßt. In Block 26 wird dann der Suchbaum S angepaßt: Der Vektor vi wird mit seinen f-, g- und h-Werten hinzugefügt und auch der Zeiger zum Rückverweisen. Die von den Blöcken 10 und 11 gebildete Schleife wird durchlaufen, bis alle Nachfolger vi des Vektors v untersucht worden sind.
  • Der beschriebene Algorithmus findet unter der Bedingung, daß die Evaluationsfunktion bestimmte Anforderungen erfüllt, einen optimalen Weg zu den Zielen. Für einen Beweis hierfür wird auf den genannten Beitrag von Hart et al. verwiesen.
  • Der von der Erfindung vorgeschlagene parzellenorientierte Suchalgorithmus weicht in folgender Hinsicht von dem bekannten Algorithmus ab. Eine Anzahl Parzellen wird vorübergehend eingeschlossen, und die Suche wird nur in den eingeschlossenen Parzellen durchgeführt. Die einzuschließenden Parzellen werden folgendermaßen selektiert: Die Parzellen, die sich mit der Kandidatenliste C überschneiden, bilden zusammen die Kandidatenparzellenliste BC. Wie erwähnt wurde, haben diese Parzellen einen Evaluationswert: den günstigsten Evaluationswert der Vektoren in der betreffenden Parzelle, die auf der Kandidatenliste aufgelistet ist. Anfangs kann eine möglichst große Anzahl von Kandidatenzellen (durch den maximal verfügbaren Speicherraum begrenzt), die die günstigsten Evaluationswerte haben, in dem Arbeitsspeicher eingeschlossen werden. Während jeder anschließenden Bestimmung der einzuschließenden Parzellen wird, bei einer in dem Arbeitsspeicher vorhandenen, gegebenen Anzahl Kandidatenparzellen, auch für alle angrenzenden Parzellen ein Evaluationswert berechnet (wie später beschrieben werden soll). Die Kandidatenparzellen bilden zusammen mit den Nachbarparzellen der Kandidatenparzellen in dem Speicher die Parzellenanforderungsliste BR. Aufgrund der berechneten Evaluationswerte werden aus dieser Liste die in dem Arbeitsspeicher einzuschließenden Parzellen selektiert. Die Bestimmung der eingeschlossenen Parzellen wird während der Ausführung des Suchalgorithmus regelmäßig durchgeführt.
  • Die Vektoren auf der Kandidatenliste C, die sich nicht in einer eingeschlossenen Parzelle befinden, werden vorübergehend aus der Liste gestrichen und auf eine Warteliste gesetzt. Demzufolge brauchen die zu den Zielen gefundenen Wege nicht optimal zu sein, da die Kandidatenvektoren nicht in der Reihenfolge ihres Evaluationswertes erweitert wurden, was nach Hart et al. notwendig ist, um ein optimales Ergebnis zu erhalten. Wenn ein Ziel erreicht wird, ist es daher möglich, daß es einen besseren Weg gibt, der noch nicht gefunden worden ist. Daher muß der Suchvorgang fortgesetzt werden, um optimale Ergebnisse zu garantieren.
  • Während des Suchvorgangs ist zu jedem Zeitpunkt nur der zu dem Kandidatenvektor mit dem vorübergehend günstigsten Evaluationswert gehörende Weg optimal, weil alle Vektoren mit günstigerem Evaluationswert untersucht worden sind und Wege mit ungünstigeren Evaluationswerten ergeben haben. Ein Zielvektor auf der Kandidatenliste kann daher nur aus ihr gestrichen werden, wenn alle anderen Vektoren auf der Kandidatenliste einen ungünstigeren Evaluationswert haben. Daher muß der Suchvorgang fortgesetzt werden, bis alle Vektoren auf der Kandidatenliste einen ungünstigeren Evaluationswert haben als alle Zielvektoren. Vektoren auf der Kandidatenliste, die einen ungünstigeren Evaluationswert haben als alle Zielvektoren, können niemals einen besseren Weg ergeben, so daß sie gestrichen werden können; dies gilt, weil der Evaluationswert f während des Suchvorgangs monoton nicht-abfallend ist (siehe Hart et al.)
  • Figur 4 zeigt einen Ablaufplan des modifizierten Suchalgorithmus. Wie bereits erwähnt, untersucht der Algorithmus nur die Kandidatenvektoren, die in den eingeschlossenen Parzellen vorkommen (Liste L). Die dem Algorithmus von Figur 2 entsprechenden Schritte sind gestrichelt gezeichnet, die neuen Schritte werden mit durchgezogenen Linien angegeben. Die neuen Schritte sollen im folgenden beschrieben werden.
  • In Block 31 werden die Liste L mit den eingeschlossenen Parzellen und die Parzellenanforderungsliste BR als leer initialisiert sowie der günstigste f-Wert der Kandidatenliste C, mit f&sub1; bezeichnet, und der ungünstigste f-Wert der Suchliste T, mit fu bezeichnet, bestimmt. In Block 32 werden entweder Fehlermeldungen gelesen, woraufhin alle Vektoren, die in einer "fehlerhaften" (beispielsweise unlesbaren) Parzelle vorkommen, aus der Kandidatenliste C gestrichen werden, oder es werden Meldungen in bezug auf das Einschreiben einer Parzelle in den Speicher gelesen. Wenn im letztgenannten Fall eine verfügbare Parzelle b nicht in der Liste eingeschlossener Parzellen vorkommt, wird ihr Evaluationswert f(b) mit dem bisher besten Evaluationswert der Reihe von Meldungen, mit vlu bezeichnet, verglichen. Erforderlichenfalls wird vlu angepaßt. In Block 33 wird untersucht, ob die Kandidatenliste C leer ist. Wenn die Kandidatenliste C infolge von Fehlermeldungen im Block 32 leer ist, werden in Block 39 die nicht erreichten Zielvektoren aus der Zielliste DV gestrichen, die korrekten kumulativen Evaluationswerte den erreichten Zielvektoren zugeordnet und die eingeschlossenen Parzellen freigegeben. Wenn die Kandidatenliste C nicht leer ist, wird in dem Block 34 eine gefilterte Kandidatenliste CL gebildet, indem überprüft wird, welche Elemente der Kandidatenliste C in der Liste eingeschlossener Parzellen vorkommen. In Block 35 wird anschließend untersucht, ob die gefilterte Kandidatenliste CL leer ist oder ob der Evaluationswert vlu im Block 32 einen Wert angenommen hat, der günstiger ist als der Medianwert der Evaluationswerte der Parzellen in der Liste L eingeschlossener Parzellen, was bedeutet, daß eine wichtige neue Parzelle eingelesen worden ist. Wenn mindestens eine der beiden Bedingungen erfüllt ist, geschieht in Block 36 das Folgende. Alle eingeschlossenen Parzellen werden freigegeben und die Kandidatenparzellenliste BC, die Parzellenanforderungsliste BR, die Liste der eingeschlossenen Parzellen L und die gefilterte Kandidatenliste CL werden erneut bestimmt, woraufhin, nachdem die gefilterte Kandidatenliste einmal leer geworden ist, auf das Einschreiben einer Parzelle in den Speicher gewartet wird; dieser Vorgang wird wiederholt, bis CL nicht leer oder C leer ist. Anschließend wird in Block 37 untersucht, ob die Kandidatenliste C leer ist. Falls ja, wird der Prozeß bei Block 39 fortgesetzt; falls nein, bei Block 4. Einige Blöcke sind nur geringfügig abgewandelt worden, sie haben im weiteren die gleichen Bezugszeichen wie in Figur 2, ergänzt um den Buchstaben A. In Block 5A wird untersucht, ob der Vektor v in der Suchliste T vorkommt und zugleich den günstigsten Evaluationswert von allen Vektoren der Kandidatenliste C hat. Wenn beide Bedingungen erfüllt sind, kann der Vektor v aus der Suchliste T gestrichen werden. In Block 8A wird der Vektor v nicht nur aus der Kandidatenliste C, sondern auch aus der gefilterten Kandidatenliste CL gestrichen. In Block 9A werden die in einer bestimmten Parzelle liegenden Nachfolger des Vektors v bestimmt. Der Block 11A weicht vom Block 11 insofern ab, als, wenn die Parzelle des Vektors vi in L vorkommt, der Vektor vi auch der gefilterten Kandidatenliste CL zugefügt wird, bevor er der Kandidatenliste C zugefügt wird (an zwei Stellen in Block 11). In Block 38 werden f&sub1; und fu an die neue Kandidatenliste C bzw. die Suchliste T angepaßt, und Vektoren mit ungünstigerem Evaluationswert als fu und Zielvektoren mit besserem Evaluationswert als f&sub1; werden aus der Kandidatenliste C oder der gefilterten Kandidatenliste CL gestrichen. Sie bleiben jedoch im Suchbaum S. Schließlich werden in Block 39 die nicht erreichten Zielvektoren aus der Zielliste DV gestrichen, die korrekten Evaluationswerte den erreichten Zielvektoren zugeordnet und die eingeschlossenen Parzellen freigegeben.
  • Da das Fahrzeug sich fortwährend bewegt, ändert der Ausgangsortvektor sich während des Suchvorgangs ständig. Daher ist es günstig, in entgegengesetzter Richtung zu suchen, d.h. eine Strecke von einem festen Ziel zurück zur aktuellen Position des Fahrzeugs zu bestimmen.
  • Eine Ausführungsform zur Bestimmung der einzuschließenden Parzellen soll im folgenden beschrieben werden. Wie bereits erwähnt, bilden die Parzellen, die sich mit der Kandidatenliste C überschneiden, zusammen die Kandidatenparzellenliste BC. Für alle angrenzenden Parzellen der in dem Arbeitsspeicher eingeschlossenen Kandidatenparzellen wird für jeden Zeitpunkt ein Evaluationswert folgendermaßen bestimmt (siehe Figur 5). Die Verbindungslinie zwischen den Mittelpunkten der aktuellen Parzelle b und der entsprechenden Nachbarparzelle b' schneidet die gemeinsame Grenze oder deren Verlängerung in einem Punkt z. Der Evaluationswert f(b') der Nachbarparzelle b' wird definiert durch:
  • f(b') = g(vb) + h(vb,z) + h(z),
  • wobei vb der Vektor in der Parzelle b auf der Kandidatenliste ist, der den günstigsten Evaluationswert hat (unter der Annahme, daß es nur einen einzigen solchen Vektor gibt), f(vb) = f(b), g(vb) der kumulative Gewichtsfaktor einer bereits geplanten Teilstrecke vom Vektor vb aus zum Ziel d, h(vb,z) und h(z) der Gewichtsfaktor eines idealen geradlinigen Weges zwischen dem Punkt z und der aktuellen Position s des Fahrzeugs.
  • Wenn es mehrere Vektoren gibt, die den günstigsten Evaluationswert für die Parzelle b haben, kann beispielsweise der Vektor selektiert werden, der dem Punkt z am nächsten liegt.
  • Wenn eine Parzelle b' mehreren eingeschlossenen Parzellen benachbart ist, wird der günstigste Wert für f(b') gewählt.
  • Zur Bestimmung der Nachfolger eines Vektors v kann in dem parzellenorientierten Algorithmus das folgende Problem auftreten. Wenn der Vektor v die Grenze einer Parzelle berührt, können ein oder mehrere Nachfolger in einer Nachbarparzelle liegen, die eventuell nicht in dem Arbeitsspeicher eingeschlossen ist. Dieses Problem kann so, wie anhand von Figur 6 beschrieben wird, gelöst werden.
  • Der Vektor v&sub1; der Parzelle b&sub1; berührt die Grenze der Parzellen b&sub1; und b&sub2;. Während der Bestimmung der Nachfolger von v&sub1; (durch sogenannte "Fädelzeiger", "thread pointer", angegeben) wird der Vektor v&sub1; mit einem Zeiger nach v&sub3; der Kandidatenliste C zugefügt, sobald ein Nachfolger v&sub3; in einer nicht eingeschlossenen Nachbarparzelle b&sub2; liegt. Dieser Zeiger gibt an, daß die unterbrochene Bestimmung der Nachfolger von v&sub1; von v&sub3; aus fortgesetzt werden muß, sobald die Parzelle b&sub2; gelesen und eingeschlossen ist. Werin dies der Fall ist, muß die Bestimmung der Nachfolger von v&sub1; bei v&sub4; wieder unterbrochen werden, falls b&sub1; nicht mehr eingeschlossen ist.
  • Indem bei jeder Unterbrechung dem der Kandidatenliste C zugefügten Vektor mit dem Zeiger ein "unendlich günstiger" Evaluationswert zugeordnet wird, wird dafür gesorgt, daß die Nachbarparzelle, sobald sie gelesen worden ist, eingeschlossen wird und daß die Bestimmung der Nachfolger weiterläuft, bis sie alle erzeugt und untersucht worden sind.
  • Wenn sich das Fahrzeug bewegt, stimmt die aktuelle Position nicht mit der angegebenen Anfangsposition überein, für die eine optimale Strecke gesucht wird. Falls während des Suchvorgangs zu einem bestimmten Zeitpunkt die aktuelle Position vom Suchbaum erreicht wird, kann der Suchvorgang unterbrochen werden. Wenn nach Bestimmung der optimalen Strecke hin zur angegebenen Anfangsposition die aktuelle Position außerhalb des erzeugten Suchbaums liegt, muß der Suchvorgang fortgesetzt werden, bis der Suchbaum die aktuelle Position erreicht hat.

Claims (6)

1. Navigationssystem mit einem Streckenplaner, der folgendes umfaßt:
- einen Speicher (4) für parzellenweise Speicherung topographischer und verkehrstechnischer Information;
- eine Eingabe-/Ausgabeeinheit (11) zur Eingabe und Ausgabe von Information hinsichtlich eines Anfangs- und eines Bestimmungsortes;
- einen Prozessor (2), der so programmiert ist, daß, über wiederholte Selektion von Vektoren und Erweiterung eines Suchbaums aus Vektoren, die bereits geplante Teilstrecken bilden, eine optimale Strecke von einem gegebenen Anfangsort aus bis zu einem gegebenen Bestimmungsort auf der Grundlage von jedem Vektor zugeordneten Gewichtsfaktoren berechnet wird,
dadurch gekennzeichnet, daß der Speicher einen Hintergrundspeicher (4) enthält, in dem die parzellenweise organisierte topographische und verkehrstechnische Information gespeichert ist, und außerdem einen Arbeitsspeicher (3), in den aus dem Hintergrundspeicher (4), unter der Steuerung des Prozessors (2), nur die Parzellen übertragen werden, die aufgrund eines Evaluationswertes selektiert worden sind, der durch eine Summe der Gewichtsfaktoren der eine bereits geplante Teilstrecke und eine geschätzte fiktive, über die betreffende Parzelle noch zurückzulegende Teilstrecke bildenden Vektoren bestimmt worden ist, wobei von dem Prozessor (2) für die wiederholte Selektion von Vektoren und die Erweiterung des Suchbaums nur Vektoren aus in dem Arbeitsspeicher (3) vorhandenen Parzellen verwendet werden.
2. System nach Anspruch 1, dadurch gekennzeichnet, daß der Prozessor (2) den Evaluationswert für eine Parzelle in dem Arbeitsspeicher durch den günstigsten Evaluationswert aller Vektoren in der betreffenden Parzelle bestimmt, die in einer Kandidatenliste aufgelistet sind, und für eine Nachbarparzelle einer Parzelle in dem Arbeitsspeicher durch die Addition des Gewichtsfaktors eines idealen geradlinigen Weges zwischen einer aktuellen Position und einem Punkt z, der ein Schnittpunkt einer Verbindungslinie zwischen den Mittelpunkten der genannten Parzelle und der Nachbarparzelle mit einer gemeinsamen Grenze (oder der Verlängerung davon) zwischen der Parzelle und der Nachbarparzelle ist, des Gewichtfaktors eines idealen geradlinigen Weges zwischen dem genannten Punkt z und einem Endpunkt eines Vektors vb in der genannten Parzelle und des kumulativen Gewichtsfaktors einer bereits geplanten Teilstrecke von diesem Vektor vb zu einem Zielvektor.
3. System nach Anspruch 2, dadurch gekennzeichnet, daß der Prozessor (2) den Vektor vb selektiert, der von allen Vektoren in der genannten Parzelle, die in der Kandidatenliste aufgelistet sind, den günstigsten Evaluationswert hat.
4. System nach Anspruch 3, dadurch gekennzeichnet, daß wenn in einer Parzelle mehrere Vektoren, die in der Kandidatenliste aufgelistet sind, den günstigsten Evaluationswert haben, der Prozessor (2) als den Vektor vb den Vektor selektiert, der dem Punkt z am nächsten liegt.
5. System nach Anspruch 1, dadurch gekennzeichnet, daß es Mittel zur Bestimmung einer aktuellen Position umfaßt, wobei der Streckenplaner Mittel zum Vergleichen der aktuellen Position mit Positionen in gefundenen Strecken enthält und der Streckenplaner den Suchvorgang fortsetzt, wenn keine Übereinstimmung gefunden worden ist, und bei gefundener Übereinstimmung den Suchvorgang beendet.
6. System nach Anspruch 1, dadurch gekennzeichnet, daß in dem Arbeitsspeicher (3) Speicherraum reserviert ist für: eine Kandidatenliste mit für die Erweiterung zu selektierenden Vektoren, eine Suchbaumliste mit bisher untersuchten Vektoren und deren Evaluationswerte und Zeiger, eine Suchliste mit noch nicht gefundenen Zielvektoren, eine Kandidatenparzellenliste mit Parzellen, die sich mit der Kandidatenliste überschneiden, eine Parzellenanforderungsliste mit Kandidatenparzellen und Nachbarparzellen der Kandidatenparzellen in dem Arbeitsspeicher, eine Liste eingeschlossener Parzellen, d.h. Parzellen, die in dem Arbeitsspeicher eingeschlossen sind und eine gefilterte Kandidatenliste mit Kandidatenlistenvektoren, die sich in einer Parzelle in dem Arbeitsspeicher befinden.
DE89202867T 1988-11-17 1989-11-13 Verfahren für parzellenorientierte Streckenplanung sowie Navigationssystem mit einem Streckenplaner zur Durchführung eines derartigen Verfahrens. Expired - Fee Related DE68906648T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
NL8802833A NL8802833A (nl) 1988-11-17 1988-11-17 Werkwijze voor kavel-georienteerde route-planning, alsmede navigatiesysteem met een route-planner voor het uitvoeren van een dergelijke werkwijze.

Publications (2)

Publication Number Publication Date
DE68906648D1 DE68906648D1 (de) 1993-06-24
DE68906648T2 true DE68906648T2 (de) 1993-12-02

Family

ID=19853245

Family Applications (1)

Application Number Title Priority Date Filing Date
DE89202867T Expired - Fee Related DE68906648T2 (de) 1988-11-17 1989-11-13 Verfahren für parzellenorientierte Streckenplanung sowie Navigationssystem mit einem Streckenplaner zur Durchführung eines derartigen Verfahrens.

Country Status (6)

Country Link
EP (1) EP0369539B1 (de)
JP (1) JP2996347B2 (de)
KR (1) KR0159922B1 (de)
DE (1) DE68906648T2 (de)
ES (1) ES2041401T3 (de)
NL (1) NL8802833A (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4008460A1 (de) * 1990-03-16 1991-09-19 Bosch Gmbh Robert Navigationssystem
EP0479364B1 (de) * 1990-10-01 1999-05-26 Mannesmann VDO Aktiengesellschaft Verfahren zur Speicherung eines topologischen Netzwerkes und Verfahren und Geräte, um eine Reihe von 1-Zellen zu identifizieren
DE4208277A1 (de) * 1992-03-13 1993-09-16 Bosch Gmbh Robert Verkehrsrundfunkempfaenger
JP3409377B2 (ja) * 1993-08-09 2003-05-26 松下電器産業株式会社 ナビゲーション装置
US6473809B1 (en) * 1999-08-03 2002-10-29 Matsushita Electric Industrial Co., Ltd. Scheduling method and apparatus for network-attached storage devices and other systems
DE102007016002A1 (de) * 2007-04-03 2008-10-09 Robert Bosch Gmbh Verfahren zum Erstellen eines Verzeichnisses von Straßenabschnitten, Verfahren zum Ermitteln aller Straßenabschnitte innerhalb eines Suchgebiets und Computerprogramm
DE102013211605A1 (de) * 2013-06-20 2014-12-24 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum Ermitteln von Korrekturwerten für einen Routenberechnungsalgorithmus
CN104713547A (zh) * 2015-03-16 2015-06-17 酷派软件技术(深圳)有限公司 一种生成位置信息的方法和终端

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6045816A (ja) * 1984-07-25 1985-03-12 Hitachi Ltd 径路誘導システム
JPH0660821B2 (ja) * 1985-10-21 1994-08-10 マツダ株式会社 車両用走行誘導装置

Also Published As

Publication number Publication date
NL8802833A (nl) 1990-06-18
KR0159922B1 (ko) 1998-12-15
ES2041401T3 (es) 1993-11-16
KR900008398A (ko) 1990-06-03
EP0369539A1 (de) 1990-05-23
EP0369539B1 (de) 1993-05-19
DE68906648D1 (de) 1993-06-24
JPH02201600A (ja) 1990-08-09
JP2996347B2 (ja) 1999-12-27

Similar Documents

Publication Publication Date Title
DE69729426T2 (de) Kartographisches Datenbankgerät
DE69828339T2 (de) Programm zum Erzeugen von Manövern
DE69732015T2 (de) Karthographisches Datenbankgerät
DE69629451T2 (de) Routensuchvorrichtung für Fahrzeuge
DE69633851T2 (de) Fahrzeugnavigationssystem und Speichermedium
DE10356695B4 (de) Navigationssystem
DE69926435T2 (de) Routensuchvorrichtung
DE102004020557B4 (de) Routenempfehlungs-Berechnungsverfahren und Navigationsvorrichtung
DE19831099B4 (de) Kartenbereitstellungssystem, Kartenbeschaffungseinheit und Navigationsvorrichtung mit Kartenbeschaffungseinheit
DE68919956T2 (de) Navigationssystem und -methode unter Benutzung von Landkartendaten.
DE69733151T2 (de) Kartendatenbankgerät
DE69736967T2 (de) Gerät zur Gewinnung von Strassennetzzonendaten aus den Blockdaten einer Strassennetzkarte, System zum Umformen dieser Daten und Darstellung einer umgeformten Karte und geographisches Informationssystem
DE69833139T2 (de) Verfahren und Vorrichtung zur Routensuche
DE69723967T2 (de) Verfahren zur wegleitung eines fahrzeugführers und navigationssystem dafür
DE69111053T2 (de) Mehrstreckenauswahlnavigationsvorrichtung für ein landfahrzeug.
EP1092127B2 (de) Verfahren zur beeinflussung von quelldaten zur bestimmung einer route bei einem navigationssystem
DE60020001T2 (de) Navigationsvorrichtung
DE10031535B4 (de) Karteninformationsanzeigeeinrichtung für einen sich bewegenden Körper und Verfahren zur Anzeige von Karteninformation für einen sich bewegenden Körper
DE60132946T2 (de) Navigationssystem
DE10345559A1 (de) Fahrzeugnavigationssystem, welches eine automatische Fahrstraße priorisiert
EP2507589B1 (de) Verfahren zur vereinfachung einer beschreibung einer fahrtroute
DE60119403T2 (de) Vorrichtung und Verfahren zum Ändern von Karteninformationen
DE4405771C2 (de) Navigationssystem mit einem Routenbestimmungsverfahren zum schnellen und genauen Bestimmen einer gewünschten Route
DE102008061981A1 (de) Navigationsgerät
WO1995014910A1 (de) Verfahren zur erzeugung einer digitalisierten strassennetzkarte

Legal Events

Date Code Title Description
8363 Opposition against the patent
8327 Change in the person/name/address of the patent owner

Owner name: PHILIPS ELECTRONICS N.V., EINDHOVEN, NL

8327 Change in the person/name/address of the patent owner

Owner name: MANNESMANN VDO AG, 60388 FRANKFURT, DE

8327 Change in the person/name/address of the patent owner

Owner name: SIEMENS AG, 80333 MUENCHEN, DE

8339 Ceased/non-payment of the annual fee