DE102022125391A1 - Positionserkennungssystem - Google Patents

Positionserkennungssystem Download PDF

Info

Publication number
DE102022125391A1
DE102022125391A1 DE102022125391.0A DE102022125391A DE102022125391A1 DE 102022125391 A1 DE102022125391 A1 DE 102022125391A1 DE 102022125391 A DE102022125391 A DE 102022125391A DE 102022125391 A1 DE102022125391 A1 DE 102022125391A1
Authority
DE
Germany
Prior art keywords
index
markers
digit
numbers
lane
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.)
Pending
Application number
DE102022125391.0A
Other languages
English (en)
Inventor
Stefan Eggers
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.)
Harman Becker Automotive Systems GmbH
Original Assignee
Harman Becker Automotive Systems GmbH
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 Harman Becker Automotive Systems GmbH filed Critical Harman Becker Automotive Systems GmbH
Priority to DE102022125391.0A priority Critical patent/DE102022125391A1/de
Publication of DE102022125391A1 publication Critical patent/DE102022125391A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C15/00Surveying instruments or accessories not provided for in groups G01C1/00 - G01C13/00
    • 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

Landscapes

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

Abstract

Ein Positionserkennungssystem weist eine Vielzahl von Markern (20) auf, welche in regelmäßigen Abständen (d) entlang einer Strecke angeordnet sind, wobei jeder der Vielzahl von Markern (20) zwei einstellige Zahlen einer Vielzahl (b) einstelliger Zahlen repräsentiert oder in einem Speicher gespeichert hat, sich durch das aufeinanderfolgende Auslesen der durch die Marker (20) repräsentierten einstelligen Zahlen eine erste mehrstellige Zahl (IndexKurzWert) und eine zweite mehrstellige Zahl (IndexLangWert) ergeben, wobei die erste mehrstellige Zahl (IndexKurzWert) und die zweite mehrstellige Zahl (IndexLangWert) jeweils eine Zahlenbreite (n) aufweisen, und wobei die erste mehrstellige Zahl (IndexKurzWert) in einem ersten Index (IndexKurz) einer ersten Länge (L1) eindeutig einer Position (IndexKurzPos) und die zweite mehrstellige Zahl (IndexLangWert) in einem zweiten Index (IndexLang) einer von der ersten Länge (L1) unterschiedlichen zweiten Länge (L2) eindeutig einer Position (IndexLangPos) zugeordnet werden kann, der erste Index (IndexKurz) und der zweite Index (IndexLang) jeweils derart gebildet sind, dass die jeweils ersten n-1 Ziffern einer Zahl mit den jeweils letzten n-1 Ziffern einer der Zahl direkt folgenden Zahl übereinstimmen, die erste Länge (L1) und die zweite Länge (L2) keinen gemeinsamen Teiler größer als 1 besitzen, nach jedem Umlauf des ersten Index (IndexKurz) und des zweiten Index (IndexLang) der entsprechende Index erneut durchlaufen wird, wobei erst nach einer Anzahl L1*L2Schritten eine Wiederholung eines Zahlenpaares (IndexKurzPos, IndexLangPos) erfolgt, wobei aus einer Differenz der Position (IndexKurzPos) in dem ersten Index (IndexKurz) und der Position (IndexLangPos) in dem zweiten Index (IndexLang) eine Anzahl (P) der Umläufe des ersten Index (IndexKurz) bestimmt werden kann, und wobei dem Zahlenpaar (IndexKurzPos, IndexLangPos) eindeutig eine Position Pos = IndexKurzPos + P * L1mit 0 ≤ Pos ≤ L1* L2zugeordnet werden kann.

Description

  • HINTERGRUND
  • Die Erfindung betrifft ein Positionserkennungssystem.
  • Insbesondere im Bereich des autonomen Fahrens, aber auch für viele andere Anwendungen in einem Fahrzeug oder im Schienenbereich sowie auch für Anwendungen im Maschinenbau, ist es unerlässlich, die genaue Position eines Fahrzeugs oder beispielsweise eines Werkzeugs zu kennen. Beispielsweise im Bereich des autonomen Fahrens ist insbesondere die genaue Kenntnis über die Positionen aller am Verkehr teilnehmenden Fahrzeuge wichtig. Autonome, fahrerlose Beförderung bietet wesentlich mehr Vorteile als lediglich Geistesfreiheit während der Fortbewegung. Autonom gesteuerte Fahrzeuge vermeiden die Notwendigkeit und das Verlangen Fahrzeuge zu erwerben und fördern das Verlangen lediglich Fahrten zu erwerben. Durch eine flächendeckende Implementierung autonomen Fahrens sind weder eine Parkmöglichkeit zu Hause (z.B. Garage, oder Carport) erforderlich, noch werden Parkmöglichkeiten entlang von Straßen benötigt, da sich autonom fahrende Fahrzeuge meist in Bewegung befinden, oder in zentralen Wartungseinrichtungen Instandhaltungsmaßnahmen unterzogen, gereinigt, betankt oder repariert werden. Zusätzlich zu den genannten statischen Veränderungen ergeben sich Optionen zur Ablaufsteuerung durch Gruppieren von Fahrzeugen mit vernachlässigbar kleinem Abstand zueinander um die Transportdichte zu erhöhen und den Energieverbrauch zu verringern, sowie das Passieren von Kreuzungen ohne zu bremsen durch Anpassung der Geschwindigkeiten von Fahrzeugen auf verschiedenen Straßen. Sowohl das Gruppieren von Fahrzeugen als auch das Anpassen von Geschwindigkeiten in Bezug auf andere Fahrzeuge erfordert eine sichere, eindeutige, austauschbare und präzise Lokalisierung mit gemeinsamer Zeitbasis aller beteiligter Fahrzeuge unabhängig von der Tageszeit, den Wetterbedingungen sowie Straßen-, Gebäude- und Umgebungsbedingungen. Kamera-basierte Systeme, welche die Position eines Fahrzeugs in Bezug auf andere Fahrzeuge bestimmen können, können von aktuellen Wetterbedingungen abhängig sein und können, z.B. bei Nebel, Schnee, Starkregen oder anderen witterungsbedingten Umständen, gestört werden, so dass eine genaue Positionsbestimmung nicht möglich ist. Insbesondere das Anpassen von Geschwindigkeiten in Bezug auf andere Fahrzeuge außerhalb der Sicht, zum Beispiel bei kreuzenden Straßen, ist mit Kamera-basierten Systemen nicht möglich. Bei der Positionsbestimmung mittels GPS (Global Positioning System) oder anderer Satelliten-basierter Systeme kann die erforderliche Genauigkeit bei der Positionsbestimmung nicht für alle Positionen eines Fahrzeugs garantiert werden (z.B. in Straßenschluchten, Tunneln, Parkhäusern, etc.). Daher wird ein zuverlässiges Positionsbestimmungssystem benötigt, welches eine möglichst genaue Bestimmung der Position von am Verkehr teilnehmenden Fahrzeugen, und somit das Gruppieren von Fahrzeugen mit vernachlässigbar kleinem Abstand zueinander sowie das Anpassen von Geschwindigkeiten in Bezug auf andere Fahrzeuge unabhängig von Sicht behindernden Umständen ermöglicht.
  • ÜBERSICHT
  • Ein hierin offenbartes Positionserkennungssystem gemäß Ausführungsformen der Offenbarung weist eine Vielzahl von Markern auf, welche in regelmäßigen Abständen entlang einer Strecke angeordnet sind, wobei jeder der Vielzahl von Markern wenigstens eine einer Vielzahl b mit b ≥ 2 einstelliger Zahlen repräsentiert oder in einem Speicher gespeichert hat, und sich durch das aufeinanderfolgende Auslesen einer Anzahl n der durch die Marker repräsentierten einstelligen Zahlen eine n-stellige Zahl ergibt, welche in einem Index der Größe bn eindeutig einer Position zugewiesen werden kann, wobei der Index derart gebildet ist, dass die ersten n-1 Ziffern einer Zahl mit den letzten n-1 Ziffern einer der Zahl direkt folgenden Zahl übereinstimmen, wobei jeder Position innerhalb des Index eine Position entlang der Strecke eindeutig zugeordnet ist.
  • Ein Positionserkennungssystem gemäß anderen Ausführungsformen der Offenbarung weist eine Vielzahl von Markern auf, welche in regelmäßigen Abständen entlang einer Strecke angeordnet sind, wobei jeder der Vielzahl von Markern zwei einstellige Zahlen einer Vielzahl b einstelliger Zahlen repräsentiert oder in einem Speicher gespeichert hat, sich durch das aufeinanderfolgende Auslesen der durch die Marker repräsentierten einstelligen Zahlen eine erste mehrstellige Zahl und eine zweite mehrstellige Zahl ergeben, wobei die erste mehrstellige Zahl und die zweite mehrstellige Zahl jeweils eine Zahlenbreite n aufweisen, und wobei die erste mehrstellige Zahl in einem ersten Index einer ersten Länge L1 eindeutig einer Position IndexKurzPos und die zweite mehrstellige Zahl in einem zweiten Index einer von der ersten Länge L1 unterschiedlichen zweiten Länge L2 eindeutig einer Position zugeordnet werden kann, der erste Index und der zweite Index jeweils derart gebildet sind, dass die jeweils ersten n-1 Ziffern einer Zahl mit den jeweils letzten n-1 Ziffern einer der Zahl direkt folgenden Zahl übereinstimmen, die erste Länge und die zweite Länge keinen gemeinsamen Teiler größer als 1 besitzen, nach jedem Umlauf des ersten Index und des zweiten Index der entsprechende Index erneut durchlaufen wird, wobei erst nach einer Anzahl L1*L2 Schritten eine Wiederholung eines Zahlenpaares erfolgt, wobei aus einer Differenz der Position IndexKurzPos in dem ersten Index und der Position in dem zweiten Index eine Anzahl P der Umläufe des ersten Index bestimmt werden kann, und wobei dem Zahlenpaar eindeutig eine Position Pos = IndexKurzPos + P * L1 mit 0 ≤ Pos ≤ L1 * L2 zugeordnet werden kann.
  • Ein hierin offenbartes Verfahren gemäß Ausführungsformen der Offenbarung weist das Auslesen einer Vielzahl von Markern auf, welche in regelmäßigen Abständen entlang einer Strecke angeordnet sind, wobei jeder der Vielzahl von Markern wenigstens eine einer Vielzahl b mit b ≥ 2 einstelliger Zahlen repräsentiert oder in einem Speicher gespeichert hat, und wobei sich durch das aufeinanderfolgende Auslesen einer Anzahl n der durch die Marker repräsentierten einstelligen Zahlen eine n-stellige Zahl ergibt, welche in einem Index der Größe bn eindeutig einer Position zugewiesen werden kann, wobei der Index derart gebildet ist, dass die ersten n-1 Ziffern einer Zahl mit den letzten n-1 Ziffern einer der Zahl direkt folgenden Zahl übereinstimmen. Das Verfahren weist weiterhin das Bestimmen einer Position entlang einer Strecke basierend auf der n-stelligen Zahl auf, wobei jeder Position innerhalb des Index eine Position entlang der Strecke eindeutig zugeordnet ist.
  • Ein Verfahren gemäß weiteren Ausführungsformen der Offenbarung weist das Auslesen einer Vielzahl von Markern auf, welche in regelmäßigen Abständen entlang einer Strecke angeordnet sind, wobei jeder der Vielzahl von Markern zwei einstellige Zahlen einer Vielzahl b einstelliger Zahlen repräsentiert oder in einem Speicher gespeichert hat, sich durch das aufeinanderfolgende Auslesen der durch die Marker repräsentierten einstelligen Zahlen eine erste mehrstellige Zahl und eine zweite mehrstellige Zahl ergeben, wobei die erste mehrstellige Zahl und die zweite mehrstellige Zahl jeweils eine Zahlenbreite n aufweisen, und wobei die erste mehrstellige Zahl in einem ersten Index einer ersten Länge L1 eindeutig einer Position IndexKurzPos und die zweite mehrstellige Zahl in einem zweiten Index einer von der ersten Länge L1 unterschiedlichen zweiten Länge L2 eindeutig einer Position zugeordnet werden kann, der erste Index und der zweite Index jeweils derart gebildet sind, dass die jeweils ersten n-1 Ziffern einer Zahl mit den jeweils letzten n-1 Ziffern einer der Zahl direkt folgenden Zahl übereinstimmen, die erste Länge und die zweite Länge keinen gemeinsamen Teiler größer als 1 besitzen, und nach jedem Umlauf des ersten Index und des zweiten Index der entsprechende Index erneut durchlaufen wird, wobei erst nach einer Anzahl L1*L2 Schritten eine Wiederholung eines Zahlenpaares erfolgt, wobei aus einer Differenz der Position in dem ersten Index und der Position in dem zweiten Index eine Anzahl P der Umläufe des ersten Index bestimmt werden kann, und wobei dem Zahlenpaar eindeutig eine Position Pos = IndexKurzPos + P * L1 mit 0 ≤ Pos ≤ L1 * L2 zugeordnet werden kann. Das Verfahren weist weiterhin das Bestimmen einer Position entlang einer Strecke auf, basierend auf der Position eines Zahlenpaares.
  • Ausgestaltungen und Weiterbildungen des Erfindungsgedankens sind Gegenstand von Unteransprüchen.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die Erfindung wird nachfolgend anhand der in den Figuren (FIG.) dargestellten Ausführungsbeispiele näher erläutert, wobei identische oder ähnliche Elemente mit denselben Bezugszeichen versehen sind.
    • 1 zeigt schematisch einen Abschnitt einer Fahrbahn mit einem Positionserkennungssystem gemäß einer hierin offenbarten Ausführungsform.
    • 2 zeigt schematisch ein Fahrzeug in Kommunikation mit einem Positionserkennungssystem gemäß einer hierin offenbarten Ausführungsform.
    • 3 zeigt anhand eines Ablaufdiagramms ein Verfahren zur Positionserkennung gemäß hierin offenbarten Ausführungsformen.
    • 4 zeigt anhand eines Ablaufdiagramms ein Verfahren zur Positionserkennung gemäß weiteren hierin offenbarten Ausführungsformen.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Positionserkennungssysteme gemäß Ausführungsformen der Offenbarung werden im Folgenden für am Straßenverkehr teilnehmende Fahrzeuge näher erläutert. Die offenbarten Positionserkennungssysteme können jedoch auch auf gleiche oder ähnliche Art und Weise für jegliche andere Applikationen Anwendung finden, in welchen eine Positionsbestimmung eines Objektes erforderlich ist (z.B. Schienenverkehr, oder Anwendungen im Maschinenbau).
  • Das hierin beschriebene Positionserkennungssystem integriert eine Vielzahl von Markierungen in ein Straßensystem welche durch ein Fahrzeug auslesbar sind und eine absolute Lokalisierung des Fahrzeugs ermöglichen. Alleine in Deutschland umfasst das ausgebaute Straßennetz etwa 830.000km, davon 230.000km für weitere Verbindungsstrecken. Bei einem Abstand d (vgl. 2) von 1m zwischen zwei direkt benachbarten Markierungen werden allein um das deutsche Straßennetz komplett abzudecken mehrere Hundertmillionen von Markierungen (zu identifizierende Positionen) benötigt. Die Verwendung unterschiedlicher Markierungen, welche jede für sich genommen eine Position eindeutig kennzeichnen, ist bei der benötigten Anzahl an zu identifizierbaren Positionen logistisch schwer möglich. Eine sprunghafte Verteilung der Markierungen (nicht in einer Reihe) hätte eine zu große Datenmenge bei der digitalen Beschreibung zur Folge, welche nur schwierig oder gar nicht zu handhaben wäre. Durch das serielle Bereitstellen von Positionsdaten mit nicht-programmierbaren Elementen wäre eine sehr anspruchsvolle Verteilung der nötigen Elemente erforderlich. Bei programmierbaren Bauteilen ist mit einem höheren Herstellungsaufwand und der Möglichkeit der Manipulation zu rechnen. Mit dem hierin offenbarten Positionserkennungssystem ist es mit vertretbarem Aufwand möglich, jegliche mögliche Position im deutschen Straßennetz oder auch weltweit mit einer deutlich geringeren Anzahl unterschiedlicher Elemente eindeutig zu identifizieren. Es werden gemäß Ausführungsformen der Offenbarung beispielsweise nur 16 bis 256 unterschiedliche Elemente benötigt. Diese lassen sich grundsätzlich kostengünstig und in großen Stückzahlen herstellen und verteilen.
  • Die der Offenbarung zugrunde liegende Idee besteht darin, nicht in jeder Markierung die vollständige Information zu speichern, sondern die über mehrere aufeinanderfolgende Positionen hinweg gesammelte Information auszuwerten. Zum Verständnis der Offenbarung werden im Folgenden einige Grundlagen zu ganzen Zahlen erläutert.
  • In einem Zahlensystem zur Basis b (b≥2) und der Zahlenbreite n können bn verschiedene Zahlen gebildet werden. Ist beispielsweise b = 10 und n = 3, können 1000 verschiedene Zahlen zwischen und einschließlich 000 und 999 gebildet werden. Um alle diese Zahlen nacheinander abzubilden werden n*bn Ziffern benötigt. Es ist dabei möglich eine umlaufende Serie von nur bn Ziffern zu bilden (im Weiteren bezeichnet als Index), bei welcher jede n-stellige Teilzeichenfolge eine eindeutige Zahl darstellt. Ist eine Teilzeichenfolge am Anfang oder am Ende des Index angeordnet, werden jeweils Ziffern vom Ende oder vom Anfang hinzugefügt, wodurch sich die umlaufende Eigenschaft ergibt. Eine beliebige n-stellige Zahl zur Basis b kann damit eindeutig einer Position im Index zugeordnet werden. Dies wird im Folgenden anhand eines einfachen Beispiels näher erläutert.
  • Werden beispielsweise n=2 stellige Zahlen zur Basis b=4 verwendet, dargestellt mit den Ziffern 0, 1, 2 und 3, dann ist 0010211322312033 ein beispielhafter gesuchter Index. Alle umlaufenden zweistelligen Teilabschnitte dieses Index lauten:
    Figure DE102022125391A1_0001
  • Diese enthalten alle fortlaufenden n=2 stelligen Zahlen zur Basis b=4:
    Figure DE102022125391A1_0002
  • Dabei stimmt in dem Index die erste Ziffer der folgenden Zahl immer mit der letzten Ziffer der vorhergehenden Zahl überein, wobei die zweite Ziffer der letzten Zahl (hier 30) wiederum mit der ersten Ziffer der ersten Zahl (hier 00) übereinstimmt. Dadurch ergibt sich der kontinuierlich umlaufende Index.
  • Im Folgenden werden weitere einfache Beispiele eines umlaufenden Index aufgeführt:
    b = 4 / n = 3 :
    Figure DE102022125391A1_0003

    b = 2 / n = 2:
    Figure DE102022125391A1_0004

    b = 2/n = 3:
    Figure DE102022125391A1_0005

    b = 2/n = 4:
    Figure DE102022125391A1_0006

    b=2/n=5:
    Figure DE102022125391A1_0007
  • Das Duale Zahlensystem kann gegenüber anderen möglichen Zahlensystemen Vorteile in der elektronischen Bearbeitung liefern. In den folgenden Beispielen wird daher angenommen, dass b=2. Die im Folgenden für das Duale Zahlensystem beschriebenen Beispiele sind jedoch auf andere Zahlensysteme übertragbar. Da der Index umlaufend ist, stellt auch jede Rotation des Index wiederum einen Index dar. Für n> 2 kann ein Index nicht symmetrisch sein, da sonst entweder Ziffernfolgen lediglich bestehend aus Nullen, oder Ziffernfolgen lediglich bestehend aus Einsen doppelt vorkommen würden und damit nicht eindeutig wären. Daher ist ein gespiegelter Index ebenfalls ein weiterer Index. Jeder Index mit b = 2 und n > 2 repräsentiert daher bereits 2*bn verschiedene Indizes. Die Ergebnisse der vollständigen Enumeration (Aufzählung) für b = 2 und 2 ≤ n ≤ 5 legen nahe, dass sich für b=2 und n>2 insgesamt 2^(2 n-1) verschiedene Indizes finden lassen, welche die oben genannten Kriterien erfüllen. Eliminiert man dabei die 2n+1 Variationen durch Rotationen und Spiegelung, ergeben sich immer noch 2^(2n-1-n-1) unterschiedliche Indizes. (Tabelle 1)
    n 2n-1-(n+1) Anzahl Indizes
    3 0 1
    4 3 8
    5 10 1024
    6 25 33554432
    7 56 ...
    8 119
    16 32751
    32 2147483615
  • Ein Index entsprechend der Offenbarung ist somit nicht selten. Da jedoch jeder Index eine 2n-stellige Zahl darstellt, ist nur eine von (2^2n)/(22n-1)=4n-1 zufälligen Ziffernkombinationen auch ein Index entsprechend der hierin definierten Kriterien.
  • Mit dem hierin offenbarten System ist es nicht erforderlich für jede einzelne Position in einem Straßennetz die gesamte zur Positionsbestimmung erforderliche Information zu liefern. Vielmehr wird an jeder Position lediglich jeweils eine Ziffer bereitgestellt, so dass sich eine eindeutige Position ergibt sobald eine bestimmte Anzahl an direkt aufeinanderfolgenden Ziffern erkannt wurde. Die bestimmte Anzahl kann dabei beispielsweise von der Anzahl an verschiedenen zu erkennenden Positionen und somit von den entsprechend zum Kennzeichnen dieser Positionen benötigten b und n abhängen. Je mehr Positionen in einem Straßennetz eindeutig gekennzeichnet werden müssen, desto größer sind grundsätzlich b und/oder n und desto mehr direkt aufeinanderfolgende Ziffern müssen ausgelesen werden, um eine Position eindeutig bestimmen zu können.
  • 1 zeigt ein Beispiel eines Positionserkennungssystems. Das Positionserkennungssystem weist eine Vielzahl von Markern 20 auf, welche in regelmäßigen Abständen entlang einer Straße 10 angeordnet sind. Jeder der Vielzahl von Markern 20 kann beispielsweise ein passiver Marker (z.B. optische Markierung wie beispielsweise einfache Zahlen, Muster oder Barcode) oder eine elektronische Einheit sein welche einen Speicher aufweist, welcher auf geeignete Art und Weise ausgelesen werden kann. Beispielsweise kann eine elektronische Einheit ein RFID-Transponder sein (RFID = Radio-Frequency Identification), oder einen RFID-Transponder aufweisen. RFID-Transponder werden häufig auch als sogenannte „Tags“ bezeichnet. In einem RFID-Transponder gespeicherte Daten können beispielsweise durch ein geeignetes RFID-Lesegerät ausgelesen werden. RFID-Transponder benötigen hierfür keine eigene Stromversorgung, so dass diese verhältnismäßig einfach und kostengünstig implementierbar sind. Grundsätzlich ist es jedoch möglich, in einer elektronischen Einheit gespeicherte Daten auf jede andere beliebige Art und Weise drahtlos an ein entsprechendes Empfangsgerät zu senden.
  • Die Marker 20 können beispielsweise ganz oder teilweise in dem Belag einer Straße 10 eingebracht sein (z.B. elektronische Einheiten). Sie können jedoch auch auf geeignete Art und Weise auf der Oberfläche einer Straße 10 angebracht sein, beispielsweise mittels geeigneter Haltevorrichtungen (z.B. elektronische Einheiten), oder auf die Oberfläche einer Straße 10 aufgemalt oder aufgeklebt sein (z.B. passive Marker). Jeder der Marker 20 hat dabei eine definierte Position in einem Straßennetz.
  • Ein entsprechendes Lese- oder Empfangsgerät 32 kann, wie beispielsweise in 2 dargestellt, in einem Fahrzeug 30 angeordnet sein. Dabei kann das Lese- oder Empfangsgerät 32 beispielsweise an einer Unterseite des Fahrzeugs 30 angeordnet sein. Dadurch befindet sich das Lese- oder Empfangsgerät 32 möglichst nahe an der Straße 10 und den dort angebrachten Markern 20, so dass die Marker 20 möglichst genau detektiert werden können bzw. eine möglichst störungsfreie Datenübertragung zwischen den Markern 20 und dem Lese- oder Empfangsgerät 32 gewährleistet wird. Das Lese-oder Empfangsgerät 32 kann die erforderlichen Daten eines Markers 20 insbesondere dann genau (aus-)lesen, wenn sich das Lese-oder Empfangsgerät 32 innerhalb eines bestimmten Radius um den Marker 20 herum befindet. Dieser Radius kann beispielsweise wenige Zentimeter (z.B. maximal 10cm, maximal 20cm, maximal 30cm oder maximal 50cm) betragen. Bewegt sich ein Fahrzeug 30 mit einem darin angeordneten Lese- oder Empfangsgerät 32 entlang einer Straße 10, liest das Lese- oder Empfangsgerät 32 somit nacheinander die Daten der nacheinander angeordneten Marker 20 aus. Dies ist beispielhaft in 2 dargestellt. Das Lese- oder Empfangsgerät 32 liest beispielsweise immer die Daten desjenigen Markers 20 aus, welcher sich genau unterhalb des Lese- oder Empfangsgerätes 32 befindet.
  • Die Marker 20 können, wie beispielhaft in 2 dargestellt, in regelmäßigen Abständen entlang einer Straße 10 angeordnet sein. Der Abstand d zwischen zwei direkt benachbarten Markern 20 kann, um eine ausreichende Genauigkeit bei noch zu handhabendem Datenvolumen und vertretbaren Kosten zu gewährleisten, beispielsweise zwischen 10cm und 1m, oder zwischen 50cm und 1,5m betragen. Größere Abstände d von zwischen 1m und 5m oder zwischen 1m und 10m sind ebenfalls möglich. Jedoch reduziert sich mit größerem Abstand d die Genauigkeit der Positionsbestimmung. Ein geringerer Abstand d der Marker 20 erhöht die Genauigkeit, erhöht jedoch auch die Kosten aufgrund der größeren benötigten Anzahl an Markern 20. Zudem erhöht sich mit höherer Genauigkeit der Rechenaufwand beim Bestimmen der Positionen. Bei einem Abstand d der elektronischen Einheiten von 1 Meter ist beispielsweise eine hinreichende Genauigkeit bei vertretbaren Kosten und überschaubarem Rechenaufwand möglich. Die Kombination aller ausgelesenen Marker 20 ergibt eine Zahl, die einer Position im Index eindeutig zugewiesen werden kann. Die Position im Index stellt damit die kodierte Ortsinformation dar.
  • Der Nachteil eines im Vorigen beschriebenen Index ist, dass kein geschlossener mathematischer Ausdruck existiert, welcher die Position einer beliebigen Ziffernfolge im Index berechnen kann. Zur Positionsbestimmung im Index muss dieser daher vollständig gespeichert sein. Für einen Index einer ausreichenden Größenordnung zur Kennzeichnung zum Beispiel aller Straßen in Europa ist eine Größenordnung von 232 als untere Grenze anzusehen. Allein die binäre Speicherung dieses Index hätte bereits eine Größe von 512 MB. Eine effiziente Positionsbestimmung über eine Lookup Tabelle, die einen von 232 möglichen Zahlenwerten direkt mit einer von 232 möglichen Positionen verknüpfen würde, würde 16 GB an Speicher benötigen. Daher wird gemäß einer alternativen Ausführungsform ein Index mit halber Stellenzahl n/2 zweimal mit unterschiedlicher Periode verwendet.
  • Gemäß einem Beispiel werden zwei Zahlenfolgen der Längen 4 und 5 (eine Zahlenfolge ist um ein Element länger als die andere) betrachtet, wobei beide bei Null (0) starten. Nach jedem Durchlauf starten beide Zahlenfolgen jeweils von vorne. Da die Längen sich nur um 1 unterscheiden ist ihr kleinstes gemeinsames Vielfaches ihr Produkt, wodurch sich 4*5=20 eindeutige Zahlenpaare ergeben:
    Figure DE102022125391A1_0008
    Figure DE102022125391A1_0009
  • Mit jedem Umlauf der kürzeren Zahlenreihe (kurz) verändert sich die Differenz zur längeren Zahlenreihe (lang). Berechnet man den Rest der Differenz vom Wert der kurzen Zahlenreihe zur langen Zahlenreihe bezogen auf die Länge der langen Zahlenreihe L2 erhält man die Anzahl der Durchläufe der kurzen Zahlenreihe (Periode = Rest(Kurz - Lang; L2). Damit lässt sich die Position eines beliebigen Zahlenpaares [kurz]/[lang] berechnen als [kurz] + L1*Rest([kurz] - [lang];L2), wobei L1 die Länge der kurzen Zahlenreihe ist. Eine solche eindeutige Bestimmung der Position ist für alle Kombinationen von Zahlenreihenlängen L1 und L2 möglich, wenn die Längen keinen gemeinsamen Teiler grösser als 1 haben. Wenn sie einen größten gemeinsamen Teiler T>1 haben, wiederholt sich die Kombinierte Zahlenreihe bereits nach L1*L2/T Elementen. Die Berechnung kann auch symmetrisch durch vertauschen von L1 und L2 erfolgen, also [lang] + L2*Rest([kurz] - [lang];L1).
  • Wie im Folgenden noch weiter ausgeführt wird, ist beispielsweise eine vorteilhafte Ausprägung der Längen der unterschiedlichen Zahlenreihen L1 = 2n-1 und L2 = 2n+1. Da beide Werte ungerade sind und sich nur um 2 unterscheiden haben sie keinen gemeinsamen Teiler grösser als 1. Damit wiederholt sich die oben beschriebene Folge erst nach L1 * L2 = (2n-1) * (2n+1) = 22n-1 Werten. Die Berechnung der Periode ist bei diesem Beispiel etwas komplizierter, da sich bei jedem Umlauf einer Reihe die Differenz um 2 ändert, Daher muss der Restwert der Differenz bezogen auf die Länge der längeren Reihe L2 durch 2 geteilt werden. Nach der Hälfte der Überläufe wird der Rest ungerade. In diesem Fall ist vor der Halbierung die Länge der längeren Zahlenreihe L2 hinzuzuzählen. Für n=2, also L1=3 und L2 = 5, gilt dann: (Tabelle 3)
    Lang 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4
    Kurz 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2
    Rest(Kurz-Lang; L2) 0 0 0 2 2 2 4 4 4 1 1 1 3 3 3
    + L2 wenn ungerade 5 5 5 5 5 5
    Summe / 2 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4
  • Dieses Beispiel lässt sich leicht weiter verallgemeinern. Wenn D die Differenz der Längen der beiden verwendeten Zahlenreihen ist, dann ist der Rest der Differenz des Zahlenwertes der kurzen Zahlenreihe zur langen Zahlenreihe bezogen auf die Länge der längeren Zahlenreihe L2 konstant pro Umlauf der kurzen Zahlenreihe und eindeutig für jeden Umlauf. Die Eindeutigkeit ergibt sich aus der Bedingung, dass die Längen der Zahlenreihen keinen gemeinsamen Teiler grösser als 1 haben. Damit ist ihre Differenz kein Teiler der Länge der langen Zahlenreihe L2. Jede Differenz des nächsten Umlaufes ist um D grösser als die des vorherigen Umlaufes. Bei Überscheiten der Länge L2 der längeren Zahlenreihe greift die Restberechnung. Da D kein Teiler von L2 ist, folgt daraus die Eindeutigkeit des Restwertes. Die Bestimmung der korrekten Periode hängt von der Wahl von L1 und L2 ab, ist jedoch mit einfachen mathematischen Mitteln möglich.
  • Die beiden Indizes, die die beschriebenen längeren und kürzeren Zahlenreihen repräsentieren werden im Folgenden IndexLang und IndexKurz benannt. Ein spezifischer Wert innerhalb des ersten Index IndexKurz wird als IndexKurzWert, und im zweiten Index IndexLang als IndexLangWert bezeichnet. Eine Position innerhalb dieser Indizes wird mit IndexKurzPos beziehungsweise IndexLangPos bezeichnet. Beide Indizes werden vorteilhaft durch denselben umlaufenden Index beschrieben, können aber auch durch unterschiedliche Indizes repräsentiert werden.
  • Gemäß einer Ausführungsform der Offenbarung wird ein Index zur Basis b=2 mit der beschriebenen Anzahl n an Ziffern verwendet. Eine programmiertechnisch vorteilhafte Variante ist beispielsweise n=16. Damit ist es möglich einen Bereich von 232-1 abzubilden. Der binäre Index hat lediglich eine Größe von 8Kbyte (gegenüber 512Mbyte bei Verwendung eines n=32 Index). Eine direkte Lookup Tabelle, die einen Zahlenwert direkt mit einer IndexPosition verknüpft hat lediglich 65536*2byte = 128 Kbyte. Überschreitet man die Grenze n=16 verdoppelt sich der Speicherbedarf für den binären Index mit jedem Inkrement von n, der Speicherbedarf für die Lookup Tabelle vergrößert sich jedoch einmalig um einen weiteren Faktor 2, da für die Speicherung von 17 Bit mindestens 4 Byte benötigt werden. Für n=17 werden also bereits 512Kbyte für die Lookup Tabelle benötigt.
  • Die Verkürzung des ersten Index IndexKurz beziehungsweise die Verlängerung des zweiten Index IndexLang kann beispielsweise so gewählt werden, dass der Index mit einem Zahlenwert bestehend entweder aus n-mal der 0 oder n-mal der 1 endet. In der Verkürzten Variante wird dieser Wert einfach ausgelassen. Da in der Folge des Index die nachfolgend repräsentierte Zahl die letzten n-1 Ziffern der vorhergehenden Zahl übernimmt ist diese Operation bei ausschließlich identischen Ziffern problemlos möglich. In der verlängerten Variante wird eine weitere identische Ziffer hinzugefügt. In diesem Fall ist für die korrekte Bestimmung der Position im Index einmalig nicht das Lesen von n aufeinanderfolgenden Ziffern sondern von n+1 Ziffern erforderlich.
  • Der im Folgenden dargestellte C++ Code ist dazu geeignet einen speziellen 16-bit, 65536-stelligen binären fortlaufenden umlaufenden Index innerhalb einer generell akzeptablen Zeit (z.B. ≤ 1ms) zu berechnen. Der Algorithmus kann leicht generalisiert werden, um für jegliches anderes b oder n einen entsprechenden Index zu berechnen. Für einen sehr langen Index kann eine dynamische Speicherzuordnung erforderlich sein. Zudem kann es erforderlich sein, die Zirkularität zu prüfen.
  • Die Grundlage des folgenden Algorithmus besteht darin, die letzten 16 Bit explizit auf „0“ (Null) zu setzen um am Ende eine Längenmanipulation zu erlauben:
 int main()
 {
    uint8_t indexBits[1 << 13];
    uint8_t filter[1 << 13];
    memset(indexBits, 0xff, sizeof(indexBits));
    memset(indexBits+8190, 0, 2);
    memset(filter, 0, sizeof(filter));
    filter[0] = 1;
    uint16_t pos, value, nextValue;
    for (pos = 0, value = 0; pos != 65535 - 16;pos++)
    {
        nextValue = (value >> 1) | (0 == (indexBits[pos >> 3] & (1 << (pos &
 7))) ? 0 : 0x8000);
        if (0 == (filter[nextValue >> 3] & (1 << (nextValue & 7))))
             filter[(value = nextValue) >> 3] ^= 1 << (nextValue & 7);
        else
        {
             for (; (0 == (indexBits[pos >> 3] & (1 << (pos & 7)))); )
             {
                 indexBits[pos >> 3] ^= 1 << (pos & 7);
                 filter[value >> 3] ^= 1 << (value & 7);
                 pos--; 





                 value = (value << 1) | (0 == (indexBits[(pos - 16) >> 3] & (1
 << (pos & 7))) ? 0 : 1);
             }
             indexBits[pos >> 3] ^= (1 << (pos & 7));
             pos--;
        }
      }
   }
  • Nach 98271 Iterationen ergibt sich der folgende obere Index (Big-Endian-Notation):
    Figure DE102022125391A1_0010
    Figure DE102022125391A1_0011
    Figure DE102022125391A1_0012
    Figure DE102022125391A1_0013
    Figure DE102022125391A1_0014
    Figure DE102022125391A1_0015
  • Dieser obere Index ist lediglich eine von 232751, etwa 1,08E9589, möglichen, verschiedenen 65536-Bit Zahlen bei welchen die 16 Bits mit dem niedrigsten Stellenwert (least significant bits) „0“ sind. Beginnend mit den Bits mit dem niedrigsten Stellenwert ergibt sich ein 16-Bit breites gleitendes Fenster mit den folgenden Werten:
    Figure DE102022125391A1_0016
    Figure DE102022125391A1_0017
  • Für eine Rückwärtssuche können diese 65536 Werte in aufsteigender Reihenfolge sortiert, und die Position als 16-Bit Wert gespeichert werden.
    Figure DE102022125391A1_0018
  • Unkomprimiert erfordert die obenstehend auszugsweise dargestellte Liste lediglich 128Kbyte an Speicherplatz. Gemäß einem Beispiel werden von 16 aufeinander folgenden Markern 20 jeweils zwei Werte erfasst und zusammengefügt (IndexKurzWert, IndexLangWert). Die Positionen der jeweils ausgelesenen Werte innerhalb des ersten und zweiten Index können daraufhin anhand einer Nachschlagtabelle als IndexKurzPos und IndexLangPos bestimmt werden. Wenn IndexLangWert gleich Null ist, sind grundsätzlich zwei verschiedene Positionen möglich, nämlich „65535“ und „65536“. Durch Bestimmung der direkt vorausgehenden oder der direkt nachfolgenden Ziffer kann dann die richtige Position der beiden möglichen Positionen bestimmt werden. Ist beispielsweise die vorausgehende Ziffer „1“ oder die nachfolgende Ziffer „0“, dann ist die richtige Position IndexLangPos = „65535“. Ist andererseits die vorausgehende Ziffer „0“ und die nachfolgende Ziffer „1“, dann ist die richtige Position IndexLangPos = „65536“.
  • Die Differenz zwischen IndexKurzPos und IndexLangPos Modulo L2 = 216 +1 = 65537 kann berechnet werden als IndexDiff = ( ( IndexKurzPos < IndexLangPos ? 0 x10001 : 0 ) + IndexKurzPos Index LangPos )
    Figure DE102022125391A1_0019
  • Zur Ermittlung der Periode ist dieser Wert zu halbieren. Für ungerade Differenzen ist vorher noch L2 hinzuzuzählen. Periode = ( ( IndexDiff & 0 x1 ? 0 x1001 : 0 ) + IndexDiff ) > > 1
    Figure DE102022125391A1_0020
  • Die Multiplikation dieses Wertes IndexDiff mit L1 = (216 - 1) = 65535 kann ausgedrückt werden als eine Subtraktion der eigentlichen Differenz von der verschobenen (bit shifted) Differenz: PosOfs = ( IndexDiff < < 16 ) IndexDiff
    Figure DE102022125391A1_0021
  • Die resultierende letztendliche Position ergibt sich aus einer simplen Addition der Werte IndexKurzPos und PosOfs: Pos = IndexKurzPos + PosOfs
    Figure DE102022125391A1_0022
  • Da die vorangehend dargestellten Operationen wenig komplex sind, sind diese ohne wesentlichen Einfluss auf die Performance eines elektronischen Verarbeitungssystems in kurzer Zeit durchführbar. Beispielsweise können auf einem i5 Windows 10 System über 85.000.000 Positionen in einer Sekunde kodiert und dekodiert werden.
  • In der zuletzt beschriebenen Ausführung repräsentiert jeder der Marker 20 zwei Ziffern (z.B. passiver Marker) oder hat zwei Ziffern in seinem Speicher abgelegt (z.B. elektronische Einheit). Durch aufeinanderfolgendes Auslesen der jeweils durch die Marker 20 repräsentierten oder in diesen gespeicherten Ziffern mittels des Lese- oder Empfangsgerätes 32 ergeben sich zwei Zahlen. Für die erste Zahl wird Ihre Position IndexKurzPos im IndexKurz ermittelt. Für die zweite Zahl wird Ihre Position IndexLangPos im IndexLang ermittelt. Für den Fall, dass es sich um den verdoppelten Zahlenwert am Ende des Index handelt wird eine weitere Ziffer vor oder nach den notwendigen Ziffern für eine eindeutige Bestimmung benötigt. Entsprechend der vorangegangenen Beschreibung wird die Periode P der vollständigen Umläufe des IndexLang ermittelt als Funktion des Restwertes P ( Rest ( IndexKurzPos IndexLangPos ; L 2 ) )
    Figure DE102022125391A1_0023
  • Die repräsentierte Position ist dann Pos = IndexKurzPos + L 1 P
    Figure DE102022125391A1_0024
  • Jede dieser Positionen kann einer Position in einem Straßennetz eindeutig zugeordnet sein. Durch die Verwendung von Nachschlagtabellen kann der Rechenaufwand auch bei einer sehr großen Anzahl von zu identifizierenden Positionen in vertretbarem Rahmen gehalten werden.
  • Wie oben beschrieben ergibt sich aus den gewählten b und n die Länge des IndexKurz und IndexLang und die Anzahl q der für eine Positionsbestimmung notwendigen Marker 20. Für oben beschriebene Beispiel b=2 und n=16 müssen somit sechzehn Marker 20 von einem Fahrzeug 30 überfahren und deren Daten durch die Lese- oder Empfangseinheit 32 (aus)gelesen werden, um einen IndexKurzWert und einen IndexLangWert zu ermitteln. Anhand einer Nachschlagtabelle (Lookup-Table) kann dann identifiziert werden, an welcher Position innerhalb des IndexKurz, bzw. IndexLang sich die erkannten Werte befinden und welcher realen Position im Straßennetz diese Position zugeordnet ist. Hierbei ist allerdings zu bedenken, dass wie im Vorigen beschrieben auch ein gespiegelter Index als Index angesehen werden kann. Somit kann aus dem Auslesen von 16 Markern 20 nicht geschlossen werden, ob diese in positiver oder negativer Richtung überfahren wurden. Die umgekehrten Ziffernfolgen für IndexKurzWert und IndexLangWert repräsentieren eine andere valide Position im IndexKurz und IndexLang und damit eine andere Position im Straßennetz. Da die Indizes aber nicht symmetrisch sind, ist eine eindeutige Festlegung der Richtung spätestens nach dem Auslesen weiterer 16 Marker 20 möglich, in der Regel jedoch bereits früher.
  • Fährt ein Fahrzeug 30 entlang einer Straße, liest es die einzelnen Ziffern aus den Markern 20 jeweils in anderer Reihenfolge aus, je nachdem in welcher Richtung sich das Fahrzeug 30 bewegt. Beispielsweise liest ein Fahrzeug 30 wenn es einen Streckenabschnitt mit sechzehn Markern 20 in Richtung einer positiven Indexrichtung passiert die Abfolge 0110 1010 1100 0001 aus. Wurde der Index in einem Streckenabschnitt in entgegengesetzter Richtung zur Fahrtrichtung eingebracht, wird hingegen die entgegengesetzte Abfolge 1000 0011 0101 0110 ausgelesen. Dabei ist dem Fahrzeug 30 die Richtung in die es sich relativ zur Indexrichtung bewegt zunächst nicht bekannt. Die beispielhaft gewählte binäre Sequenz kann somit entweder positiv 0x6AC1 oder negativ 0x8356 sein, wobei 0 x6AC1 = 27329 entspricht Position 52919
    Figure DE102022125391A1_0025
    0 x8356 = 33622 entspricht Position 53052 .
    Figure DE102022125391A1_0026
  • Betrachtet man die entsprechend jeweils zu erwartenden darauffolgenden Werte, ist es nach lediglich drei weiteren ausgelesenen Bits möglich die Richtung des Fahrzeugs 30 eindeutig zu erkennen:
    Figure DE102022125391A1_0027
    Figure DE102022125391A1_0028
  • In der jeweils folgenden Zeile sind der direkt folgende Indexwert und die zugeordnete Position dargestellt. Dabei ist die jeweils nächste Ziffer welche beim Überfahren des nächsten Markers 20 ausgelesen wird fett und unterstrichen gekennzeichnet. Ein Indexwert überlappt sich dabei bis auf eine einzige Ziffer komplett mit dem jeweils vorhergehenden und dem jeweils darauffolgenden Index. Nach dem Auslesen des dritten zusätzlichen Markers ist dann eine Entscheidung möglich, da eine 1 bei positiver Bewegungsrichtung und eine 0 bei negativer Bewegungsrichtung zu erwarten ist. Wird diese Auswertung für jeden der zwei oben beschriebenen Werte (IndexKurzWert, IndexLangWert) gleichzeitig durchgeführt, reduziert sich die Anzahl der zu berücksichtigenden Elemente (der zu überfahrenden Marker 20) bis eine Richtung des Fahrzeugs 30 eindeutig erkannt werden kann gegebenenfalls noch weiter, da bereits eine Richtungsentscheidung ausreicht.
  • Die beschriebene Methode zum Erkennen der Fahrtrichtung ist jedoch verhältnismäßig anfällig gegenüber Störungen, z.B. Ausfall einzelner Marker 20. Alternativ oder zusätzlich ist es daher auch möglich, die Fahrtrichtung auf andere Art und Weise zu erkennen. So können beispielsweise mit jedem Marker 20 noch weitere Ziffern bereitgestellt werden, welche strikt einem vorgegebenen Muster folgen. Dies kann beispielsweise eine Abfolge von 2 oder 3 festgelegten Ziffern pro Marker 20 sein. Im Fall von zusätzlichen zwei Ziffern kann dies beispielsweise das Muster 0 -> 1 -> 2 -> 3 -> 0... sein (also 00 -> 01 -> 10 -> 11 -> 00...), oder im Fall von zusätzlichen drei Ziffern 0 -> 1 -> 2-> 3 -> 4 -> 5 -> 6 -> 7 -> 0... (also 000 -> 001 -> 010 -> 011 -> 100 -> 101 -> 110 -> 111 -> 000...). Die Ziffernfolge und somit die Fahrtrichtung kann so direkt erkannt werden. Erhöht sich der Wert beispielsweise von einem Marker 20 zum nächsten, bedeutet dies, dass das Fahrzeug 30 in positiver Richtung fährt, reduziert sich der Wert hingegen, bewegt sich das Fahrzeug 30 in entgegengesetzter negativer Richtung. Zudem kann die Vollständigkeit der erkannten Information bestätigt werden. Wird eine Ziffer nicht detektiert, wird dies in der fehlerhaften Zählweise dieser expliziten Richtungscodierung erkannt. Im Folgenden bezeichnet L3 die Länge des Richtungszählers und ein aktueller Wert des Richtungszählers wird mit DirWert bezeichnet.
  • Die zusätzliche explizite Richtungscodierung kann auch dazu verwendet werden, um die Anzahl an möglichen zu erkennenden Positionen weiter zu erhöhen. Gemäß dem Beispiel bei welchem b=2, n=16, L1=2n-1, L2=2n+1 ergibt sich ein einfacher Umlauf nach 232-1 Positionen. Diese Zahl ist ungerade und hat keinen gemeinsamen Teiler mit L3 der größer ist als 1. Aus diesem Grund kann auf die Zahlenfolgen der Länge L1*L2 und L3 die gleiche Logik angewendet werden wie oben in Bezug auf IndexKurz und IndexLang beschrieben. Wenn beide Folgen bei Erreichen des Maximalwertes wieder von vorne beginnen, ergeben sich eindeutige Zahlenpaare bis zum Produkt der beiden Längen. Mit jedem Umlauf der Position verschiebt sich der Richtungszähler um eine relative Position. Die Periode lässt sich berechnen als P 2 = Rest ( Pos DirtWert ;  L 3 ) ,
    Figure DE102022125391A1_0029
    und die resultierende Gesamtposition zwischen 0 und L1*L2*L3 ergibt sich als Pos ges = Pos + P 2 L 1 L 2 .
    Figure DE102022125391A1_0030
  • Der adressierbare Bereich liegt somit zum Beispiel für b=2, n=16 und L3=8 bei 235-8=34.359.738.360 bei Einsatz von nur fünf Ziffern pro Marker 20 (32 unterschiedliche Marker 20).
  • Weiterhin ist es auch möglich, an jeder Position nicht nur die für die entsprechende Position relevanten Ziffern, sondern auch die Ziffern für die direkt darauffolgende und/oder die direkt vorangehende Position bereitzustellen. Das heißt, ein Marker 20 würde nicht nur die für seine eigene Position relevanten Ziffern des Index, sondem auch die Ziffern des Index des direkt darauffolgenden und/oder direkt vorausgehenden Markers 20 repräsentieren/speichern. Dadurch wird das System deutlich robuster gegenüber Ausfällen eines oder mehrerer der Marker 20. Ebenso kann es beispielsweise vorkommen, dass ein Marker 20 zwar grundsätzlich funktioniert (unbeschädigt ist), die Übertragung jedoch aus irgendeinem Grund gestört ist, bzw. das Lesen/Erkennen des Markers 20 aus irgendeinem Grund nicht möglich ist. In Abhängigkeit davon, ob in einem Marker 20 die Daten lediglich eines oder sogar mehrerer direkt darauffolgender und/oder vorausgehender Marker 20 gespeichert sind, kann die Position eines Fahrzeugs 30 dennoch genau bestimmt werden, selbst wenn ein oder sogar mehrere direkt aufeinanderfolgende Marker 20 ausfallen. Weiterhin ist es dadurch möglich, eine Konsistenzprüfung der empfangenen Daten durchzuführen, wenn sich die Daten direkt benachbarter Marker 20 überlappen. Ebenso ist es dadurch möglich Marker 20 an bestimmten Stellen absichtlich auszulassen. Dies kann beispielsweise der Fall sein, wenn aus irgendwelchen Gründen keine Marker 20 in einem bestimmten Abschnitt angebracht werden können, oder wenn bei herkömmlichen Verfahren zur Positionserkennung (z.B. GPS, kamerabasierte Positionserkennung o.ä.) keine Störungen zu erwarten sind, so dass diese Verfahren zumindest abschnittsweise alternativ verwendet werden können.
  • Grundsätzlich ist jegliche Kombination von expliziter Richtungskennzeichnung und überlappenden Bitmustern möglich. Ein überlappendes Bitmuster (ein Marker 20 speichert zusätzlich Ziffern eines oder mehrerer darauffolgender oder vorausgehender Marker 20), wie beispielsweise oben beschrieben, erlaubt es dabei immer möglicherweise ausgefallene Marker 20 zu kompensieren und auch bei einzelnen ausgefallenen Markern 20 eine genaue Positionserkennung zu ermöglichen.
  • Wird ein überlappendes Bitmuster verwendet, ohne die bewusste Auslassung von Markern 20, kann auf eine explizite Richtungskennzeichnung gegebenenfalls verzichtet werden, da die überlappenden Bitfolgen wenigstens eine gewisse Sicherheit bieten, ausgefallene Marker 20 durch eine Plausibilisierung zu erkennen und die Fahrtrichtung durch die Richtung des „Ziffemshift“ ermittelt werden kann. An Positionen, bei welchen Ausfälle anderer Verfahren zur Positionserkennung (z.B. GPS, kamerabasierte Positionserkennung o.ä.), welche möglicherweise zusätzlich zur Verifikation verwendet werden könnten, wahrscheinlich sind, sowie grundsätzlich in Bereichen, in welchen eine Fehlinterpretation größere Auswirkungen nach sich zieht (z.B. in Kreuzungsbereichen) kann eine explizite Richtungskennzeichnung jedoch wesentliche Vorteile bieten.
  • Die folgenden beispielhaften Kombinationen liefern beispielsweise Vorteile gegenüber anderen Kombinationen: (Tabelle 7)
    IndexKurz/IndexLang/Richtung Bits Elemente Anmerkung
    2/2/0 4 16 Geringste Anzahl unterschiedlicher Komponenten. Geringster Zahlenbereich(232)
    2/2/3 7 128 Geeignet zum Auslassen bestimmter Marker (50%) für beide Fahrtrichtungen. Größter Zahlenbereich (235)
    3/3/2 8 256 Gut geeignet zur Wiederherstellung und zum Auslassen von Markern. Gut geeignet für Autobahnen (Verkehrsfluss in nur einer Richtung), zum Auslassen von Markern und für sicherheitsrelevante Situationen, in welchen andere Positionserfassungssysteme (z.B. GPS-, oder Kamerabasiert) versagen können. Zwei Mal geringerer Zahlenbereich im Vergleich zu 2/2/3
  • Die hierin beschriebenen Ausführungsformen erfordern keine anspruchsvollen mathematischen Berechnungen, sondern lediglich einfache Nachschlagtabellen und elementare mathematische Berechnungen. Daher ist das System kostengünstig und einfach als System-on-Chip (SOC) implementierbar, bei gleichzeitiger Sicherstellung der zuverlässigen und schnellen Bereitstellung der Positionsdaten. Im Gegensatz zu softwarebasierten Lösungen wird das Risiko von unnötigen Verzögerungen in der Bereitstellung der Positionsdaten deutlich verringert.
  • Gemäß einer Ausführungsform kann das System (z.B. das Lese- oder Empfangsgerät 32) einen internen Timer (Taktgenerator) aufweisen (z.B. eine GPS-Uhr), welcher eine zeitgenaue Synchronisation einer Vielzahl von Einheiten (bzw. Fahrzeugen) ermöglicht. Die Verwendung der GPS-Zeit erlaubt beispielsweise eine Zeitsynchronisation von unter 100ns. Bei einer Geschwindigkeit von 100km/h legt ein Fahrzeug 30 in 100ns weniger als 3mm zurück. Damit ist ein Austausch von Positionen zwischen Fahrzeugen in hinreichender Genauigkeit möglich.
  • Eine gute lineare und laterale Auflösung der verwendeten Marker 20 trägt zur Sicherheit der Positionsbestimmung des entsprechenden Fahrzeugs 30 bei. Die laterale Auflösung eröffnet dabei die Möglichkeit der expliziten Bestimmung der lateralen Position auf einer Fahrspur. Dies kann dazu verwendet werden, bestimmte automatisch ausgeführte Manöver zu optimieren sowie auch zur optimalen Nutzung der Fahrspuren. Das Hinzufügen stochastischer Offsets kann die Ausbildung von Fahrspuren auf der Straße reduzieren.
  • Bei baulich nicht getrennten Straßen kann, wie oben beschrieben, jede Position für beide Fahrtrichtungen jeweils dieselbe Positionsinformation aufweisen. In der einen Fahrtrichtung werden dann die Positionen ansteigen, während sie in der anderen Richtung sinken. Diese Methode ermöglicht die digitale Beschreibung der Straße mit weniger Daten. Das gleiche kann auch für mehrspurige Straßen gelten. Anstatt der gleichen Position entlang einer Straße auf verschiedenen Fahrspuren in die gleiche Richtung jeweils eine unterschiedliche Markierung zuzuweisen, kann für jede Fahrspur jeweils die gleiche Markierung verwendet werden. Ein Fahrzeug 30, welches sich entlang einer Straße bewegt, erfasst daher immer die gleichen Positionen, unabhängig davon auf welcher einer Vielzahl von Fahrspuren es sich bewegt. Eine Information darüber, auf welcher Fahrspur sich das Fahrzeug 30 befindet, kann auf andere Art und Weise hinzugefügt werden. Für den Bereich des autonomen Fahrens, sowie auch für andere Bereiche, kann die Kenntnis über die genaue Fahrspur unerlässlich sein, um beispielsweise zuverlässig Unfälle vermeiden zu können.
  • Wenn für alle Fahrspuren jeweils die gleiche Position erfasst wird kann es erforderlich sein in einer Kurve beispielsweise für eine oder mehrere Fahrspuren den Abstand d zwischen zwei Markern 20 entsprechend geringfügig zu vergrößern (äußerste Fahrbahn) oder geringfügig zu verringern (innerste Fahrbahn). Dadurch kann die Information welche zur digitalen Beschreibung der Straße benötigt wird reduziert werden. Automatisch ausgeführte Spurwechsel (z.B. bei autonomem Fahren) können zudem besser synchronisiert werden, da die Positionsinformation benachbarter Spuren unmittelbar verglichen werden kann.
  • Anstatt jeder einer Vielzahl von Fahrspuren eine eigene eindeutige Position zuzuordnen, kann eine weitere, explizite und nicht-kontinuierliche Information zum Identifizieren einer Fahrspur verwendet werden. Wie oben beschrieben werden ein Bit für den IndexKurz sowie ein Bit für den IndexLang benötigt. Gegebenenfalls werden zusätzliche Bits benötigt um Informationen vorausgehender oder nachfolgender Positionen zu speichern. Weitere Bits werden benötigt, wenn die Richtung (z.B. Richtungscounter von 0 - 3, oder von 0 - 7) eindeutig codiert werden soll. Gemäß einem weiteren Ausführungsbeispiel der Offenbarung kann an jeder Position (in jedem Marker 20) ein zusätzliches Bit (Binärzahl) gespeichert werden, welches es erlaubt die entsprechende Fahrspur einer Vielzahl von Fahrspuren eindeutig zu identifizieren. Die diesem Prinzip zugrunde liegende Idee besteht darin, bei Vorhandensein eines 3 Bit Richtungsindex die 8 zusätzlichen Bits von acht aufeinanderfolgenden Markern 20 beginnend bei DirWert = 0 und endend bei DirWert = 7 als 8 Bit Dualzahl zwischen 0 und 255 zu interpretieren. Diesen Zahlen können spezifische Bedeutungen zugewiesen werden, zum Beispiel in Form einer Kennzeichnung der Fahrspur. Die Art der Zahl/Spurzuordnung ist in diesem Fall ein Teil der digitalen Beschreibung der Straße.
  • Dabei ist es grundsätzlich möglich, pro Fahrspur lediglich einen Marker 20 vorzusehen (z.B. zentral in der Mitte der Fahrspur). Insbesondere bei mehrspurigen Straßen kann es für bestimmte Manöver, z.B. Spurwechsel, jedoch hilfreich sein mehr als einen Marker 20 pro Fahrspur vorzusehen. Beispielsweise kann ein Marker 20 am rechten Rand der Fahrspur, ein Marker 20 zentral in der Mitte der Fahrspur, und ein Marker 20 am linken Rand der Fahrspur angeordnet sein, wobei jeder der drei Marker 20 ein und derselben Position dieselben Index- und Richtungs-Informationen gespeichert hat. Dadurch kann auch beim seitlichen Verlassen der Fahrspur, wenn ein Empfang/das Auslesen der Daten des zentral in der Mitte angeordneten Markers 20 aufgrund des größeren Abstands zu dem Lese- oder Empfangsgerät 32 nicht mehr gewährleistet werden kann, eine eindeutige Positionsbestimmung noch möglich sein. Drei Marker 20 pro Fahrspur zu verwenden ist dabei jedoch lediglich ein Beispiel. Es könnten beispielsweise auch nur zwei oder sogar mehr als drei Marker 20 pro Fahrspur vorgesehen werden. Dies kann beispielsweise von der Breite der Fahrspuren oder der Anzahl der Fahrspuren abhängen. Der mögliche Zahlenbereich von 0 bis 255 reicht in der Regel für die Kennzeichnung aller Fahrspuren in allen möglichen Situationen aus.
  • Für die Spurkennzeichnung nicht genutzte Zahlenbereiche können beispielsweise zusätzlich zu den oben bereits beschriebenen Informationen auch noch weitere Informationen speichern/repräsentieren, welche für die Positionsbestimmung selbst nicht benötigt werden. So ist es beispielsweise möglich, zusätzliche Informationen über eine erlaubte Höchstgeschwindigkeit zu speichern. Kamerabasierte Systeme, welche Verkehrsschilder erfassen und einem Fahrer eines Fahrzeugs Informationen zu erlaubten Höchstgeschwindigkeiten anzeigen sind oft fehleranfällig, da die Sicht aus verschiedenen Gründen eingeschränkt sein kann. Werden solche Informationen in den beschriebenen Markern 20 abgelegt, können diese wesentlich zuverlässiger durch das Fahrzeug 30 erfasst werden. Hierbei ist es ebenfalls möglich, Informationen darüber zu speichern, ob sich eine an einer Position erlaubte Höchstgeschwindigkeit nach einer bestimmten zurückgelegten Distanz ändern wird. So kann beispielsweise bereits frühzeitig eine Reduzierung der Geschwindigkeit eingeleitet werden. Für den Fall, dass für die Kodierung einiger oder aller der hierin beschriebenen Anwendungsfälle der Zahlenbereich von 0 - 255 nicht ausreicht, so ist es beispielsweise möglich den spezifischen Wert 255 zu verwenden, um eine längere Sequenz anzukündigen. Alternativ ist es auch möglich, spezifische Marker 20 bereitzustellen, welche von den gleichen Lese- und Empfangsgeräten 32 gelesen werden können, welche jedoch spezifische Zwecke beschreiben, wie beispielsweise Orts- oder Verkehrsschilder oder sogar Werbung.
  • Weiterhin ist es möglich, spezielle Zahlenbereiche von der permanenten Positionsbestimmung (Kennzeichnung) auszunehmen. Das heißt, bestimmte Zahlenbereiche können nicht zur permanenten Kennzeichnung von Positionen in einem Straßennetz verwendet werden. Diese Zahlenbereiche können stattdessen variabel in Sondersituationen eingesetzt werden. Beispielweise sind im Bereich von Baustellen oft Fahrspuren verengt, oder Fahrzeuge einer Fahrtrichtung werden auf Fahrspuren die normalerweise für die Gegenrichtung vorgesehen sind umgeleitet. In solchen Fällen ist es möglich die reservierten Zahlenbereiche vorübergehend zur Kennzeichnung der entsprechenden Fahrspuren zu verwenden. Dadurch ist eine genaue Positionsbestimmung samt Richtungserkennung auch bei kurzfristig verändertem Straßenverlauf möglich.
  • Jeder Marker 20 kann beispielsweise in seinem internen Speicher maximal acht verschiedene Bits speichern, bzw. kann jeder Marker 20 acht verschiedene Bits darstellen/repräsentieren. Dadurch wird für jeden Marker 20 nur wenig Speicher, bzw. Platz benötigt. Werden die Marker 20 als elektronische Einheiten ausgebildet, so sind diese verhältnismäßig kostengünstig herstellbar. Optische Marker können wenig komplex und platzsparend implementiert werden.
  • Um eine gegebene Position in einen 2/2/3 Positionsmarker zu übersetzen, kann beispielsweise der folgende Code verwendet werden, wobei uint16_t encIndex[65536] den Index des initialen Code-Fragments entsprechend der Tabelle 4 speichert:
  •  uint64_t position = ###;
     _ASSERTE(position < 0x7fffffff8);
     uint32_t posLow = (uint32_t)(position & 0xffffffff);
     uint32_t posHigh = (uint32_t)(position >> 32);
     uint32_t tmp = posLow + posHigh + (-poshigh <= posLow ? 1 : 0);
     uint16_t lowTmp = (uint16_t)(tmp & 0xffff);
     uint16_t highTmp = (uint16_t)(tmp >> 16);
     uint16_t indexKurzPos = lowTmp + highTmp + ((θxffff ^ highTmp) <= lowTmp ? 1 :
     0);
     uint16_t indexLangPos = lowTmp - highTmp + (lowTmp < highTmp ? 1 : 0) - (1 ==
     highTmp - lowTmp ? 1 : 0);
     return (uint8_t)((encIndex[indexLangPos] & 0xc000) >> 14) |
     (uint8_t)((encIndex[indexKurzPos] & 0xc000) >> 12) | (uint8_t)((position & 7)
     << 4);
  • Wenn die Rekombination des IndexKurzWert und des IndexLangWert durch das Aufsammeln der Bits erfolgt ist, der DirWert aus Bit 4 - 6 des aktuellen Markers 20 bekannt ist, und für den Fall des bevorstehenden Überlaufes von IndexLang bekannt ist, ob aktuell der verdoppelte Wert vorliegt, dann kann folgender Code zur Positionsbestimmung verwendet werden:
  •  bool indexLangPosMax = ###; //abhängig vom ersten Bit außerhalb von In-
     dexLangWert
     uint16_t indexlangWert = ###;
     uint16_t indexkurzWert = ###;
     uint8_t dirwert = #;
     uint32_t indexLangPos = contIndex[indexLangWert];
     indexLangPos += (θxffff == indexLangPos) && indexLangPosMax ? 1 : 0;
     uint16_t indexKurzPos = contIndex[indexKurzWert];
     uint32_t indexDiff = (indexKurzPos < indexLangPos ? 0x10001 : 0) + indexKurz-
     Pos - indexLangPos; 
    
    
    
     uint32_t period16 = (indexDiff + (0x1 == (indexDiff & 0x1) ? 0x10001 : 0)) >>
     1;
     uint32_t position32 = (period16 << 16) - period16 + indexKurzPos;
     uint64_t period32 = (8 + (position32 & 7) - dirwert) & 7;
     return (period32 << 32) - period32 + position32;
  • Der so ermittelte Wert entspricht der Position des Markers 20, der das höchstwertige Bit speichert. Bei negativer Fahrtrichtung relative zum Index wird das niedrigstwertige Bit hinzugefügt und repräsentiert die aktuelle Position. Der berechnete Wert ist damit um 15 zu hoch und muss korrigiert werden. Uint16_t contIdex[65536] hält 128k der Nachschlagetabelle für den Index, um Werte in Positionen umzuwandeln.
  • Das Überfahren von beispielsweise insgesamt 16 Markern 20 zur Positionsbestimmung ist nur initial erforderlich. Sobald 15 Marker 20 überfahren wurden, erlaubt das Überfahren jedes weiteren Markers 20 eine sofortige Bestimmung der neuen Position. Solange ein Fahrzeug 30 also das kodierte Straßennetz nicht verlässt, ist das Überfahren eines jeden weiteren Markers 20 hinreichend für eine weitere Positionsbestimmung.
  • Viele Fahrzeuge 30 weisen neben einer Lese- oder Empfangseinheit 32 beispielsweise auch ein GPS System, Radsensorik, Drehraten- und Beschleunigungssensoren, Kamerabasierte Bildverarbeitungssysteme und/oder Laserscanner-basierte Systeme auf. Sind nicht alle Straßen eines Straßennetzes durchgehend entsprechend der Offenbarung gekennzeichnet, können alternative Sensoren zur Positionsbestimmung weiterhin Verwendung finden. Diese Sensoren können beispielsweise zusätzlich auch für das Positionierungssystem gemäß den Ausführungsformen der Offenbarung genutzt werden.
  • Eine wenigstens ungefähr bekannte Position basierend auf einem GPS System kann beispielsweise dazu benutzt werden, um die bekannten kodierten Positionen gemäß Ausführungsformen der Offenbarung in der Umgebung gespeichert im Kartenmaterial des Fahrzeugs dem Erkennungsalgorithmus zur Verfügung zu stellen. Durch ein sogenanntes „Pattern Matching“ der erkannten Zahlenfragmente mit den möglichen Werten in der Umgebung kann es beispielsweise bereits nach wenigen Markern 20 von einer unbekannten Position aus (zum Beispiel außerhalb der Straße auf privatem Grund) möglich sein eine Position exakt zu bestimmen. Auch bei Straßenwechseln im Zuge von Manövern kann die bekannte Abfolge von Ziffern verlassen werden, so dass es erforderlich sein kann mit dem Aufsammeln neuer Marker 20 zu beginnen. Liegt eine Information über die zu erwartenden Werte vorab vor, ist es beispielsweise möglich bereits ab dem ersten Marker 20 einer bekannten erwarteten Folge eine Position exakt zu bestimmen. In diesem Zusammenhang kann die Verwendung eine expliziten Richtungswertes beispielsweise mit der Länge L3=8 sinnvoll sein. Die Werte des IndexKurz und IndexLang können einzeln gesehen nicht voneinander unterscheidbar sein. Durch Hinzunahme der Richtungsinformation sind jedoch 8 aufeinander folgende Marker 20 eindeutig unterscheidbar.
  • Durch Hinzunahme von spezieller, hochauflösender Radsensorik, Kamerabasierten Bildverarbeitungssystemen und/oder von Laserscanner-basierten Systemen kann eine Interpolation der Position mit einer Genauigkeit deutlich besser als dem Abstand d der Marker 20 möglich sein. Diese Information kann auch zur Plausibilisierung der Abwesenheit von Markern 20 genutzt werden. Wenn eine Strecke von 2d zurückgelegt wird, ohne einen erwarteten Marker 20 identifiziert zu haben kann angenommen werden, dass ein Fehler vorliegt.
  • Zur Verbesserung der lateralen Auflösung ist es beispielsweise möglich, eines oder mehrere Lese- und Empfangsgerät(e) 32 beweglich unter einem Fahrzeug 30 anzuordnen, um diese bezüglich der Marker 20 optimal ausrichten zu können. Eine Auswertung von Drehraten- und Beschleunigungssensoren kann hier beispielsweise zusätzliche Hinweise für notwendige Positionsanpassungen geben.
  • Das Positionserkennungssystem wurde oben anhand eines Straßennetzes beschrieben. Grundsätzlich kann das System jedoch auch in vielen anderen Anwendungen zum Einsatz kommen, bei welchen eine Positionsbestimmung erforderlich ist. Dies kann beispielsweise auch in einem Schienennetz der Fall sein. Jedoch sind auch noch andere Anwendungen, wie beispielsweise in der linearen Messtechnik im Maschinenbau, denkbar. Die Marker 20 könnten beispielsweise an einem Werkstück angebracht sein, und die Lese- oder Empfangseinheit 32 an einer geeigneten Vorrichtung.
  • 3 zeigt in einem Ablaufdiagramm ein Verfahren gemäß Ausführungsformen der Offenbarung. Das Verfahren weist das Auslesen einer Vielzahl von Markern auf (Schritt 301), welche in regelmäßigen Abständen entlang einer Strecke angeordnet sind, wobei jeder der Vielzahl von Markern wenigstens eine einer Vielzahl b mit b ≥ 2 einstelliger Zahlen repräsentiert oder in einem Speicher gespeichert hat, und wobei sich durch das aufeinanderfolgende Auslesen einer Anzahl n der durch die Marker repräsentierten einstelligen Zahlen eine n-stellige Zahl ergibt, welche in einem Index der Größe bn eindeutig einer Position zugewiesen werden kann, wobei der Index derart gebildet ist, dass die ersten n-1 Ziffern einer Zahl mit den letzten n-1 Ziffern einer der Zahl direkt folgenden Zahl übereinstimmen. Das Verfahren weist weiterhin das Bestimmen einer Position entlang einer Strecke basierend auf der n-stelligen Zahl auf (Schritt 302), wobei jeder Position innerhalb des Index eine Position entlang der Strecke eindeutig zugeordnet ist.
  • 4 zeigt in einem Ablaufdiagramm ein Verfahren gemäß weiteren Ausführungsformen der Offenbarung. Das Verfahren weist das Auslesen einer Vielzahl von Markern auf (Schritt 401), welche in regelmäßigen Abständen entlang einer Strecke angeordnet sind, wobei jeder der Vielzahl von Markern zwei einstellige Zahlen einer Vielzahl b einstelliger Zahlen repräsentiert oder in einem Speicher gespeichert hat, sich durch das aufeinanderfolgende Auslesen der durch die Marker repräsentierten einstelligen Zahlen eine erste mehrstellige Zahl und eine zweite mehrstellige Zahl ergeben, wobei die erste mehrstellige Zahl und die zweite mehrstellige Zahl jeweils eine Zahlenbreite n aufweisen, und wobei die erste mehrstellige Zahl in einem ersten Index einer ersten Länge L1 eindeutig einer Position IndexKurzPos und die zweite mehrstellige Zahl in einem zweiten Index einer von der ersten Länge L1 unterschiedlichen zweiten Länge L2 eindeutig einer Position zugeordnet werden kann, der erste Index und der zweite Index jeweils derart gebildet sind, dass die jeweils ersten n-1 Ziffern einer Zahl mit den jeweils letzten n-1 Ziffern einer der Zahl direkt folgenden Zahl übereinstimmen, die erste Länge und die zweite Länge keinen gemeinsamen Teiler größer als 1 besitzen, und nach jedem Umlauf des ersten Index und des zweiten Index der entsprechende Index erneut durchlaufen wird, wobei erst nach einer Anzahl L1*L2 Schritten eine Wiederholung eines Zahlenpaares erfolgt, wobei aus einer Differenz der Position in dem ersten Index und der Position in dem zweiten Index eine Anzahl P der Umläufe des ersten Index bestimmt werden kann, und wobei dem Zahlenpaar eindeutig eine Position Pos = IndexKurzPos + P * L1 mit 0 ≤ Pos ≤ L1 * L2 zugeordnet werden kann. Das Verfahren weist weiterhin das Bestimmen einer Position entlang einer Strecke auf (Schritt 402), basierend auf der Position eines Zahlenpaares.
  • Ein Positionserkennungssystem gemäß Ausführungsformen der Offenbarung weist eine Vielzahl von Markern 20 auf, welche in regelmäßigen Abständen d entlang einer Strecke angeordnet sind, wobei jeder der Vielzahl von Markern 20 wenigstens eine einer Vielzahl b mit b ≥ 2 einstelliger Zahlen repräsentiert oder in einem Speicher gespeichert hat, und sich durch das aufeinanderfolgende Auslesen einer Anzahl n der durch die Marker 20 repräsentierten einstelligen Zahlen eine n-stellige Zahl ergibt, welche in einem Index der Größe bn eindeutig einer Position zugewiesen werden kann, wobei der Index derart gebildet ist, dass die ersten n-1 Ziffern einer Zahl mit den letzten n-1 Ziffern einer der Zahl direkt folgenden Zahl übereinstimmen, wobei jeder Position innerhalb des Index eine Position entlang der Strecke eindeutig zugeordnet ist. Gemäß einem Beispiel kann b = 2 und die einstelligen Zahlen entweder 0 oder 1 sein.
  • Ein Positionserkennungssystem gemäß weiteren Ausführungsformen der Offenbarung weist eine Vielzahl von Markern 20 auf, welche in regelmäßigen Abständen d entlang einer Strecke angeordnet sind, wobei jeder der Vielzahl von Markern 20 zwei einstellige Zahlen einer Vielzahl b einstelliger Zahlen repräsentiert oder in einem Speicher gespeichert hat, sich durch das aufeinanderfolgende Auslesen der durch die Marker 20 repräsentierten einstelligen Zahlen eine erste mehrstellige Zahl IndexKurzWert und eine zweite mehrstellige Zahl IndexLangWert ergeben, wobei die erste mehrstellige Zahl IndexKurzWert und die zweite mehrstellige Zahl IndexLangWert jeweils eine Zahlenbreite n aufweisen, und wobei die erste mehrstellige Zahl IndexKurzWert in einem ersten Index IndexKurz einer ersten Länge L1 eindeutig einer Position IndexKurzPos und die zweite mehrstellige Zahl IndexLangWert in einem zweiten Index IndexLang einer von der ersten Länge L1 unterschiedlichen zweiten Länge L2 eindeutig einer Position IndexLangPos zugeordnet werden kann, der erste Index IndexKurz und der zweite Index IndexLang jeweils derart gebildet sind, dass die jeweils ersten n-1 Ziffern einer Zahl mit den jeweils letzten n-1 Ziffern einer der Zahl direkt folgenden Zahl übereinstimmen, die erste Länge L1 und die zweite Länge L2 keinen gemeinsamen Teiler größer als 1 besitzen, nach jedem Umlauf des ersten Index IndexKurz und des zweiten Index IndexLang der entsprechende Index erneut durchlaufen wird, wobei erst nach einer Anzahl L1*L2 Schritten eine Wiederholung eines Zahlenpaares IndexKurzPos, IndexLangPos erfolgt, wobei aus einer Differenz der Position IndexKurzPos in dem ersten Index IndexKurz und der Position IndexLangPos in dem zweiten Index IndexLang eine Anzahl P der Umläufe des ersten Index IndexKurz bestimmt werden kann, und wobei dem Zahlenpaar IndexKurzPos, IndexLangPos eindeutig eine Position Pos = IndexKurzPos + P * L1 mit 0 ≤ Pos ≤ L1 * L2 zugeordnet werden kann.
  • Bei dem Positionserkennungssystem kann beispielsweise gelten b= 2 und n = 16, sowie L1 = 216 - 1 und L2 = 216 + 1. Alternativ oder zusätzlich kann gemäß einem weiteren Beispiel für den ersten Index IndexKurz und den zweiten Index IndexLang jeweils derselbe Index der Länge 216 verwendet werden, wobei der Index zum Bilden des ersten Index IndexKurz durch Auslassen eines der Zahlenwerte 0000000000000000 oder 1111111111111111 auf die erste Länge L1 verkürzt wird, wobei L1 = 216 -1, und der Index zum Bilden des zweiten Index IndexLang durch Wiederholen eines der Zahlenwerte 0000000000000000 oder 1111111111111111 auf die zweite Länge L2 verlängert wird, wobei L2 = 216 + 1.
  • Alternativ oder zusätzlich kann gemäß einem weiteren Beispiel jeder der Vielzahl von Markern 20 wenigstens eine weitere Zahl repräsentieren, wobei sich durch das Auslesen der weiteren Zahlen von direkt aufeinanderfolgenden Markern 20 ein sich wiederholendes Muster ergibt, wenn sich der Wert der aufeinanderfolgenden weiteren Zahlen des sich wiederholenden Musters kontinuierlich erhöht daraus geschlossen werden kann, dass die Strecke in einer ersten Richtung abgefahren wird, und wenn sich der Wert der aufeinanderfolgenden weiteren Zahlen des sich wiederholenden Musters kontinuierlich verringert daraus geschlossen werden kann, dass die Strecke in einer zweiten Richtung abgefahren wird, entgegengesetzt zu der ersten Richtung.
  • Alternativ oder zusätzlich kann jeder der Vielzahl von Markern 20 wenigstens eine weitere Zahl repräsentieren, wobei sich durch das Auslesen der weiteren Zahlen, angeordnet nach der oben beschriebenen wenigstens einen weiteren Zahl, eine weitere mehrstellige Zahl ergibt, welche einer Fahrspur, einem bestimmten Verkehrszeichen oder einer anderen Verkehrsrelevanten Information eindeutig zugeordnet ist.
  • Gemäß einem Beispiel kann jeder Marker 20 zusätzlich auch die Daten wenigstens eines direkt vorhergehenden und wenigstens eines direkt nachfolgenden Markers 20 repräsentieren oder speichern. Die Strecke kann beispielsweise eine einspurige oder mehrspurige Straße sein, und an jeder Position auf jeder Fahrspur der einspurigen oder mehrspurigen Straße können beispielsweise zwei oder mehr Marker 20 angeordnet sein.
  • Ist die Strecke eine einspurige oder mehrspurige Straße, kann beispielsweise an jeder Position auf jeder Fahrspur der einspurigen oder mehrspurigen Straße wenigstens ein Marker 20 angeordnet sein, wobei die Marker 20 derselben Position auf unterschiedlichen Fahrspuren entlang einer Senkrechten zu einer Fahrrichtung eines Fahrzeugs 30 auf der Straße angeordnet sind und dieselbe Positionsinformation repräsentieren oder gespeichert haben, wobei sich im Bereich einer Kurve der Abstand d zwischen direkt aufeinanderfolgenden Markern 20 von einer innersten Fahrspur hin zu einer äußersten Fahrspur vergrößert.
  • Ist die Strecke eine einspurige oder mehrspurige Straße, kann gemäß einem Beispiel das Positionserkennungssystem dazu ausgebildet sein, durch zusätzliche Berücksichtigung von GPS-Informationen eine zeitliche Synchronisation eines Fahrzeugs 30 mit einem oder mehreren anderen Fahrzeugen vorzunehmen und/oder durch Berücksichtigung der Daten eines oder mehrerer Marker 20 und zusätzliche Berücksichtigung von GPS-Informationen eine Positionsbestimmung mittels Pattern Matching-Verfahren durchzuführen. Alternativ oder zusätzlich kann das Positionserkennungssystem das dazu ausgebildet sein, unter Berücksichtigung zusätzlicher Radsensorik, zusätzlichen Kamerabasierten Bildverarbeitungssystemen und/oder zusätzlichen Laserscanner-basierten Systemen eines Fahrzeugs 30 eine Interpolation der mittels der Marker 20 bestimmten Position vorzunehmen.
  • Claims (14)

    1. Positionserkennungssystem das aufweist: eine Vielzahl von Markern (20), welche in regelmäßigen Abständen (d) entlang einer Strecke angeordnet sind, wobei jeder der Vielzahl von Markern (20) wenigstens eine einer Vielzahl (b) mit b ≥ 2 einstelliger Zahlen repräsentiert oder in einem Speicher gespeichert hat, und sich durch das aufeinanderfolgende Auslesen einer Anzahl (n) der durch die Marker (20) repräsentierten einstelligen Zahlen eine n-stellige Zahl ergibt, welche in einem Index der Größe bn eindeutig einer Position zugewiesen werden kann, wobei der Index derart gebildet ist, dass die ersten n-1 Ziffern einer Zahl mit den letzten n-1 Ziffern einer der Zahl direkt folgenden Zahl übereinstimmen, wobei jeder Position innerhalb des Index eine Position entlang der Strecke eindeutig zugeordnet ist.
    2. Positionserkennungssystem nach Anspruch 1, wobei b = 2 und die einstelligen Zahlen entweder 0 oder 1 sind.
    3. Positionserkennungssystem das aufweist eine Vielzahl von Markern (20), welche in regelmäßigen Abständen (d) entlang einer Strecke angeordnet sind, wobei jeder der Vielzahl von Markern (20) zwei einstellige Zahlen einer Vielzahl (b) einstelliger Zahlen repräsentiert oder in einem Speicher gespeichert hat, sich durch das aufeinanderfolgende Auslesen der durch die Marker (20) repräsentierten einstelligen Zahlen eine erste mehrstellige Zahl (IndexKurzWert) und eine zweite mehrstellige Zahl (IndexLangWert) ergeben, wobei die erste mehrstellige Zahl (IndexKurzWert) und die zweite mehrstellige Zahl (IndexLangWert) jeweils eine Zahlenbreite (n) aufweisen, und wobei die erste mehrstellige Zahl (IndexKurzWert) in einem ersten Index (IndexKurz) einer ersten Länge (L1) eindeutig einer Position (IndexKurzPos) und die zweite mehrstellige Zahl (IndexLangWert) in einem zweiten Index (IndexLang) einer von der ersten Länge (L1) unterschiedlichen zweiten Länge (L2) eindeutig einer Position (IndexLangPos) zugeordnet werden kann, der erste Index (IndexKurz) und der zweite Index (IndexLang) jeweils derart gebildet sind, dass die jeweils ersten n-1 Ziffern einer Zahl mit den jeweils letzten n-1 Ziffern einer der Zahl direkt folgenden Zahl übereinstimmen, die erste Länge (L1) und die zweite Länge (L2) keinen gemeinsamen Teiler größer als 1 besitzen, nach jedem Umlauf des ersten Index (IndexKurz) und des zweiten Index (IndexLang) der entsprechende Index erneut durchlaufen wird, wobei erst nach einer Anzahl L1*L2 Schritten eine Wiederholung eines Zahlenpaares (IndexKurzPos, IndexLangPos) erfolgt, wobei aus einer Differenz der Position (IndexKurzPos) in dem ersten Index (IndexKurz) und der Position (IndexLangPos) in dem zweiten Index (IndexLang) eine Anzahl (P) der Umläufe des ersten Index (IndexKurz) bestimmt werden kann, und wobei dem Zahlenpaar (IndexKurzPos, IndexLangPos) eindeutig eine Position Pos = IndexKurzPos + P * L1 mit 0 ≤ Pos ≤ L1 * L2 zugeordnet werden kann.
    4. Positionserkennungssystem nach Anspruch 3, bei dem b= 2 und n = 16, sowie L1 = 216 - 1 und L2 = 216+ 1.
    5. Positionserkennungssystem nach Anspruch 4, wobei für den ersten Index (IndexKurz) und den zweiten Index (IndexLang) jeweils derselbe Index der Länge 216 verwendet wird, wobei der Index zum Bilden des ersten Index (IndexKurz) durch Auslassen eines der Zahlenwerte 0000000000000000 oder 1111111111111111 auf die erste Länge (L1) verkürzt wird, wobei L1 = 216 -1, und der Index zum Bilden des zweiten Index (IndexLang) durch Wiederholen eines der Zahlenwerte 0000000000000000 oder 1111111111111111 auf die zweite Länge (L2) verlängert wird, wobei L2 = 216 + 1.
    6. Positionserkennungssystem nach einem der vorhergehenden Ansprüche, bei dem jeder der Vielzahl von Markern (20) wenigstens eine weitere Zahl repräsentiert, wobei sich durch das Auslesen der weiteren Zahlen von direkt aufeinanderfolgenden Markern (20) ein sich wiederholendes Muster ergibt, wenn sich der Wert der aufeinanderfolgenden weiteren Zahlen des sich wiederholenden Musters kontinuierlich erhöht daraus geschlossen werden kann, dass die Strecke in einer ersten Richtung abgefahren wird, und wenn sich der Wert der aufeinanderfolgenden weiteren Zahlen des sich wiederholenden Musters kontinuierlich verringert daraus geschlossen werden kann, dass die Strecke in einer zweiten Richtung abgefahren wird, entgegengesetzt zu der ersten Richtung.
    7. Positionserkennungssystem nach Anspruch 6, wobei jeder der Vielzahl von Markern (20) wenigstens eine weitere Zahl repräsentiert, wobei sich durch das Auslesen der weiteren Zahlen, angeordnet nach der wenigstens einen weiteren Zahl gemäß Anspruch 6, eine weitere mehrstellige Zahl ergibt, welche einer Fahrspur, einem bestimmten Verkehrszeichen oder einer anderen Verkehrsrelevanten Information eindeutig zugeordnet ist.
    8. Positionserkennungssystem nach einem der vorhergehenden Ansprüche, bei dem jeder Marker (20) zusätzlich auch die Daten wenigstens eines direkt vorhergehenden und wenigstens eines direkt nachfolgenden Markers (20) repräsentiert oder gespeichert hat.
    9. Positionserkennungssystem nach einem der vorhergehenden Ansprüche, wobei die Strecke eine einspurige oder mehrspurige Straße ist, und wobei an jeder Position auf jeder Fahrspur der einspurigen oder mehrspurigen Straße zwei oder mehr Marker (20) angeordnet sind.
    10. Positionserkennungssystem nach einem der vorherigen Ansprüche, wobei die Strecke eine einspurige oder mehrspurige Straße ist, und wobei an jeder Position auf jeder Fahrspur der einspurigen oder mehrspurigen Straße wenigstens ein Marker (20) angeordnet ist, wobei die Marker (20) derselben Position auf unterschiedlichen Fahrspuren entlang einer Senkrechten zu einer Fahrrichtung eines Fahrzeugs (30) auf der Straße angeordnet sind und dieselbe Positionsinformation repräsentieren oder gespeichert haben, wobei sich im Bereich einer Kurve der Abstand (d) zwischen direkt aufeinanderfolgenden Markern (20) von einer innersten Fahrspur hin zu einer äußersten Fahrspur vergrößert.
    11. Positionserkennungssystem nach einem der vorherigen Ansprüche, wobei die Strecke eine einspurige oder mehrspurige Straße ist, und das Positionserkennungssystem dazu ausgebildet ist durch zusätzliche Berücksichtigung von GPS-Informationen eine zeitliche Synchronisation eines Fahrzeugs (30) mit einem oder mehreren anderen Fahrzeugen vorzunehmen und/oder durch Berücksichtigung der Daten eines oder mehrerer Marker (20) und zusätzliche Berücksichtigung von GPS-Informationen eine Positionsbestimmung mittels Pattern Matching-Verfahren durchzuführen.
    12. Positionserkennungssystem nach einem der vorherigen Ansprüche, wobei die Strecke eine einspurige oder mehrspurige Straße ist, und das dazu ausgebildet unter Berücksichtigung zusätzlicher Radsensorik, zusätzlichen Kamerabasierten Bildverarbeitungssystemen und/oder zusätzlichen Laserscanner-basierten Systemen eines Fahrzeugs (30) eine Interpolation der mittels der Marker (20) bestimmten Position vorzunehmen.
    13. Verfahren zur Positionserkennung das aufweist Auslesen einer Vielzahl von Markern (20), welche in regelmäßigen Abständen (d) entlang einer Strecke angeordnet sind, wobei jeder der Vielzahl von Markern (20) wenigstens eine einer Vielzahl (b) mit b ≥ 2 einstelliger Zahlen repräsentiert oder in einem Speicher gespeichert hat, und wobei sich durch das aufeinanderfolgende Auslesen einer Anzahl (n) der durch die Marker (20) repräsentierten einstelligen Zahlen eine n-stellige Zahl ergibt, welche in einem Index der Größe bn eindeutig einer Position zugewiesen werden kann, wobei der Index derart gebildet ist, dass die ersten n-1 Ziffern einer Zahl mit den letzten n-1 Ziffern einer der Zahl direkt folgenden Zahl übereinstimmen, und Bestimmen einer Position entlang einer Strecke basierend auf der n-stelligen Zahl, wobei jeder Position innerhalb des Index eine Position entlang der Strecke eindeutig zugeordnet ist.
    14. Verfahren zur Positionserkennung das aufweist Auslesen einer Vielzahl von Markern (20), welche in regelmäßigen Abständen (d) entlang einer Strecke angeordnet sind, wobei jeder der Vielzahl von Markern (20) zwei einstellige Zahlen einer Vielzahl (b) einstelliger Zahlen repräsentiert oder in einem Speicher gespeichert hat, sich durch das aufeinanderfolgende Auslesen der durch die Marker (20) repräsentierten einstelligen Zahlen eine erste mehrstellige Zahl (IndexKurzWert) und eine zweite mehrstellige Zahl (IndexLangWert) ergeben, wobei die erste mehrstellige Zahl (IndexKurzWert) und die zweite mehrstellige Zahl (IndexLangWert) jeweils eine Zahlenbreite (n) aufweisen, und wobei die erste mehrstellige Zahl (IndexKurzWert) in einem ersten Index (IndexKurz) einer ersten Länge (L1) eindeutig einer Position (IndexKurzPos) und die zweite mehrstellige Zahl (IndexLangWert) in einem zweiten Index (IndexLang) einer von der ersten Länge (L1) unterschiedlichen zweiten Länge (L2) eindeutig einer Position (IndexLangPos) zugeordnet werden kann, der erste Index (IndexKurz) und der zweite Index (IndexLang) jeweils derart gebildet sind, dass die jeweils ersten n-1 Ziffern einer Zahl mit den jeweils letzten n-1 Ziffern einer der Zahl direkt folgenden Zahl übereinstimmen, die erste Länge (L1) und die zweite Länge (L2) keinen gemeinsamen Teiler größer als 1 besitzen, und nach jedem Umlauf des ersten Index (IndexKurz) und des zweiten Index (IndexLang) der entsprechende Index erneut durchlaufen wird, wobei erst nach einer Anzahl L1*L2 Schritten eine Wiederholung eines Zahlenpaares (IndexKurzPos, IndexLangPos) erfolgt, wobei aus einer Differenz der Position (IndexKurzPos) in dem ersten Index (IndexKurz) und der Position (IndexLangPos) in dem zweiten Index (IndexLang) eine Anzahl (P) der Umläufe des ersten Index (IndexKurz) bestimmt werden kann, und wobei dem Zahlenpaar (IndexKurzPos, IndexLangPos) eindeutig eine Position Pos = IndexKurzPos + P * L1 mit 0 ≤ Pos ≤ L1 * L2 zugeordnet werden kann; und Bestimmen einer Position entlang einer Strecke basierend auf der Position (Pos) eines Zahlenpaares (IndexKurzPos, IndexLangPos).
    DE102022125391.0A 2022-09-30 2022-09-30 Positionserkennungssystem Pending DE102022125391A1 (de)

    Priority Applications (1)

    Application Number Priority Date Filing Date Title
    DE102022125391.0A DE102022125391A1 (de) 2022-09-30 2022-09-30 Positionserkennungssystem

    Applications Claiming Priority (1)

    Application Number Priority Date Filing Date Title
    DE102022125391.0A DE102022125391A1 (de) 2022-09-30 2022-09-30 Positionserkennungssystem

    Publications (1)

    Publication Number Publication Date
    DE102022125391A1 true DE102022125391A1 (de) 2024-04-04

    Family

    ID=90246504

    Family Applications (1)

    Application Number Title Priority Date Filing Date
    DE102022125391.0A Pending DE102022125391A1 (de) 2022-09-30 2022-09-30 Positionserkennungssystem

    Country Status (1)

    Country Link
    DE (1) DE102022125391A1 (de)

    Citations (3)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    DE10341771A1 (de) 2003-09-10 2005-04-14 Siemens Ag Verfahren, Computerprogramm mit Programmcode-Mitteln und Computerprogramm-Produkt zu einer Verschlüsselung einer binären Ziffer sowie Verfahren, Computerprogramm mit Programmcode-Mitteln und Computerprogramm-Produkt zu einer Entschlüsselung einer verschlüsselten binären Ziffer
    DE202012005285U1 (de) 2011-06-10 2012-07-24 Schneeberger Holding Ag Lineares Wegmesssystem zum Bestimmen einer absoluten Position eines Laufschlittens entlang einer Laufschiene
    DE102016113836A1 (de) 2015-07-31 2017-03-02 GM Global Technology Operations LLC Codieren von Positionsmarkierungen

    Patent Citations (3)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    DE10341771A1 (de) 2003-09-10 2005-04-14 Siemens Ag Verfahren, Computerprogramm mit Programmcode-Mitteln und Computerprogramm-Produkt zu einer Verschlüsselung einer binären Ziffer sowie Verfahren, Computerprogramm mit Programmcode-Mitteln und Computerprogramm-Produkt zu einer Entschlüsselung einer verschlüsselten binären Ziffer
    DE202012005285U1 (de) 2011-06-10 2012-07-24 Schneeberger Holding Ag Lineares Wegmesssystem zum Bestimmen einer absoluten Position eines Laufschlittens entlang einer Laufschiene
    DE102016113836A1 (de) 2015-07-31 2017-03-02 GM Global Technology Operations LLC Codieren von Positionsmarkierungen

    Similar Documents

    Publication Publication Date Title
    DE3101827C2 (de) Optisches Strichcode-Lesegerät
    DE3613195C2 (de)
    EP3616181A1 (de) Verfahren zum automatischen erstellen und aktualisieren eines datensatzes für ein autonomes fahrzeug
    DE112018002143T5 (de) Systeme und verfahren zur kompression von fahrspurdaten
    EP0798540B1 (de) Verfahren zur Referenzierung von ortsfesten Objekten
    EP2842117B1 (de) Verfahren zur darstellung einer fahrzeugumgebung
    EP2507589B1 (de) Verfahren zur vereinfachung einer beschreibung einer fahrtroute
    DE112013002772T5 (de) Straßenlerneinrichtung
    EP0391206A2 (de) Navigationssystem und- Verfahren zur leitdrahtlosen Führung von fahrerlosen Flurförderzeugen
    DE3307123C2 (de)
    DE102015000399A1 (de) Kartographieren von Fahrspuren mittels Fahrzeugflottendaten
    EP2431712B1 (de) Verfahren zum Ermitteln der Länge des von einem Fahrzeug zurückgelegten Wegs
    DE102018212219A1 (de) Überprüfen einer geographischen Karte
    DE102015111925B4 (de) Spurhalteassistenzsystem für ein Fahrzeug
    EP3781906B1 (de) Verfahren und vorrichtung zum bestimmen einer hochgenauen position eines fahrzeugs
    DE102022125391A1 (de) Positionserkennungssystem
    EP2952412B1 (de) Verfahren zur fahrassistenz auf einem grossparkplatz und fahrmanöversystem
    DE3200811A1 (de) Einrichtung zur bestimmung des standortes eines spurgefuehrten fahrzeugs
    EP1006340B1 (de) Fahrzeugortungsverfahren
    DE102016207181A1 (de) Verfahren und System zum Bestimmen einer Position eines Fahrzeugs auf einer Fahrbahn
    DE102020105313A1 (de) Verfahren, Recheneinrichtung und System zum Kartographieren von Landmarken eines Straßennetzes in einer Straßenkarte
    WO2017148851A1 (de) Verfahren zur präzisen ortsbestimmung eines kraftfahrzeuges
    DE2711572C3 (de) Einrichtung zur Sicherung der Ortung für trassengebundene Fahrzeuge
    DE102020206999A1 (de) Verfahren zur Feststellung der Position eines Fahrzeugs
    DE102018210677A1 (de) Verfahren zur Fusion von Kartendatensätzen

    Legal Events

    Date Code Title Description
    R012 Request for examination validly filed
    R016 Response to examination communication