DE112021002001T5 - Navigieren eines fahrzeugs unter verwendung eines elektronischen horizonts - Google Patents

Navigieren eines fahrzeugs unter verwendung eines elektronischen horizonts Download PDF

Info

Publication number
DE112021002001T5
DE112021002001T5 DE112021002001.3T DE112021002001T DE112021002001T5 DE 112021002001 T5 DE112021002001 T5 DE 112021002001T5 DE 112021002001 T DE112021002001 T DE 112021002001T DE 112021002001 T5 DE112021002001 T5 DE 112021002001T5
Authority
DE
Germany
Prior art keywords
host vehicle
vehicle
map
road
navigation
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
DE112021002001.3T
Other languages
English (en)
Inventor
Yehonatan Goldman
Amiel Fisher
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.)
Mobileye Vision Technologies Ltd
Original Assignee
Mobileye Vision Technologies Ltd
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 Mobileye Vision Technologies Ltd filed Critical Mobileye Vision Technologies Ltd
Publication of DE112021002001T5 publication Critical patent/DE112021002001T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/10Path keeping
    • B60W30/12Lane keeping
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/14Adaptive cruise control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/14Adaptive cruise control
    • B60W30/143Speed control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/18Propelling the vehicle
    • B60W30/18009Propelling the vehicle related to particular drive situations
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/18Propelling the vehicle
    • B60W30/18009Propelling the vehicle related to particular drive situations
    • B60W30/18109Braking
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/18Propelling the vehicle
    • B60W30/18009Propelling the vehicle related to particular drive situations
    • B60W30/18163Lane change; Overtaking manoeuvres
    • 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/005Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
    • 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/265Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network constructional aspects of navigation devices, e.g. housings, mountings, displays
    • 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/28Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
    • 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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/3811Point data, e.g. Point of Interest [POI]
    • 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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/3815Road data
    • 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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3848Data obtained from both position sensors and additional sensors
    • 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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • 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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • G01C21/387Organisation of map data, e.g. version management or database structures
    • 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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3885Transmission of map data to client devices; Reception of map data by client devices
    • G01C21/3889Transmission of selected map data, e.g. depending on route
    • 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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3885Transmission of map data to client devices; Reception of map data by client devices
    • G01C21/3896Transmission of map data from central databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/588Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2552/00Input parameters relating to infrastructure
    • B60W2552/53Road markings, e.g. lane marker or crosswalk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • G06T2207/30256Lane; Road marking

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Traffic Control Systems (AREA)
  • Navigation (AREA)

Abstract

Ein System kann einen Prozessor enthalten, der so programmiert ist, dass er auf eine Karte zugreift und eine von einem Fahrzeugsensor bereitgestellte Ausgabe empfängt. Der Prozessor kann zudem so programmiert sein, dass er auf Grundlage einer Analyse der Ausgabe des Sensors ein Fahrzeug relativ zur Karte lokalisiert und auf Grundlage der Lokalisierung des Fahrzeugs in Bezug auf die Karte einen elektronischen Horizont für das Fahrzeug bestimmt. Der Prozessor kann ferner so programmiert sein, dass er ein Navigationsinformationspaket erzeugt, das Informationen in Verbindung mit dem bestimmten elektronischen Horizont beinhaltet. Das Navigationsinformationspaket kann einen Kopfteil und einen Nutzdatenteil mit variabler Größe beinhalten. Der Kopfteil kann angeben, welche Informationen im Nutzdatenteil mit variabler Größe enthalten sind. Der Prozessor kann zudem so programmiert sein, dass er das erzeugte Navigationsinformationspaket an einen oder mehrere Navigationssystemprozessoren ausgibt, die so konfiguriert sind, dass sie das Fahrzeug veranlassen, auf Grundlage der im Navigationsinformationspaket enthaltenen Informationen mindestens ein Navigationsmanöver auszuführen.

Description

  • Verweis auf verwandte Anmeldungen
  • Die vorliegende Anmeldung beansprucht die Priorität der am 30. März 2020 eingereichten vorläufigen (Provisional-) US-Anmeldung Nr. 63/001,733 und der am 24. Februar 2021 eingereichten vorläufigen US-Anmeldung Nr. 63/152,925 . Vorstehende Anmeldungen werden durch Bezugnahme vollumfänglich hierin aufgenommen.
  • HINTERGRUND
  • Technisches Gebiet
  • Die vorliegende Offenbarung betrifft allgemein autonome Fahrzeugnavigation.
  • Hintergrundinformationen
  • Durch den ständigen technologischen Fortschritt rückt das Ziel eines vollständig autonomen Fahrzeugs, das in der Lage ist, auf Straßen zu navigieren, in greifbare Nähe. Autonome Fahrzeuge müssen unter Umständen eine Vielzahl von Faktoren berücksichtigen und auf Grundlage dieser Faktoren geeignete Entscheidungen treffen, um einen bestimmten Zielort sicher und genau zu erreichen. Beispielsweise muss ein autonomes Fahrzeug möglicherweise optische Informationen (z.B. von einer Kamera aufgenommene Informationen) verarbeiten und interpretieren und kann auch Informationen aus anderen Quellen (z.B. von einer GPS-Einrichtung, einem Geschwindigkeitssensor, einem Beschleunigungsmesser, einem Aufhängungssensor usw.) verwenden. Gleichzeitig muss ein autonomes Fahrzeug, um zu einem Zielort zu navigieren, unter Umständen auch seine Position auf einer bestimmten Fahrbahn (z.B. einer bestimmten Spur auf einer mehrspurigen Straße) bestimmen, an anderen Fahrzeugen vorbeifahren, Hindernissen und Fußgängern ausweichen, Verkehrssignale und -schilder beachten und an geeigneten Kreuzungen oder Einmündungen von einer Straße auf eine andere fahren. Die Nutzung und Interpretation großer Mengen an Informationen, die von einem autonomen Fahrzeug auf dem Weg zu seinem Zielort gesammelt werden, stellen eine Vielzahl von Herausforderungen an das Design. Die schiere Menge an Daten (z.B. aufgenommene Bilddaten, Kartendaten, GPS-Daten, Sensordaten usw.), die ein autonomes Fahrzeug möglicherweise analysieren, abrufen und/oder speichern muss, stellt eine Herausforderung dar, die die autonome Navigation einschränken oder sogar beeinträchtigen kann. Wenn ferner ein autonomes Fahrzeug auf herkömmliche Kartentechnologie angewiesen ist, um zu navigieren, stellt die schiere Datenmenge, die zum Speichern und Aktualisieren der Karte benötigt wird, eine gewaltige Herausforderung dar.
  • KURZDARSTELLUNG
  • Ausführungsformen der vorliegenden Offenbarung stellen Systeme und Verfahren für Fahrzeugnavigation bereit.
  • In einer Ausführungsform kann ein System mindestens einen Prozessor für einen elektronischen Horizont (E-Horizont-Prozessor) beinhalten, der Schalttechnik und einen Speicher beinhalten kann. Der Speicher kann Anweisungen enthalten, die bei Ausführung durch die Schalttechnik den mindestens einen E-Horizont-Prozessor veranlassen können, auf eine Karte zuzugreifen, die zumindest einen Straßenabschnitt darstellt, auf dem das Host-Fahrzeug fährt oder voraussichtlich fahren wird, und eine von mindestens einem Fahrzeugsensor bereitgestellte Ausgabe zu empfangen. Der mindestens eine Fahrzeugsensor kann eine oder mehrere Kameras beinhalten, die so konfiguriert sind, dass sie Bilder von einer Umgebung des Host-Fahrzeugs aufnehmen. Die empfangene Ausgabe kann mindestens ein Bild enthalten, das von der einen oder den mehreren Kameras aufgenommen wurde. Die Anweisungen können zudem den mindestens einen E-Horizont-Prozessor veranlassen, das Host-Fahrzeug auf Grundlage einer Analyse des mindestens einen Bildes, das von der einen oder den mehreren Kameras aufgenommen wurde, in Bezug auf die Karte zu lokalisieren. Die Anweisungen können ferner den mindestens einen E-Horizont-Prozessor veranlassen, auf Grundlage der Lokalisierung des Host-Fahrzeugs in Bezug auf die Karte einen elektronischen Horizont für das Host-Fahrzeug zu bestimmen. Die Anweisungen können zudem den mindestens einen E-Horizont-Prozessor veranlassen, ein Navigationsinformationspaket zu erzeugen, das Informationen in Verbindung mit dem bestimmten elektronischen Horizont beinhaltet. Das Navigationsinformationspaket kann einen Kopfteil und einen Nutzdatenteil mit variabler Größe beinhalten. Der Kopfteil kann angeben, welche Informationen im Nutzdatenteil mit variabler Größe enthalten sind. Die Anweisungen können ferner den mindestens einen E-Horizont-Prozessor veranlassen, das erzeugte Navigationsinformationspaket an einen oder mehrere Navigationssystemprozessoren auszugeben, die so konfiguriert sind, dass sie das Host-Fahrzeug veranlassen, auf Grundlage der im Navigationsinformationspaket enthaltenen Informationen mindestens ein Navigationsmanöver auszuführen.
  • In einer Ausführungsform kann ein nicht transientes computerlesbares Medium Anweisungen beinhalten, die bei Ausführung durch mindestens einen E-Horizont-Prozessor den mindestens einen E-Horizont-Prozessor veranlassen, Arbeitsschritte durchzuführen, die Zugreifen auf eine Karte beinhalten, die zumindest einen Straßenabschnitt darstellt, auf dem ein Host-Fahrzeug fährt oder voraussichtlich fahren wird. Zu den Arbeitsschritten kann auch Empfangen einer von mindestens einem Fahrzeugsensor gelieferten Ausgabe zählen. Der mindestens eine Fahrzeugsensor kann eine oder mehrere Kameras beinhalten, die so konfiguriert sind, dass sie Bilder von einer Umgebung des Host-Fahrzeugs aufnehmen. Die empfangene Ausgabe kann mindestens ein Bild enthalten, das von der einen oder den mehreren Kameras aufgenommen wurde. Die Arbeitsschritte können ferner Lokalisieren des Host-Fahrzeugs in Bezug auf die Karte auf Grundlage einer Analyse des mindestens einen Bildes beinhalten, das von der einen oder den mehreren Kameras aufgenommen wurde. Die Arbeitsschritte können zudem Bestimmen eines elektronischen Horizonts für das Host-Fahrzeug auf Grundlage der Lokalisierung des Host-Fahrzeugs in Bezug auf die Karte beinhalten. Die Arbeitsschritte können ferner Erzeugen eines Navigationsinformationspakets umfassen, das Informationen in Verbindung mit dem bestimmten elektronischen Horizont beinhaltet. Das Navigationsinformationspaket kann einen Kopfteil und einen Nutzdatenteil mit variabler Größe beinhalten. Der Kopfteil kann angeben, welche Informationen im Nutzdatenteil mit variabler Größe enthalten sind. Die Arbeitsschritte können zudem Ausgeben des erzeugten Navigationsinformationspakets an einen oder mehrere Navigationssystemprozessoren beinhalten, die so konfiguriert sind, dass sie das Host-Fahrzeug veranlassen, auf Grundlage der im Navigationsinformationspaket enthaltenen Informationen mindestens ein Navigationsmanöver auszuführen.
  • In einer Ausführungsform kann ein System mindestens einen E-Horizont-Prozessor beinhalten, der Schalttechnik und einen Speicher beinhalten kann. Der Speicher kann Anweisungen enthalten, die bei Ausführung durch die Schalttechnik den mindestens einen E-Horizont-Prozessor veranlassen können, auf eine Karte zuzugreifen, die zumindest einen Straßenabschnitt darstellt, auf dem das Host-Fahrzeug fährt oder voraussichtlich fahren wird. Auf der Karte kann die Straße als Zwischenknoten-Straßenabschnitt zwischen zwei kartierten Knoten dargestellt werden, und auf der Karte kann der Zwischenknoten-Straßenabschnitt ferner in eine Vielzahl von Zwischenknoten-Straßenteilabschnitten unterteilt sein. Die Anweisungen können zudem den mindestens einen E-Horizont-Prozessor veranlassen, eine von mindestens einem Fahrzeugsensor gelieferte Ausgabe zu empfangen. Der mindestens eine Fahrzeugsensor kann zudem eine oder mehrere Kameras beinhalten, die so konfiguriert sind, dass sie Bilder einer Umgebung des Host-Fahrzeugs aufnehmen, und die empfangene Ausgabe kann mindestens ein Bild beinhalten, das von der einen oder den mehreren Kameras aufgenommen wurde. Die Anweisungen können zudem den mindestens einen E-Horizont-Prozessor veranlassen, das Host-Fahrzeug auf Grundlage einer Analyse des mindestens einen Bildes, das von der einen oder den mehreren Kameras aufgenommen wurde, in Bezug auf mindestens ein kartiertes Merkmal zu lokalisieren. Die Anweisungen können ferner den mindestens einen E-Horizont-Prozessor veranlassen, auf Grundlage der Lokalisierung des Host-Fahrzeugs in Bezug auf das mindestens eine kartierte Merkmal einen elektronischen Horizont für das Host-Fahrzeug zu bestimmen. Die Anweisungen können zudem den mindestens einen E-Horizont-Prozessor veranlassen, einen Satz von Zwischenknoten-Straßenteilabschnitten zu bestimmen, die im elektronischen Horizont enthalten sind. Die Anweisungen können ferner den mindestens einen E-Horizont-Prozessor veranlassen, ein oder mehrere Navigationsinformationspakete zu erzeugen, die Informationen in Verbindung mit dem im elektronischen Horizont enthaltenen Satz von Zwischenknoten-Straßenteilabschnitten beinhalten. Die Anweisungen können zudem den mindestens einen E-Horizont-Prozessor veranlassen, das eine oder die mehreren erzeugten Navigationsinformationspakete an einen oder mehrere Navigationssystemprozessoren auszugeben, die so konfiguriert sind, dass sie das Host-Fahrzeug veranlassen, auf Grundlage der im Navigationsinformationspaket enthaltenen Informationen mindestens ein Navigationsmanöver auszuführen.
  • In einer Ausführungsform kann ein nicht transientes computerlesbares Medium Anweisungen beinhalten, die bei Ausführung durch mindestens einen E-Horizont-Prozessor den mindestens einen E-Horizont-Prozessor veranlassen, Arbeitsschritte durchzuführen, die Zugreifen auf eine Karte beinhalten, die eine Straße darstellt, auf der ein Host-Fahrzeug fährt oder voraussichtlich fahren wird. Auf der Karte kann die Straße als Zwischenknoten-Straßenabschnitt zwischen zwei kartierten Knoten dargestellt werden, und auf der Karte kann der Zwischenknoten-Straßenabschnitt ferner in eine Vielzahl von Zwischenknoten-Straßenteilabschnitten unterteilt sein. Zu den Arbeitsschritten kann auch Empfangen einer von mindestens einem Fahrzeugsensor gelieferten Ausgabe zählen. Der mindestens eine Fahrzeugsensor kann zudem eine oder mehrere Kameras beinhalten, die so konfiguriert sind, dass sie Bilder einer Umgebung des Host-Fahrzeugs aufnehmen, und die empfangene Ausgabe kann mindestens ein Bild beinhalten, das von der einen oder den mehreren Kameras aufgenommen wurde. Die Arbeitsschritte können ferner Lokalisieren des Host-Fahrzeugs in Bezug auf mindestens ein kartiertes Merkmal auf Grundlage einer Analyse des mindestens einen Bilds beinhalten, das von der einen oder den mehreren Kameras aufgenommen wurde. Die Arbeitsschritte können zudem Bestimmen eines elektronischen Horizonts für das Host-Fahrzeug auf Grundlage der Lokalisierung des Host-Fahrzeugs in Bezug auf das mindestens eine kartierte Merkmal beinhalten. Die Arbeitsschritte können ferner Bestimmen eines Satzes von Zwischenknoten-Straßenteilabschnitten beinhalten, die im elektronischen Horizont enthalten sind. Die Arbeitsschritte können zudem Erzeugen eines oder mehrerer Navigationsinformationspakete beinhalten, die Informationen in Verbindung mit dem Satz von Zwischenknoten-Straßenteilabschnitten beinhalten, die im elektronischen Horizont enthalten sind. Die Arbeitsschritte können ferner Ausgeben des einen oder der mehreren erzeugten Navigationsinformationspakete an einen oder mehrere Navigationssystemprozessoren beinhalten, die so konfiguriert sind, dass sie das Host-Fahrzeug veranlassen, auf Grundlage der im Navigationsinformationspaket enthaltenen Informationen mindestens ein Navigationsmanöver auszuführen.
  • In einer Ausführungsform kann ein System mindestens einen E-Horizont-Prozessor beinhalten, der Schalttechnik und einen Speicher beinhalten kann. Der Speicher kann Anweisungen enthalten, die bei Ausführung durch die Schalttechnik den mindestens einen E-Horizont-Prozessor veranlassen können, auf eine Karte zuzugreifen, die zumindest einen Straßenabschnitt darstellt, auf dem das Host-Fahrzeug fährt oder voraussichtlich fahren wird. Punkte auf der Karte können in Bezug auf einen anfänglichen Kartenursprung referenziert werden. Die Anweisungen können ferner den mindestens einen E-Horizont-Prozessor veranlassen, eine von mindestens einem Fahrzeugsensor gelieferte Ausgabe zu empfangen. Der mindestens eine Fahrzeugsensor kann zudem eine oder mehrere Kameras beinhalten, die so konfiguriert sind, dass sie Bilder einer Umgebung des Host-Fahrzeugs aufnehmen, und die empfangene Ausgabe kann mindestens ein Bild beinhalten, das von der einen oder den mehreren Kameras aufgenommen wurde. Die Anweisungen können ferner den mindestens einen E-Horizont-Prozessor veranlassen, das Host-Fahrzeug auf Grundlage einer Analyse des mindestens einen Bildes, das von der einen oder den mehreren Kameras aufgenommen wurde, in Bezug auf die Karte zu lokalisieren. Die Anweisungen können zudem den mindestens einen E-Horizont-Prozessor veranlassen, auf Grundlage der Lokalisierung des Host-Fahrzeugs in Bezug auf die Karte einen elektronischen Horizont für das Host-Fahrzeug zu bestimmen. Die Anweisungen können ferner den mindestens einen E-Horizont-Prozessor veranlassen, ein Navigationsinformationspaket zu erzeugen, das Informationen in Verbindung mit in dem bestimmten elektronischen Horizont enthaltenen kartierten Merkmalen beinhaltet. Die Anweisungen können zudem den mindestens einen E-Horizont-Prozessor veranlassen, das erzeugte Navigationsinformationspaket an einen oder mehrere Navigationssystemprozessoren auszugeben, die so konfiguriert sind, dass sie das Host-Fahrzeug veranlassen, auf Grundlage der im Navigationsinformationspaket enthaltenen Informationen mindestens ein Navigationsmanöver auszuführen. Die Anweisungen können ferner den mindestens einen E-Horizont-Prozessor veranlassen, ein Kartenursprungsänderungsereignis zu erkennen. Die Anweisungen können zudem den mindestens einen E-Horizont-Prozessor veranlassen, in Reaktion auf ein erkanntes Kartenursprungsänderungsereignis einen aktualisierten Kartenursprung zu bestimmen und eine Benachrichtigung an den einen oder die mehreren Navigationssystemprozessoren zu senden, die eine Änderung vom anfänglichen Kartenursprung zum aktualisierten Kartenursprung anzeigt.
  • In einer Ausführungsform kann ein nicht transientes computerlesbares Medium Anweisungen beinhalten, die bei Ausführung durch mindestens einen E-Horizont-Prozessor den mindestens einen E-Horizont-Prozessor veranlassen, Arbeitsschritte durchzuführen, die Zugreifen auf eine Karte beinhalten, die zumindest einen Straßenabschnitt darstellt, auf dem das Host-Fahrzeug fährt oder voraussichtlich fahren wird. Punkte auf der Karte können in Bezug auf einen anfänglichen Kartenursprung referenziert werden. Zu den Arbeitsschritten kann auch Empfangen einer von mindestens einem Fahrzeugsensor gelieferten Ausgabe zählen. Der mindestens eine Fahrzeugsensor kann zudem eine oder mehrere Kameras beinhalten, die so konfiguriert sind, dass sie Bilder einer Umgebung des Host-Fahrzeugs aufnehmen, und die empfangene Ausgabe kann mindestens ein Bild beinhalten, das von der einen oder den mehreren Kameras aufgenommen wurde. Die Arbeitsschritte können ferner Lokalisieren des Host-Fahrzeugs in Bezug auf die Karte auf Grundlage einer Analyse des mindestens einen Bildes beinhalten, das von der einen oder den mehreren Kameras aufgenommen wurde. Die Arbeitsschritte können zudem Bestimmen eines elektronischen Horizonts für das Host-Fahrzeug auf Grundlage der Lokalisierung des Host-Fahrzeugs in Bezug auf die Karte beinhalten. Die Arbeitsschritte können ferner Erzeugen eines Navigationsinformationspakets beinhalten, das Informationen in Verbindung mit in dem bestimmten elektronischen Horizont enthaltenen kartierten Merkmalen beinhaltet. Die Arbeitsschritte können zudem Ausgeben des erzeugten Navigationsinformationspakets an einen oder mehrere Navigationssystemprozessoren beinhalten, die so konfiguriert sind, dass sie das Host-Fahrzeug veranlassen, auf Grundlage der im Navigationsinformationspaket enthaltenen Informationen mindestens ein Navigationsmanöver auszuführen. Die Arbeitsschritte können ferner Erkennen eines Kartenursprungsänderungsereignisses beinhalten. Die Arbeitsschritte können zudem in Reaktion auf ein erkanntes Kartenursprungsänderungsereignis erfolgendes Bestimmen eines aktualisierten Kartenursprungs und Senden einer Benachrichtigung an den einen oder die mehreren Navigationssystemprozessoren beinhalten, die eine Änderung vom anfänglichen Kartenursprung zum aktualisierten Kartenursprung anzeigt.
  • In einer Ausführungsform kann ein System mindestens einen E-Horizont-Prozessor beinhalten, der Schalttechnik und einen Speicher beinhalten kann. Der Speicher kann Anweisungen enthalten, die bei Ausführung durch die Schalttechnik den mindestens einen E-Horizont-Prozessor veranlassen können, auf eine Karte zuzugreifen, die zumindest einen Straßenabschnitt darstellt, auf dem das Host-Fahrzeug fährt oder voraussichtlich fahren wird. Die Karte kann einen oder mehrere Splines beinhalten, die Straßenmerkmale in Verbindung mit dem Straßenabschnitt darstellen. Die Anweisungen können zudem den mindestens einen E-Horizont-Prozessor veranlassen, eine von mindestens einem Fahrzeugsensor gelieferte Ausgabe zu empfangen. Der mindestens eine Fahrzeugsensor kann eine oder mehrere Kameras beinhalten, die so konfiguriert sind, dass sie Bilder von einer Umgebung des Host-Fahrzeugs aufnehmen. Die empfangene Ausgabe kann mindestens ein Bild enthalten, das von der einen oder den mehreren Kameras aufgenommen wurde. Die Anweisungen können zudem den mindestens einen E-Horizont-Prozessor veranlassen, das Host-Fahrzeug in Bezug auf einen Fahrweg für das Host-Fahrzeug zu lokalisieren, der unter dem einen oder den mehreren Splines dargestellt wird. Die Lokalisierung kann auf einer Analyse des mindestens einen Bilds beruhen, das von der einen oder den mehreren Kameras aufgenommen wurde. Die Anweisungen können ferner den mindestens einen E-Horizont-Prozessor veranlassen, einen Satz von Punkten, die dem einen oder den mehreren Splines zugeordnet sind, auf Grundlage der Lokalisierung des Host-Fahrzeugs in Bezug auf den Fahrweg für das Host-Fahrzeug zu bestimmen. Die Anweisungen können zudem den mindestens einen E-Horizont-Prozessor veranlassen, ein Navigationsinformationspaket zu erzeugen, das Informationen enthält, die mit dem einen oder den mehreren Splines und dem bestimmten Satz von Punkten in Bezug auf den einen oder die mehreren Splines verbunden sind. Die Anweisungen können ferner den mindestens einen E-Horizont-Prozessor veranlassen, das erzeugte Navigationsinformationspaket an einen oder mehrere Navigationssystemprozessoren auszugeben, die so konfiguriert sind, dass sie das Host-Fahrzeug veranlassen, auf Grundlage der im Navigationsinformationspaket enthaltenen Informationen mindestens ein Navigationsmanöver auszuführen.
  • In einer Ausführungsform kann ein nicht transientes computerlesbares Medium Anweisungen beinhalten, die bei Ausführung durch mindestens einen E-Horizont-Prozessor den mindestens einen E-Horizont-Prozessor veranlassen, Arbeitsschritte durchzuführen, die Zugreifen auf eine Karte beinhalten, die zumindest einen Straßenabschnitt darstellt, auf dem ein Host-Fahrzeug fährt oder voraussichtlich fahren wird. Die Karte kann einen oder mehrere Splines beinhalten, die Straßenmerkmale darstellen, die mit dem Straßenabschnitt verbunden sind, und Empfangen einer von mindestens einem Fahrzeugsensor gelieferten Ausgabe. Der mindestens eine Fahrzeugsensor kann eine oder mehrere Kameras beinhalten, die so konfiguriert sind, dass sie Bilder einer Umgebung des Host-Fahrzeugs aufnehmen, und die empfangene Ausgabe kann mindestens ein Bild beinhalten, das von der einen oder den mehreren Kameras aufgenommen wurde. Die Anweisungen können zudem Lokalisieren des Host-Fahrzeugs in Bezug auf einen Fahrweg für das Host-Fahrzeug beinhalten, der unter dem einen oder den mehreren Splines dargestellt wird. Die Lokalisierung kann auf einer Analyse des mindestens einen Bilds beruhen, das von der einen oder den mehreren Kameras aufgenommen wurde. Die Arbeitsschritte können ferner Bestimmen eines Satzes von Punkten, die dem einen oder den mehreren Splines zugeordnet sind, auf Grundlage der Lokalisierung des Host-Fahrzeugs in Bezug auf den Fahrweg für das Host-Fahrzeug beinhalten. Die Arbeitsschritte können zudem Erzeugen eines Navigationsinformationspakets beinhalten, das Informationen in Verbindung mit dem einen oder den mehreren Splines und dem bestimmten Satz von Punkten in Bezug auf den einen oder die mehreren Splines beinhaltet. Die Arbeitsschritte können ferner Ausgeben des erzeugten Navigationsinformationspakets an einen oder mehrere Navigationssystemprozessoren beinhalten, die so konfiguriert sind, dass sie das Host-Fahrzeug veranlassen, auf Grundlage der im Navigationsinformationspaket enthaltenen Informationen mindestens ein Navigationsmanöver auszuführen.
  • Die vorstehende allgemeine Beschreibung und die nachstehende ausführliche Beschreibung sind nur beispielhaft und erläuternd und schränken die Ansprüche nicht ein.
  • Figurenliste
  • Die beiliegenden Zeichnungen, die Bestandteil dieser Offenbarung sind, veranschaulichen verschiedene offenbarte Ausführungsformen. Es zeigen:
    • 1 ist eine schematische Darstellung eines beispielhaften Systems gemäß den offenbarten Ausführungsformen.
    • 2A ist eine schematische Seitenansicht eines beispielhaften Fahrzeugs, das ein System gemäß den offenbarten Ausführungsformen beinhaltet.
    • 2B ist eine schematische Draufsicht auf das in 2A gezeigte Fahrzeug und System gemäß den offenbarten Ausführungsformen.
    • 2C ist eine schematische Draufsicht auf eine andere Ausführungsform eines Fahrzeugs, das ein System gemäß den offenbarten Ausführungsformen beinhaltet.
    • 2D ist eine schematische Draufsicht auf eine weitere Ausführungsform eines Fahrzeugs, das ein System gemäß den offenbarten Ausführungsformen beinhaltet.
    • 2E ist eine schematische Draufsicht auf eine weitere Ausführungsform eines Fahrzeugs, das ein System gemäß den offenbarten Ausführungsformen beinhaltet.
    • 2F ist eine schematische Darstellung von beispielhaften Fahrzeugsteuersystemen gemäß den offenbarten Ausführungsformen.
    • 3A ist eine schematische Darstellung eines Innenraums eines Fahrzeugs mit einem Rückspiegel und einer Benutzerschnittstelle für ein Fahrzeug-Bildgebungssystem gemäß den offenbarten Ausführungsformen.
    • 3B ist eine Darstellung eines Beispiels einer Kamerahalterung, die dafür konfiguriert ist, hinter einem Rückspiegel und an einer Fahrzeug-Windschutzscheibe positioniert zu werden, gemäß den offenbarten Ausführungsformen.
    • 3C ist eine Darstellung der in 3B gezeigten Kamerahalterung aus einer anderen Perspektive gemäß den offenbarten Ausführungsformen.
    • 3D ist eine Darstellung eines Beispiels einer Kamerahalterung, die dafür konfiguriert ist, hinter einem Rückspiegel und an einer Fahrzeug-Windschutzscheibe positioniert zu werden, gemäß den offenbarten Ausführungsformen.
    • 4 ist ein beispielhaftes Blockdiagramm eines Speichers, der so konfiguriert ist, dass er Anweisungen zum Durchführen eines oder mehrerer Arbeitsschritte speichert, gemäß den offenbarten Ausführungsformen.
    • 5A ist ein Flussdiagramm, das einen beispielhaften Prozess zum Bewirken einer oder mehrerer Navigationsreaktionen auf Grundlage einer monokularen Bildanalyse gemäß den offenbarten Ausführungsformen zeigt.
    • 5B ist ein Flussdiagramm, das einen beispielhaften Prozess zum Erkennen eines oder mehrerer Fahrzeuge und/oder Fußgänger in einem Satz von Bildern gemäß den offenbarten Ausführungsformen zeigt.
    • 5C ist ein Flussdiagramm, das einen beispielhaften Prozess zum Erkennen von Fahrbahnmarkierungen und/oder Fahrspurgeometrieinformationen in einem Satz von Bildern gemäß den offenbarten Ausführungsformen zeigt.
    • 5D ist ein Flussdiagramm, das einen beispielhaften Prozess zum Erkennen von Verkehrsampeln in einem Satz von Bildern gemäß den offenbarten Ausführungsformen zeigt.
    • 5E ist ein Flussdiagramm, das einen beispielhaften Prozess zum Bewirken einer oder mehrerer Navigationsreaktionen auf Grundlage eines Fahrzeugwegs gemäß den offenbarten Ausführungsformen zeigt.
    • 5F ist ein Flussdiagramm, das einen beispielhaften Prozess zum Bestimmen, ob ein vorausfahrendes Fahrzeug einen Fahrspurwechsel durchführt, gemäß den offenbarten Ausführungsformen zeigt.
    • 6 ist ein Flussdiagramm, das einen beispielhaften Prozess zum Bewirken einer oder mehrerer Navigationsreaktionen auf Grundlage einer Stereobildanalyse gemäß den offenbarten Ausführungsformen zeigt.
    • 7 ist ein Flussdiagramm, das einen beispielhaften Prozess zum Bewirken einer oder mehrerer Navigationsreaktionen auf Grundlage einer Analyse von drei Sätzen von Bildern gemäß den offenbarten Ausführungsformen zeigt.
    • 8 zeigt eine dünnbesetzte Karte (sparse map) zum Bereitstellen autonomer Fahrzeugnavigation gemäß den offenbarten Ausführungsformen.
    • 9A zeigt eine polynomische Darstellung eines Teils eines Straßenabschnitts gemäß den offenbarten Ausführungsformen.
    • 9B zeigt eine Kurve im dreidimensionalen Raum, die eine Zieltrajektorie eines Fahrzeugs für einen bestimmten Straßenabschnitt, der in einer dünnbesetzten Karte enthalten ist, gemäß den offenbarten Ausführungsformen darstellt.
    • 10 zeigt ein Beispiel für Bezugspunkte, die gemäß den offenbarten Ausführungsformen in einer dünnbesetzten Karte enthalten sein können.
    • 11A zeigt polynomische Darstellungen von Trajektorien gemäß den offenbarten Ausführungsformen.
    • 11B und 11C zeigen Zieltrajektorien entlang einer mehrspurigen Straße gemäß offenbarten Ausführungsformen.
    • 11D zeigt ein Beispiel für ein Straßensignaturprofil gemäß offenbarten Ausführungsformen.
    • 12 ist eine schematische Darstellung eines Systems, das Crowd-Sourcing-Daten, die von einer Vielzahl von Fahrzeugen empfangen werden, für autonome Fahrzeugnavigation verwendet, gemäß den offenbarten Ausführungsformen.
    • 13 zeigt ein Beispiel für ein Modell für Straßennavigation eines autonomen Fahrzeugs, das durch eine Vielzahl von dreidimensionalen Splines dargestellt wird, gemäß den offenbarten Ausführungsformen.
    • 14 zeigt ein Kartengerüst, das durch Kombinieren von Standortinformationen mehrerer Fahrten generiert wurde, gemäß den offenbarten Ausführungsformen.
    • 15 zeigt ein Beispiel für eine Längsausrichtung zweier Fahrten mit Beispielschildern als Bezugspunkte gemäß den offenbarten Ausführungsformen.
    • 16 zeigt ein Beispiel für eine Längsausrichtung mehrerer Fahrten mit einem Beispielschild als Bezugspunkt gemäß den offenbarten Ausführungsformen.
    • 17 ist eine schematische Darstellung eines Systems zum Erzeugen von Fahrdaten unter Verwendung einer Kamera, eines Fahrzeugs und eines Servers gemäß den offenbarten Ausführungsformen.
    • 18 ist eine schematische Darstellung eines Systems für Crowdsourcing einer dünnbesetzten Karte gemäß den offenbarten Ausführungsformen.
    • 19 ist ein Flussdiagramm, das einen beispielhaften Prozess zum Erzeugen einer dünnbesetzten Karte für autonome Fahrzeugnavigation entlang eines Straßenabschnitts gemäß den offenbarten Ausführungsformen zeigt.
    • 20 veranschaulicht ein Blockdiagramm eines Servers gemäß den offenbarten Ausführungsformen.
    • 21 zeigt ein Blockdiagramm eines Speichers gemäß den offenbarten Ausführungsformen.
    • 22 zeigt ein Verfahren zum Clustern von Fahrzeugtrajektorien, die Fahrzeugen zugeordnet sind, gemäß den offenbarten Ausführungsformen.
    • 23 zeigt ein Navigationssystem für ein Fahrzeug, das für autonome Navigation verwendet werden kann, gemäß den offenbarten Ausführungsformen.
    • 24A, 24B, 24C und 24D zeigen beispielhafte Fahrspurmarkierungen, die gemäß den offenbarten Ausführungsformen erkannt werden können.
    • 24E zeigt beispielhafte kartierte Fahrspurmarkierungen gemäß den offenbarten Ausführungsformen.
    • 24F zeigt eine beispielhafte Anomalie in Verbindung mit einem Erkennen einer Fahrspurmarkierung gemäß den offenbarten Ausführungsformen.
    • 25A zeigt ein beispielhaftes Bild einer Umgebung eines Fahrzeugs für Navigation auf Grundlage der kartierten Fahrspurmarkierungen gemäß den offenbarten Ausführungsformen.
    • 25B veranschaulicht eine seitliche Lokalisierungskorrektur eines Fahrzeugs auf Grundlage kartierter Fahrspurmarkierungen in einem Straßennavigationsmodell gemäß den offenbarten Ausführungsformen.
    • 25C und 25D zeigen Konzeptdarstellungen einer Lokalisierungsmethode zum Lokalisieren eines Host-Fahrzeugs entlang einer Zieltrajektorie unter Verwendung von kartierten Merkmalen, die in einer dünnbesetzten Karte enthalten sind.
    • 26A ist ein Flussdiagramm, das einen beispielhaften Prozess zum Kartieren einer Fahrspurmarkierung zur Verwendung für autonome Fahrzeugnavigation gemäß den offenbarten Ausführungsformen zeigt.
    • 26B ist ein Flussdiagramm, das einen beispielhaften Prozess für autonomes Navigieren eines Host-Fahrzeugs entlang eines Straßenabschnitts unter Verwendung kartierter Fahrspurmarkierungen gemäß den offenbarten Ausführungsformen zeigt.
    • 27 veranschaulicht ein beispielhaftes System zum Bereitstellen eines oder mehrerer Kartenabschnitte für ein oder mehrere Fahrzeuge gemäß den offenbarten Ausführungsformen.
    • 28A, 28B, 28C und 28D veranschaulichen beispielhafte mögliche Fahrenveloppen für ein Fahrzeug gemäß offenbarten Ausführungsformen.
    • 28E, 28F, 28G und 28H veranschaulichen beispielhafte Kartenkacheln in Verbindung mit möglichen Fahrenveloppen für ein Fahrzeug gemäß offenbarten Ausführungsformen.
    • 29A und 29B veranschaulichen beispielhafte Kartenkacheln gemäß offenbarten Ausführungsformen.
    • 30 veranschaulicht einen beispielhaften Prozess zum Abrufen von Kartenkacheln gemäß offenbarten Ausführungsformen.
    • 31A, 31B, 31C und 31D veranschaulichen einen beispielhaften Prozess zum Decodieren von Kartenkacheln gemäß offenbarten Ausführungsformen.
    • 32 ist ein Flussdiagramm, das einen beispielhaften Prozess zum Bereitstellen eines oder mehrerer Kartenabschnitte an ein oder mehrere Fahrzeuge gemäß den offenbarten Ausführungsformen zeigt.
    • 33 ist eine schematische Darstellung, die die Struktur einer Nachricht zeigt, die beispielhaft an ein Fahrzeug gesendet wird, gemäß offenbarten Ausführungsformen.
    • 34 ist ein Beispiel für eine Nachricht, die von dem beispielhaften System an ein Fahrzeug gesendet wird, gemäß offenbarten Ausführungsformen.
    • 35 ist eine schematische Darstellung beispielhafter E-Horizont-Kartendaten gemäß offenbarten Ausführungsformen.
    • 36 ist eine schematische Darstellung beispielhafter Fahrspurgrenzen gemäß offenbarten Ausführungsformen.
    • 37 veranschaulicht einen beispielhaften Prozess zum Ändern eines E-Horizont-Koordinatensystems gemäß offenbarten Ausführungsformen.
    • 38 ist eine schematische Darstellung von beispielhaften Indizes und Subindizes von Splines in Verbindung mit Straßenabschnitten gemäß offenbarten Ausführungsformen.
    • 39 ist eine schematische Darstellung einer beispielhaften Fahrwegprojektion mit zehn Punkten pro Spline in festgelegten Abständen einer vorbestimmten Anzahl von Metern gemäß offenbarten Ausführungsformen.
    • 40 ist eine schematische Darstellung, die eine beispielhafte Beziehung zwischen dem dynamischen Abstand zwischen Punkten und der Ego-Geschwindigkeit zeigt, gemäß offenbarten Ausführungsformen.
    • 41 ist eine schematische Darstellung beispielhafter Fahrwegzusammenführungspunkte gemäß offenbarten Ausführungsformen.
    • 42 ist ein Blockdiagramm, das beispielhafte Komponenten eines Fahrzeugs gemäß offenbarten Ausführungsformen veranschaulicht.
    • 43 ist ein Flussdiagramm, das einen beispielhaften Prozess zum Navigieren eines Fahrzeugs gemäß offenbarten Ausführungsformen zeigt.
    • 44 ist ein Flussdiagramm, das einen beispielhaften Prozess zum Navigieren eines Fahrzeugs gemäß offenbarten Ausführungsformen zeigt.
    • 45 ist ein Flussdiagramm, das einen beispielhaften Prozess zum Navigieren eines Fahrzeugs gemäß offenbarten Ausführungsformen zeigt.
    • 46 ist eine schematische Darstellung, die beispielhafte vorhergesagte Positionen eines Fahrzeugs zu verschiedenen Zeitpunkten gemäß offenbarten Ausführungsformen veranschaulicht.
    • 47 ist ein Flussdiagramm, das einen beispielhaften Prozess zum Navigieren eines Fahrzeugs gemäß offenbarten Ausführungsformen zeigt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die nachfolgende ausführliche Beschreibung bezieht sich auf die beiliegenden Zeichnungen. Wo immer möglich, werden in den Zeichnungen und in der nachfolgenden Beschreibung gleiche Bezugszeichen verwendet, um auf gleiche oder ähnliche Teile zu verweisen. Auch wenn vorliegend mehrere beispielhafte Ausführungsformen beschrieben werden, sind Änderungen, Anpassungen und andere Implementierungen möglich. Beispielsweise können an den in den Zeichnungen dargestellten Komponenten Ersetzungen, Hinzufügungen oder Modifikationen vorgenommen werden, und die vorliegend beschriebenen Verfahren können durch Ersetzen, Umordnen, Weglassen oder Hinzufügen von Schritten zu den offengelegten Verfahren modifiziert werden. Dementsprechend ist die folgende ausführliche Beschreibung nicht auf die offenbarten Ausführungsformen und Beispiele beschränkt. Vielmehr wird der tatsächliche Umfang durch die beiliegenden Ansprüche definiert.
  • Übersicht Autonomes Fahrzeug
  • Der Begriff „autonomes Fahrzeug“ bezieht sich vorliegend auf ein Fahrzeug, das in der Lage ist, mindestens eine Navigationsänderung ohne Fahrereingaben durchzuführen. Eine „Navigationsänderung“ bezieht sich auf eine Änderung in Bezug auf Lenkung und/oder Bremsen und/oder Beschleunigung des Fahrzeugs. Um autonom zu sein, muss ein Fahrzeug nicht vollautomatisch sein (d.h. vollständig ohne Fahrer oder ohne Fahrereingaben arbeiten). Ein autonomes Fahrzeug ist vielmehr ein Fahrzeug, das während bestimmter Zeiträume unter der Kontrolle eines Fahrers und während anderer Zeiträume ohne die Kontrolle eines Fahrers arbeiten kann. Zu den autonomen Fahrzeugen können auch Fahrzeuge gehören, die nur einige Aspekte der Fahrzeugnavigation steuern, wie beispielsweise die Lenkung (z.B. zur Beibehaltung eines Fahrzeugkurses zwischen Fahrspurbegrenzungen), andere Aspekte aber dem Fahrer überlassen (z.B. das Bremsen). In einigen Fällen können autonome Fahrzeuge einige oder alle Aspekte des Bremsens, der Geschwindigkeitskontrolle und/oder der Lenkung des Fahrzeugs übernehmen.
  • Da sich menschliche Fahrer in der Regel auf optische Hinweise und Beobachtungen verlassen, um ein Fahrzeug zu steuern, sind die Verkehrsinfrastrukturen entsprechend aufgebaut: Fahrspurmarkierungen, Verkehrsschilder und Ampeln sind so konzipiert, dass sie dem Fahrer optische Informationen liefern. Angesichts dieser Konstruktionsmerkmale von Verkehrsinfrastrukturen kann ein autonomes Fahrzeug eine Kamera und eine Verarbeitungseinheit beinhalten, die optische Informationen analysiert, die aus der Umgebung des Fahrzeugs aufgenommen werden. Zu den optischen Informationen können beispielsweise Komponenten der Verkehrsinfrastruktur (z.B. Fahrspurmarkierungen, Verkehrsschilder, Ampeln usw.) gehören, die von den Fahrern wahrgenommen werden können, sowie andere Hindernisse (z.B. andere Fahrzeuge, Fußgänger, Schutt usw.). Zudem kann ein autonomes Fahrzeug auch gespeicherte Informationen verwenden, beispielsweise Informationen, die ein Modell der Umgebung des Fahrzeugs für die Navigation liefern. Beispielsweise kann das Fahrzeug GPS-Daten, Sensordaten (z.B. von einem Beschleunigungsmesser, einem Geschwindigkeitssensor, einem Aufhängungssensor usw.) und/oder andere Kartendaten verwenden, um Informationen über seine Umgebung zu liefern, während das Fahrzeug unterwegs ist, und das Fahrzeug (sowie andere Fahrzeuge) kann die Informationen verwenden, um sich selbst in dem Modell zu lokalisieren.
  • In einigen Ausführungsformen dieser Offenbarung kann ein autonomes Fahrzeug Informationen verwenden, die es während der Navigation erhält (z.B. von einer Kamera, einer GPS-Einrichtung, einem Beschleunigungsmesser, einem Geschwindigkeitssensor, einem Aufhängungssensor usw.). In anderen Ausführungsformen kann ein autonomes Fahrzeug während der Navigation Informationen verwenden, die aus früheren Navigationen des Fahrzeugs (oder anderer Fahrzeuge) erhalten wurden. In anderen Ausführungsformen kann ein autonomes Fahrzeug eine Kombination aus Informationen, die während der Navigation gewonnen werden, und Informationen aus früheren Navigationen verwenden. Die folgenden Abschnitte geben einen Überblick über ein System gemäß den offenbarten Ausführungsformen, gefolgt von einem Überblick über ein nach vorne gerichtetes Bildgebungssystem und Verfahren im Einklang mit dem System. In den nachfolgenden Abschnitten werden Systeme und Verfahren zum Erstellen, Verwenden und Aktualisieren einer dünnbesetzten Karte (sparse map) für autonome Fahrzeugnavigation vorgestellt.
  • Systemübersicht
  • 1 ist ein Blockdiagramm eines Systems 100 gemäß den beispielhaften offenbarten Ausführungsformen. Das System 100 kann je nach den Anforderungen einer jeweiligen Implementierung verschiedene Komponenten beinhalten. In einigen Ausführungsformen kann das System 100 eine Verarbeitungseinheit 110, eine Bilderfassungseinheit 120, einen Positionssensor 130, eine oder mehrere Speichereinheiten 140, 150, eine Kartendatenbank 160, eine Benutzerschnittstelle 170 und einen drahtlosen Sendeempfänger 172 beinhalten. Die Verarbeitungseinheit 110 kann eine oder mehrere Verarbeitungseinrichtungen beinhalten. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 einen Anwendungsprozessor 180, einen Bildprozessor 190 oder eine beliebige andere geeignete Verarbeitungseinrichtung beinhalten. Ebenso kann die Bilderfassungseinheit 120 eine beliebige Anzahl von Bilderfassungseinrichtungen und -komponenten umfassen, je nach den Anforderungen einer jeweiligen Anwendung. In einigen Ausführungsformen kann die Bilderfassungseinheit 120 eine oder mehrere Bildaufnahmeeinrichtungen (z.B. Kameras) beinhalten, wie die Bildaufnahmerichtung 122, die Bildaufnahmeeinrichtung 124 und die Bildaufnahmeeinrichtung 126. Das System 100 kann auch eine Datenschnittstelle 128 beinhalten, die die Verarbeitungseinrichtung 110 mit der Bilderfassungseinrichtung 120 kommunikativ verbindet. Die Datenschnittstelle 128 kann zum Beispiel eine oder mehrere drahtgebundene und/oder drahtlose Verbindungen zur Übertragung von Bilddaten, die von der Bilderfassungseinrichtung 120 erfasst wurden, an die Verarbeitungseinheit 110 beinhalten.
  • Der drahtlose Sendeempfänger 172 kann eine oder mehrere Einrichtungen umfassen, die so konfiguriert sind, dass sie Übertragungen über eine Luftschnittstelle mit einem oder mehreren Netzwerken (z. B. Mobilfunk, Internet usw.) unter Verwendung einer Funkfrequenz, Infrarotfrequenz, eines Magnetfelds oder eines elektrischen Felds austauschen. Der drahtlose Sendeempfänger 172 kann jeden bekannten Standard zum Übertragen und/oder Empfangen von Daten verwenden (z.B. WiFi, Bluetooth®, Bluetooth Smart, 802.15.4, ZigBee usw.). Solche Übertragungen können Kommunikation vom Host-Fahrzeug zu einem oder mehreren entfernten Servern beinhalten. Solche Übertragungen können zudem (ein- oder zweiseitige) Kommunikation zwischen dem Host-Fahrzeug und einem oder mehreren Zielfahrzeugen in der Umgebung des Host-Fahrzeugs (z.B. zur Erleichterung der Koordinierung der Navigation des Host-Fahrzeugs im Hinblick auf oder zusammen mit Zielfahrzeugen in der Umgebung des Host-Fahrzeugs), oder sogar eine Rundsende- (Broadcast-) Übertragung an nicht näher bezeichnete Empfänger in der Nähe des übertragenden Fahrzeugs beinhalten.
  • Sowohl der Anwendungsprozessor 180 als auch der Bildprozessor 190 können verschiedene Arten von Verarbeitungseinrichtungen beinhalten. Der Anwendungsprozessor 180 und der Bildprozessor 190 können beispielsweise einen Mikroprozessor, Vorprozessoren (z.B. einen Bildvorprozessor), eine Grafikverarbeitungseinheit (GPU), eine Zentraleinheit (CPU), Unterstützungsschaltungen, digitale Signalprozessoren, integrierte Schaltungen, Speicher oder andere Arten von Einrichtungen umfassen, die zum Ausführen von Anwendungen und für die Bildverarbeitung und -analyse geeignet sind. In einigen Ausführungsformen kann der Anwendungsprozessor 180 und/oder der Bildprozessor 190 jede Art von Einkern- oder Mehrkernprozessor, Mikrocontroller für mobile Einrichtungen, Zentraleinheit usw. beinhalten. Es können verschiedene Verarbeitungseinrichtungen verwendet werden, darunter beispielsweise Prozessoren von Herstellern wie Intel®, AMD® usw. oder GPUs von Herstellern wie NVIDIA®, ATI® usw., die verschiedene Architekturen beinhalten können (z.B. x86-Prozessor, ARME usw.).
  • In einigen Ausführungsformen können der Anwendungsprozessor 180 und/oder der Bildprozessor 190 einen der von Mobileye® erhältlichen Prozessorchips der EyeQ-Serie beinhalten. Diese Prozessordesigns beinhalten jeweils mehrere Verarbeitungseinheiten mit lokalem Speicher und Befehlssätzen. Solche Prozessoren können Videoeingänge zum Empfangen von Bilddaten von mehreren Bildsensoren und auch Videoausgangsfunktionen beinhalten. In einem Beispiel verwendet der FyeQ2® 90-nm-Micron-Technologie, die mit 332 MHz arbeitet. Die EyeQ2®-Architektur besteht aus zwei 32-Bit-RISC-CPUs mit Fließkomma und Hyperthreading (MIPS32®-34K®-Kerne), fünf Vision Computing Engines (VCEs), drei Vector Microcode Processors (VMP®), einem Denali 64-Bit Mobile DDR Controller, einem internen 128-Bit Sonics Interconnect, zwei 16-Bit-Videoeingangs- und 18-Bit-Videoausgangs-Controllern, 16 Kanälen DMA und verschiedenen Peripheriegeräten. Die MIPS34K-CPU verwaltet die fünf VCEs, drei VMP™ und den DMA, die zweite MIPS34K-CPU und den Mehrkanal-DMA sowie die anderen Peripheriegeräte. Die fünf VCEs, drei VMP® und die MIPS34K-CPU können intensive Bildverarbeitungsberechnungen durchführen, die für Multifunktions-Bündelanwendungen erforderlich sind. In einem weiteren Beispiel kann der EyeQ3®, ein Prozessor der dritten Generation, der sechsmal leistungsfähiger ist als der EyeQ2®, in den offenbarten Ausführungsformen verwendet werden. In anderen Beispielen kann in den offenbarten Ausführungsformen der EyeQ4® und/oder der EyeQ5® verwendet werden. Natürlich können auch neuere oder zukünftige EyeQ-Verarbeitungseinrichtungen zusammen mit den offenbarten Ausführungsformen verwendet werden.
  • Jede der vorliegend beschriebenen Verarbeitungseinrichtungen kann so konfiguriert werden, dass sie bestimmte Funktionen ausführt. Das Konfigurieren einer Verarbeitungseinrichtung, wie eines der beschriebenen EyeQ-Prozessoren oder eines anderen Controllers oder Mikroprozessors, zur Ausführung bestimmter Funktionen kann Programmieren von computerausführbaren Anweisungen und Bereitstellen dieser Anweisungen an die Verarbeitungseinrichtung zur Ausführung während des Betriebs der Verarbeitungseinrichtung beinhalten. In einigen Ausführungsformen kann das Konfigurieren einer Verarbeitungseinrichtung direktes Programmieren der Verarbeitungseinrichtung mit Architekturanweisungen beinhalten. Beispielsweise können Verarbeitungseinrichtungen wie frei programmierbare Gate-Arrays (FPGAs), anwendungsspezifische integrierte Schaltungen (ASICs) und dergleichen unter Verwendung beispielsweise einer oder mehrerer Hardwarebeschreibungssprachen (HDLs, hardware description languages) konfiguriert werden.
  • In anderen Ausführungsformen kann das Konfigurieren einer Verarbeitungseinrichtung Speichern von ausführbaren Anweisungen in einem Speicher beinhalten, auf den die Verarbeitungseinrichtung während des Betriebs zugreifen kann. So kann die Verarbeitungseinrichtung beispielsweise auf den Speicher zugreifen, um die gespeicherten Anweisungen während des Betriebs zu beziehen und auszuführen. In jedem Fall stellt die Verarbeitungseinrichtung, die für die Durchführung der vorliegend beschriebenen Erfassungs-, Bildanalyse- und/oder Navigationsfunktionen konfiguriert ist, ein spezialisiertes hardwarebasiertes System dar, das mehrere hardwarebasierte Komponenten eines Host-Fahrzeugs steuert.
  • Auch wenn in 1 zwei separate Verarbeitungseinrichtungen in der Verarbeitungseinheit 110 dargestellt sind, können auch mehr oder weniger Verarbeitungseinrichtungen verwendet werden. In einigen Ausführungsformen kann zum Beispiel eine einzige Verarbeitungseinrichtung verwendet werden, um die Aufgaben des Anwendungsprozessors 180 und des Bildprozessors 190 zu erfüllen. In anderen Ausführungsformen können diese Aufgaben von mehr als zwei Verarbeitungseinrichtungen ausgeführt werden. Ferner kann das System 100 in einigen Ausführungsformen eine oder mehrere Verarbeitungseinheiten 110 beinhalten, ohne andere Komponenten wie beispielsweise die Bilderfassungseinheit 120 zu beinhalten.
  • Die Verarbeitungseinheit 110 kann verschiedene Arten von Einrichtungen umfassen. Die Verarbeitungseinheit 110 kann beispielsweise verschiedene Einrichtungen wie einen Controller, einen Bildvorprozessor, eine Zentraleinheit (CPU), eine Grafikverarbeitungseinheit (GPU), Unterstützungsschaltungen, digitale Signalprozessoren, integrierte Schaltungen, Speicher oder beliebige andere Arten von Einrichtungen für Bildverarbeitung und -analyse beinhalten. Der Bildvorprozessor kann einen Videoprozessor zum Erfassen, Digitalisieren und Verarbeiten des Bildmaterials von den Bildsensoren umfassen. Die CPU kann eine beliebige Anzahl von Mikrocontrollern oder Mikroprozessoren umfassen. Die GPU kann ebenfalls eine beliebige Anzahl von Mikrocontrollern oder Mikroprozessoren umfassen. Bei den Unterstützungsschaltungen kann es sich um eine beliebige Anzahl von Schaltungen handeln, die grundsätzlich im Fachgebiet bekannt sind, darunter Cache-, Stromversorgungs-, Takt- und Eingabe/Ausgabe-Schaltungen. Der Speicher kann Software speichern, die bei Ausführung durch den Prozessor den Betrieb des Systems steuert. Der Speicher kann Datenbanken und Bildverarbeitungssoftware beinhalten. Der Speicher kann eine beliebige Anzahl von Direktzugriffsspeichern, Nur-Lese-Speichern, Flash-Speichern, Plattenlaufwerken, optischen Speichern, Bandspeichern, Wechselspeichern und anderen Speicherarten umfassen. In einem Fall kann der Speicher von der Verarbeitungseinheit 110 getrennt sein. In einem anderen Fall kann der Speicher in die Verarbeitungseinheit 110 integriert sein.
  • Jeder Speicher 140, 150 kann Softwareanweisungen enthalten, die bei Ausführung durch einen Prozessor (z.B. Anwendungsprozessor 180 und/oder Bildprozessor 190) den Betrieb verschiedener Aspekte des Systems 100 steuern können. Diese Speichereinheiten können verschiedene Datenbanken und Bildverarbeitungssoftware sowie ein trainiertes System wie beispielsweise ein neuronales Netz oder ein tiefes neuronales Netz beinhalten. Zu den Speichereinheiten können Direktzugriffsspeicher (RAM), Nur-Lese-Speicher (ROM), Flash-Speicher, Plattenlaufwerke, optische Speicher, Bandspeicher, Wechselspeicher und/oder beliebige andere Speicherarten zählen. In einigen Ausführungsformen können die Speichereinheiten 140, 150 vom Anwendungsprozessor 180 und/oder Bildprozessor 190 getrennt sein. In anderen Ausführungsformen können diese Speichereinheiten in den Anwendungsprozessor 180 und/oder den Bildprozessor 190 integriert sein.
  • Der Positionssensor 130 kann eine beliebige Art von Einrichtung beinhalten, die geeignet ist, einen mit mindestens einer Komponente des Systems 100 verbundenen Standort zu bestimmen. In einigen Ausführungsformen kann der Positionssensor 130 einen GPS-Empfänger beinhalten. Solche Empfänger können eine Position und einen Geschwindigkeitsvektor eines Benutzers bestimmen, indem sie Signale verarbeiten, die von Satelliten des Global Positioning System gesendet werden. Positionsinformationen des Positionssensors 130 können dem Anwendungsprozessor 180 und/oder dem Bildprozessor 190 zur Verfügung gestellt werden.
  • In einigen Ausführungsformen kann das System 100 Komponenten wie einen Geschwindigkeitssensor (z.B. einen Tachometer, einen Geschwindigkeitsmesser) zum Messen einer Geschwindigkeit des Fahrzeugs 200 und/oder einen Beschleunigungsmesser (entweder einachsig oder mehrachsig) zum Messen einer Beschleunigung des Fahrzeugs 200 beinhalten.
  • Die Benutzerschnittstelle 170 kann eine beliebige Einrichtung umfassen, die geeignet ist, einem oder mehreren Benutzern des Systems 100 Informationen zu liefern oder Eingaben von ihnen zu empfangen. In einigen Ausführungsformen kann die Benutzerschnittstelle 170 Benutzereingabeeinrichtungen wie beispielsweise einen Touchscreen, ein Mikrofon, eine Tastatur, Zeigeeinrichtungen, Trackwheels, Kameras, Knöpfe, Tasten usw. beinhalten. Mit solchen Eingabeeinrichtungen kann ein Benutzer in der Lage sein, Informationseingaben oder Befehle an das System 100 zu übermitteln, indem er Anweisungen oder Informationen eingibt, Sprachbefehle erteilt, Menüoptionen auf einem Bildschirm mit Hilfe von Schaltflächen, Zeigern oder Eye-Tracking-Funktionen auswählt oder andere geeignete Methoden zur Übermittlung von Informationen an das System 100 einsetzt.
  • Die Benutzerschnittstelle 170 kann mit einer oder mehreren Verarbeitungseinrichtungen ausgestattet sein, die so konfiguriert sind, dass sie Informationen an einen Benutzer bereitstellen bzw. von diesem empfangen und diese Informationen zur Verwendung durch beispielsweise den Anwendungsprozessor 180 verarbeiten. In einigen Ausführungsformen können solche Verarbeitungseinrichtungen Anweisungen zum Erkennen und Verfolgen von Augenbewegungen, zum Empfangen und Interpretieren von Sprachbefehlen, zum Erkennen und Interpretieren von Berührungen und/oder Gesten auf einem Touchscreen, zum Reagieren auf Tastatureingaben oder Menüauswahlen usw. ausführen. In einigen Ausführungsformen kann die Benutzerschnittstelle 170 eine Anzeige, einen Lautsprecher, eine taktile Einrichtung und/oder andere Einrichtungen zum Bereitstellen von Ausgabeinformationen für einen Benutzer beinhalten.
  • Die Kartendatenbank 160 kann jede Art von Datenbank zum Speichern von Kartendaten beinhalten, die für das System 100 nützlich sind. In einigen Ausführungsformen kann die Kartendatenbank 160 Daten beinhalten, die sich auf die Position verschiedener Elemente in einem Referenzkoordinatensystem beziehen, darunter Straßen, Gewässermerkmale, geografische Merkmale, Unternehmen, Sehenswürdigkeiten, Restaurants, Tankstellen usw. Die Kartendatenbank 160 kann nicht nur die Standorte solcher Objekte speichern, sondern auch Deskriptoren, die sich auf diese Objekte beziehen, darunter beispielsweise Namen, die den gespeicherten Merkmalen zugeordnet sind. In einigen Ausführungsformen kann die Kartendatenbank 160 physisch zusammen mit anderen Komponenten des Systems 100 angeordnet sein. Alternativ oder zusätzlich kann die Kartendatenbank 160 oder ein Teil davon in Bezug auf andere Komponenten des Systems 100 (z.B. die Verarbeitungseinheit 110) entfernt angeordnet sein. In solchen Ausführungsformen können Informationen aus der Kartendatenbank 160 über eine drahtgebundene oder drahtlose Datenverbindung in ein Netzwerk (z.B. über ein Mobilfunknetz und/oder das Internet usw.) heruntergeladen werden. In einigen Fällen kann die Kartendatenbank 160 ein dünnbesetztes Datenmodell mit polynomialen Darstellungen bestimmter Straßenmerkmale (z.B. Fahrspurmarkierungen) oder Zieltrajektorien für das Host-Fahrzeug speichern. Systeme und Verfahren zum Erzeugen einer solchen Karte werden nachstehend unter Bezugnahme auf 8 bis 19 erörtert.
  • Die Bildaufnahmeeinrichtungen 122, 124 und 126 können jede Art von Einrichtung beinhalten, die zum Aufnehmen mindestens eines Bildes aus einer Umgebung geeignet ist. Außerdem kann eine beliebige Anzahl von Bildaufnahmeeinrichtungen verwendet werden, um Bilder für die Eingabe in den Bildprozessor zu erfassen. Einige Ausführungsformen können nur eine einzige Bildaufnahmeeinrichtung beinhalten, während andere Ausführungsformen zwei, drei oder sogar vier oder mehr Bildaufnahmeeinrichtungen beinhalten können. Die Bildaufnahmeeinrichtungen 122, 124 und 126 werden nachstehend unter Bezugnahme auf 2B bis 2E näher beschrieben.
  • Das System 100 oder verschiedene Komponenten davon können in verschiedene Plattformen integriert werden. In einigen Ausführungsformen kann das System 100 in einem Fahrzeug 200 enthalten sein, wie in 2A dargestellt. Beispielsweise kann das Fahrzeug 200 mit einer Verarbeitungseinheit 110 und beliebigen anderen Komponenten des Systems 100 ausgestattet sein, die vorstehend in Bezug auf 1 beschrieben sind. Während in einigen Ausführungsformen das Fahrzeug 200 nur mit einer einzigen Bildaufnahmeeinrichtung (z.B. einer Kamera) ausgestattet sein kann, können in anderen Ausführungsformen, die in Verbindung mit 2B bis 2E erörtert werden, mehrere Bildaufnahmeeinrichtungen verwendet werden. Beispielsweise kann jede der beiden Bildaufnahmeeinrichtungen 122 und 124 des Fahrzeugs 200, wie in 2A dargestellt, Teil eines ADAS- (Advanced Driver Assistance Systems) Bildgebungssets sein.
  • Die Bildaufnahmeeinrichtungen, die im Fahrzeug 200 als Teil der Bilderfassungseinheit 120 enthalten sind, können an jeder geeigneten Stelle positioniert sein. In einigen Ausführungsformen, wie in 2A-2E und 3A-3C gezeigt, kann sich die Bildaufnahmeeinrichtung 122 in der Nähe des Rückspiegels befinden. Diese Position kann eine ähnliche Sichtlinie wie die des Fahrers des Fahrzeugs 200 bieten, was bei der Bestimmung helfen kann, was für den Fahrer sichtbar ist und was nicht. Die Bildaufnahmeeinrichtung 122 kann an einer beliebigen Stelle in der Nähe des Rückspiegels positioniert sein, aber eine Platzierung der Bildaufnahmeeinrichtung 122 auf der Fahrerseite des Spiegels kann zusätzlich helfen, Bilder zu beziehen, die für das Sichtfeld und/oder die Sichtlinie des Fahrers repräsentativ sind.
  • Es können auch andere Positionen für die Bildaufnahmeeinrichtungen der Bilderfassungseinheit 120 verwendet werden. Beispielsweise kann sich die Bildaufnahmeeinrichtung 124 an oder in einem Stoßfänger des Fahrzeugs 200 befinden. Eine solche Position eignet sich besonders für Bildaufnahmeeinrichtungen mit einem großen Sichtfeld. Die Sichtlinie von am Stoßfänger befindlichen Bildaufnahmeeinrichtungen kann sich von der des Fahrers unterscheiden, so dass die Bildaufnahmeeinrichtung am Stoßfänger und der Fahrer möglicherweise nicht immer dieselben Objekte sehen. Die Bildaufnahmeeinrichtungen (z.B. die Bildaufnahmeeinrichtungen 122, 124 und 126) können sich auch an anderen Stellen befinden. Beispielsweise können sich die Bildaufnahmeeinrichtungen an oder in einem oder beiden Seitenspiegeln des Fahrzeugs 200, auf dem Dach des Fahrzeugs 200, auf der Motorhaube des Fahrzeugs 200, am Kofferraum des Fahrzeugs 200, an den Seiten des Fahrzeugs 200, an, hinter oder vor einem der Fenster des Fahrzeugs 200 montiert und in oder in der Nähe von Lichtfiguren an der Vorder- und/oder Rückseite des Fahrzeugs 200 usw. befinden.
  • Zusätzlich zu Bildaufnahmeeinrichtungen kann das Fahrzeug 200 verschiedene andere Komponenten des Systems 100 beinhalten. Beispielsweise kann die Verarbeitungseinheit 110 in dem Fahrzeug 200 in eine Motorsteuereinheit (ECU, engine control unit) des Fahrzeugs integriert oder von dieser getrennt sein. Das Fahrzeug 200 kann auch mit einem Positionssensor 130, beispielsweise einem GPS-Empfänger, ausgestattet sein und zudem eine Kartendatenbank 160 sowie Speichereinheiten 140 und 150 beinhalten.
  • Wie bereits erwähnt, kann der drahtlose Sendeempfänger 172 Daten über ein oder mehrere Netzwerke (z.B. Mobilfunknetze, das Internet usw.) übertragen und/oder empfangen. Beispielsweise kann der drahtlose Sendeempfänger 172 vom System 100 gesammelte Daten auf einen oder mehrere Server hochladen und Daten von dem einen oder den mehreren Servern herunterladen. Über den drahtlosen Sendeempfänger 172 kann das System 100 beispielsweise regelmäßige oder bedarfsabhängige Aktualisierungen von in der Kartendatenbank 160, im Speicher 140 und/oder im Speicher 150 gespeicherten Daten empfangen. Ebenso kann der drahtlose Sendeempfänger 172 beliebige Daten (z.B. Bilder, die von der Bilderfassungseinheit 120 aufgenommen wurden, Daten, die vom Positionssensor 130 oder anderen Sensoren, Fahrzeugsteuerungssystemen usw. empfangen wurden) vom System 100 und/oder beliebige Daten, die von der Verarbeitungseinheit 110 verarbeitet wurden, auf einen oder mehrere Server hochladen.
  • Das System 100 kann Daten auf einen Server (z.B. in die Cloud) auf Grundlage einer Datenschutzeinstellung hochladen. Beispielsweise kann das System 100 Datenschutzeinstellungen implementieren, um die Arten von Daten (einschließlich Metadaten) zu regulieren oder zu begrenzen, die an den Server gesendet werden und ein Fahrzeug oder den Fahrer/Eigentümer eines Fahrzeugs eindeutig identifizieren können. Solche Einstellungen können vom Benutzer beispielsweise über den drahtlosen Sendeempfänger 172 vorgenommen werden, durch werkseitige Standardeinstellungen initialisiert werden oder durch vom drahtlosen Sendeempfänger 172 empfangene Daten erfolgen.
  • In einigen Ausführungsformen kann das System 100 Daten gemäß einer „hohen“ Datenschutzstufe hochladen, und bei einer entsprechenden Einstellung kann das System 100 Daten (z.B. Standortinformationen in Bezug auf eine Route, aufgenommene Bilder usw.) ohne Einzelheiten über das konkrete Fahrzeug und/oder den Fahrer/Eigentümer übertragen. Beim Hochladen von Daten gemäß einer „hohen“ Datenschutzeinstellung bezieht das System 100 beispielsweise gegebenenfalls keine Fahrgestellnummer (VIN, vehicle identification number) oder einen Namen eines Fahrers oder Eigentümers des Fahrzeugs ein und kann stattdessen Daten wie aufgenommene Bilder und/oder begrenzte Standortinformationen in Bezug auf eine Route übertragen.
  • Andere Datenschutzstufen sind ebenfalls denkbar. Beispielsweise kann das System 100 Daten gemäß einer „mittleren“ Datenschutzstufe an einen Server übermitteln und zusätzliche Informationen einbeziehen, die bei einer „hohen“ Datenschutzstufe nicht einbezogen werden, wie beispielsweise die Marke und/oder das Modell eines Fahrzeugs und/oder einen Fahrzeugtyp (z.B. Pkw, SUV, Lkw usw.). In einigen Ausführungsformen kann das System 100 Daten gemäß einer „niedrigen“ Datenschutzstufe hochladen. Bei einer „niedrigen“ Datenschutzeinstellung kann das System 100 Daten hochladen und Informationen einbeziehen, die ausreichen, um ein bestimmtes Fahrzeug, den Eigentümer/Fahrer und/oder einen Teil oder die gesamte vom Fahrzeug zurückgelegte Route eindeutig zu identifizieren. Solche Daten mit „niedriger“ Datenschutzstufe können beispielsweise eine Fahrgestellnummer, den Namen eines Fahrers/Eigentümers, einen Ausgangsort des Fahrzeugs vor der Abfahrt, einen vorgesehenen Zielort des Fahrzeugs, eine Marke und/oder ein Modell des Fahrzeugs, einen Fahrzeugtyp usw. umfassen.
  • 2A ist eine schematische Seitenansicht eines beispielhaften Fahrzeug-Bildgebungssystems gemäß den offenbarten Ausführungsformen. 2B ist eine schematische Draufsicht auf die in 2A gezeigte Ausführungsform. Wie in 2B dargestellt, können die offenbarten Ausführungsformen ein Fahrzeug 200 beinhalten, das in seiner Karosserie ein System 100 mit einer ersten Bildaufnahmeeinrichtung 122, die in der Nähe des Rückspiegels und/oder in der Nähe des Fahrers des Fahrzeugs 200 positioniert ist, eine zweite Bildaufnahmeeinrichtung 124, die an oder in einem Stoßfängerbereich (z.B. einem der Stoßfängerbereiche 210) des Fahrzeugs 200 positioniert ist, und eine Verarbeitungseinheit 110 beinhaltet.
  • Wie in 2C dargestellt, können die Bildaufnahmeeinrichtungen 122 und 124 beide in der Nähe des Rückspiegels und/oder in der Nähe des Fahrers des Fahrzeugs 200 positioniert sein. Auch wenn in 2B und 2C zwei Bildaufnahmeeinrichtungen 122 und 124 gezeigt sind, ist zu beachten, dass andere Ausführungsformen auch mehr als zwei Bildaufnahmeeinrichtungen beinhalten können. Beispielsweise sind in den in 2D und 2E gezeigten Ausführungsformen eine erste, eine zweite und eine dritte Bildaufnahmeeinrichtung 122, 124 und 126 in dem System 100 des Fahrzeugs 200 enthalten.
  • Wie in 2D dargestellt, kann die Bildaufnahmeeinrichtung 122 in der Nähe des Rückspiegels und/oder in der Nähe des Fahrers des Fahrzeugs 200 positioniert sein, während die Bildaufnahmeeinrichtungen 124 und 126 am oder in einem Stoßfängerbereich (z.B. einem der Stoßfängerbereiche 210) des Fahrzeugs 200 positioniert sein können. Und wie in 2E gezeigt, können die Bildaufnahmeeinrichtungen 122, 124 und 126 in der Nähe des Rückspiegels und/oder in der Nähe des Fahrersitzes des Fahrzeugs 200 positioniert sein. Die offenbarten Ausführungsformen sind nicht auf eine bestimmte Anzahl und Konfiguration der Bildaufnahmeeinrichtungen beschränkt, und die Bildaufnahmeeinrichtungen können an jeder geeigneten Stelle im und/oder am Fahrzeug 200 positioniert sein.
  • Es versteht sich, dass die offenbarten Ausführungsformen nicht auf Fahrzeuge beschränkt sind und auch in anderen Kontexten angewendet werden können. Es versteht sich zudem, dass die offenbarten Ausführungsformen nicht auf einen bestimmten Fahrzeugtyp 200 beschränkt sind und für alle Fahrzeugtypen, darunter Autos, Lastkraftwagen, Anhänger und andere Fahrzeugtypen, anwendbar sein können.
  • Die erste Bildaufnahmeeinrichtung 122 kann eine beliebige geeignete Art von Bildaufnahmeeinrichtung umfassen. Die Bildaufnahmeeinrichtung 122 kann eine optische Achse beinhalten. In einem Fall kann die Bildaufnahmeeinrichtung 122 einen Aptina M9V024 WVGA-Sensor mit einem Global Shutter beinhalten. In anderen Ausführungsformen kann die Bildaufnahmeeinrichtung 122 eine Auflösung von 1280x960 Pixeln bieten und einen Rolling Shutter beinhalten. Die Bildaufnahmeeinrichtung 122 kann verschiedene optische Elemente beinhalten. In einigen Ausführungsformen können ein oder mehrere Objektive enthalten sein, um beispielsweise eine gewünschte Brennweite und ein gewünschtes Sichtfeld für die Bildaufnahmeeinrichtung bereitzustellen. In einigen Ausführungsformen kann die Bildaufnahmeeinrichtung 122 mit einem 6-mm-Objektiv oder einem 12-mm-Objektiv verbunden sein. In einigen Ausführungsformen kann die Bildaufnahmeeinrichtung 122 so konfiguriert sein, dass sie Bilder mit einem gewünschten Sichtfeld (FOV, field of view) 202 aufnimmt, wie in 2D veranschaulicht. Zum Beispiel kann die Bildaufnahmeeinrichtung 122 so konfiguriert sein, dass sie ein reguläres FOV aufweist, beispielsweise in einem Bereich von 40 Grad bis 56 Grad, einschließlich 46 Grad FOV, 50 Grad FOV, 52 Grad FOV oder mehr. Alternativ kann die Bildaufnahmeeinrichtung 122 so konfiguriert sein, dass sie ein schmales FOV im Bereich von 23 bis 40 Grad aufweist, beispielsweise ein FOV von 28 Grad oder 36 Grad. Zudem kann die Bildaufnahmeeinrichtung 122 so konfiguriert sein, dass sie ein breites FOV im Bereich von 100 bis 180 Grad aufweist. In einigen Ausführungsformen kann die Bildaufnahmeeinrichtung 122 eine Weitwinkel-Stoßfängerkamera oder eine Kamera mit einem FOV von bis zu 180 Grad beinhalten. In einigen Ausführungsformen kann es sich bei der Bildaufnahmeeinrichtung 122 um eine 7,2-Megapixel-Bildaufnahmeeinrichtung mit einem Seitenverhältnis von etwa 2: 1 (z.B. HxV=3800x1900 Pixel) mit einem horizontalen FOV von etwa 100 Grad handeln. Eine solche Bildaufnahmeeinrichtung kann anstelle einer Konfiguration mit drei Bildaufnahmeeinrichtungen verwendet werden. Aufgrund erheblicher Objektivverzeichnung kann das vertikale FOV einer solchen Bildaufnahmeeinrichtung deutlich weniger als 50 Grad betragen, wenn die Bildaufnahmeeinrichtung ein radialsymmetrisches Objektiv verwendet. Ein solches Objektiv kann zum Beispiel nicht radial symmetrisch sein, was ein vertikales FOV von mehr als 50 Grad bei einem horizontalen FOV von 100 Grad ermöglichen würde.
  • Die erste Bildaufnahmeeinrichtung 122 kann eine Vielzahl von ersten Bildern in Bezug auf eine dem Fahrzeug 200 zugeordnete Szene aufnehmen. Jedes der Vielzahl erster Bilder kann als eine Serie von Bildabtastzeilen erfasst werden, die mit einem Rolling Shutter aufgenommen werden können. Jede Abtastzeile kann eine Vielzahl von Pixeln beinhalten.
  • Die erste Bildaufnahmeeinrichtung 122 kann eine Abtastrate aufweisen, die mit der Erfassung jeder der ersten Serie von Bildabtastzeilen verbunden ist. Die Abtastrate kann sich auf eine Rate beziehen, mit der ein Bildsensor Bilddaten erfassen kann, die zu jedem Pixel in einer jeweiligen Abtastzeile gehören.
  • Die Bildaufnahmeeinrichtungen 122, 124 und 126 können jede geeignete Art und Anzahl von Bildsensoren beinhalten, darunter beispielsweise CCD-Sensoren oder CMOS-Sensoren. In einer Ausführungsform kann ein CMOS-Bildsensor zusammen mit einem Rolling Shutter verwendet werden, so dass jedes Pixel in einer Reihe einzeln gelesen wird, und das Abtasten der Reihen erfolgt Reihe für Reihe, bis ein gesamter Bildrahmen aufgenommen wurde. In einigen Ausführungsformen können die Reihen in Bezug auf den Rahmen von oben nach unten nacheinander aufgenommen werden.
  • In einigen Ausführungsformen können eine oder mehrere der vorliegend offenbarten Bildaufnahmeeinrichtungen (z.B. die Bildaufnahmeeinrichtungen 122, 124 und 126) einen hochauflösenden Bildgeber darstellen und eine Auflösung von mehr als 5 Megapixel, 7 Megapixel, 10 Megapixel oder mehr aufweisen.
  • Die Verwendung eines Rolling Shutters kann dazu führen, dass Pixel in verschiedenen Reihen zu unterschiedlichen Zeiten belichtet und aufgenommen werden, was zu Verzerrungen und anderen Bildartefakten im aufgenommenen Bildrahmen führen kann. Ist die Bildaufnahmeeinrichtung 122 hingegen so konfiguriert, dass sie mit einem globalen oder synchronen Shutter arbeitet, können alle Pixel für die gleiche Zeit und während eines gemeinsamen Belichtungszeitraums belichtet werden. Somit stellen die Bilddaten in einem Rahmen, der von einem System mit Global Shutter erfasst wird, eine Momentaufnahme des gesamten FOV (z.B. FOV 202) zu einem bestimmten Zeitpunkt dar. Im Gegensatz dazu erfolgt bei einer Rolling-Shutter-Anwendung die Belichtung jeder Reihe eines Rahmens und die Erfassung der Daten zu unterschiedlichen Zeiten. Daher können bewegte Objekte in einer Bildaufnahmeeinrichtung mit Rolling Shutter verzerrt erscheinen. Auf dieses Phänomen wird nachstehend noch näher eingegangen.
  • Bei der zweiten Bildaufnahmeeinrichtung 124 und der dritten Bildaufnahmeeinrichtung 126 kann es sich um eine beliebige Art von Bildaufnahmeeinrichtung handeln. Wie die erste Bildaufnahmeeinrichtung 122 kann auch jede der Bildaufnahmeeinrichtungen 124 und 126 eine optische Achse aufweisen. In einer Ausführungsform kann jede der Bildaufnahmeeinrichtungen 124 und 126 einen Aptina M9V024 WVGA-Sensor mit einem Global Shutter beinhalten. Alternativ kann jede der Bildaufnahmeeinrichtungen 124 und 126 einen Rolling Shutter beinhalten. Wie die Bildaufnahmeeinrichtung 122 können auch die Bildaufnahmeeinrichtungen 124 und 126 so konfiguriert sein, dass sie verschiedene Objektive und optische Elemente beinhalten. In einigen Ausführungsformen können den Bildaufnahmeeinrichtungen 124 und 126 zugehörige Objektive FOVs (wie die FOVs 204 und 206) bereitstellen, die gleich oder schmaler als ein der Bildaufnahmeeinrichtung 122 zugehöriges FOV (wie das FOV 202) sind. Beispielsweise können die Bildaufnahmeeinrichtungen 124 und 126 FOVs von 40 Grad, 30 Grad, 26 Grad, 23 Grad, 20 Grad oder weniger aufweisen.
  • Die Bildaufnahmeeinrichtungen 124 und 126 können eine Vielzahl von zweiten und dritten Bildern in Bezug auf eine mit dem Fahrzeug 200 verbundene Szene erfassen. Jedes der Vielzahl zweiter und dritter Bilder kann als eine zweite und dritte Serie von Bildabtastzeilen erfasst werden, die mit einem Rolling Shutter aufgenommen werden können. Jede Abtastzeile oder -reihe kann eine Vielzahl von Pixeln aufweisen. Die Bildaufnahmeeinrichtungen 124 und 126 können eine zweite und eine dritte Abtastrate aufweisen, die mit der Erfassung jeder der Bildabtastzeilen in der zweiten und dritten Serie verbunden sind.
  • Jede Bildaufnahmeeinrichtung 122, 124 und 126 kann in jeder geeigneten Position und Ausrichtung in Bezug auf das Fahrzeug 200 positioniert sein. Die relative Positionierung der Bildaufnahmeeinrichtungen 122, 124 und 126 kann so gewählt werden, dass ein Zusammenführen der von den Bildaufnahmeeinrichtungen erfassten Informationen erleichtert wird. In einigen Ausführungsformen kann sich beispielsweise ein der Bildaufnahmeeinrichtung 124 zugehöriges FOV (wie das FOV 204) teilweise oder vollständig mit einem der Bildaufnahmeeinrichtung 122 zugehörigen FOV (wie dem FOV 202) und einem der Bildaufnahmeeinrichtung 126 zugehörigen FOV (wie dem FOV 206) überschneiden.
  • Die Bildaufnahmeeinrichtungen 122, 124 und 126 können sich an dem Fahrzeug 200 auf jeder geeigneten relativen Höhe befinden. In einem Fall kann ein Höhenunterschied zwischen den Bildaufnahmeeinrichtungen 122, 124 und 126 bestehen, der ausreichende Parallaxeninformationen für eine Stereoanalyse liefern kann. Wie in 2A gezeigt ist, befinden sich die beiden Bildaufnahmeeinrichtungen 122 und 124 beispielsweise auf unterschiedlichen Höhen. Es kann auch eine Seitenverschiebungsdifferenz zwischen den Bildaufnahmeeinrichtungen 122, 124 und 126 bestehen, die zusätzliche Parallaxeninformationen für Stereoanalyse durch beispielsweise die Verarbeitungseinheit 110 liefert. Die Differenz der Seitenverschiebung kann mit dx bezeichnet werden, wie in 2C und 2D gezeigt. In einigen Ausführungsformen kann zwischen den Bildaufnahmeeinrichtungen 122, 124 und 126 eine Verschiebung nach vorne oder hinten (z.B. eine Entfernungsverschiebung) bestehen. Beispielsweise kann sich die Bildaufnahmeeinrichtung 122 0,5 bis 2 Meter oder mehr hinter der Bildaufnahmeeinrichtung 124 und/oder der Bildaufnahmeeinrichtung 126 befinden. Durch diese Art der Verschiebung kann eine der Bildaufnahmeeinrichtungen mögliche tote Winkel der anderen Bildaufnahmeeinrichtung(en) abdecken.
  • Die Bildaufnahmeeinrichtungen 122 können ein beliebiges Auflösungsvermögen (z.B. die Anzahl der dem Bildsensor zugehörigen Pixel) aufweisen, und die Auflösung des oder der der Bildaufnahmeeinrichtung 122 zugehörigen Bildsensoren kann höher, niedriger oder gleich sein wie die Auflösung des oder der den Bildaufnahmeeinrichtungen 124 und 126 zugehörigen Bildsensoren. In einigen Ausführungsformen können der oder die der Bildaufnahmeeinrichtung 122 und/oder den Bildaufnahmeeinrichtungen 124 und 126 zugehörigen Bildsensoren eine Auflösung von 640 x 480, 1024 x 768, 1280 x 960 oder eine beliebige andere geeignete Auflösung aufweisen.
  • Die Rahmenrate (z.B. die Rate, mit der eine Bildaufnahmeeinrichtung einen Satz von Pixeldaten eines Bildrahmens erfasst, bevor es zur Erfassung von Pixeldaten des nächsten Bildrahmens übergeht) kann steuerbar sein. Die der Bildaufnahmeeinrichtung 122 zugehörige Rahmenrate kann höher, niedriger oder gleich sein wie die den Bildaufnahmeeinrichtungen 124 und 126 zugehörige Rahmenrate. Die den Bildaufnahmeeinrichtungen 122, 124 und 126 zugehörige Rahmenrate kann von einer Vielzahl von Faktoren abhängen, die das Timing der Rahmenrate beeinflussen können. Beispielsweise kann eine oder mehrere der Bildaufnahmeeinrichtungen 122, 124 und 126 eine wählbare Pixelverzögerungsperiode beinhalten, die vor oder nach der Erfassung von Bilddaten, die mit einem oder mehreren Pixeln eines Bildsensors in der Bildaufnahmeeinrichtung 122, 124 und/oder 126 verbunden sind, eingeführt wird. Grundsätzlich können jedem Pixel entsprechende Bilddaten gemäß einer Taktrate für die Einrichtung erfasst werden (z.B. ein Pixel pro Taktzyklus). In Ausführungsformen mit Rolling Shutter kann zudem eine oder mehrere der Bildaufnahmeeinrichtungen 122, 124 und 126 eine wählbare Horizontal-Austastperiode enthalten, die vor oder nach der Erfassung von Bilddaten eingeführt wird, die mit einer Reihe von Pixeln eines Bildsensors in der Bildaufnahmeeinrichtung 122, 124 und/oder 126 verbunden sind. Ferner können eine oder mehrere der Bildaufnahmeeinrichtungen 122, 124 und/oder 126 eine wählbare Vertikal-Austastperiode beinhalten, die vor oder nach der Erfassung von Bilddaten eingeführt wird, die mit einem Bildrahmen der Bildaufnahmeeinrichtung 122, 124 und 126 verbunden sind.
  • Diese Zeitsteuerungen können die Synchronisierung von den Bildaufnahmeeinrichtungen 122, 124 und 126 zugehörigen Rahmenraten ermöglichen, selbst wenn die Zeilenabtastraten der einzelnen Einrichtungen unterschiedlich sind. Wie weiter unten noch näher erläutert wird, können diese wählbaren Zeitsteuerungen neben anderen Faktoren (z.B. Bildsensorauflösung, maximale Zeilenabtastraten usw.) eine Synchronisierung der Bildaufnahme aus einem Bereich ermöglichen, in dem sich das FOV der Bildaufnahmeeinrichtung 122 mit einem oder mehreren FOVs der Bildaufnahmeeinrichtungen 124 und 126 überschneidet, selbst wenn sich das Sichtfeld der Bildaufnahmeeinrichtung 122 von den FOVs der Bildaufnahmeeinrichtungen 124 und 126 unterscheidet.
  • Das Timing der Rahmenrate in den Bildaufnahmeeinrichtungen 122, 124 und 126 kann von der Auflösung der zugehörigen Bildsensoren abhängen. Wenn beispielsweise eine Einrichtung einen Bildsensor mit einer Auflösung von 640 x 480 und eine andere Einrichtung einen Bildsensor mit einer Auflösung von 1280 x 960 aufweist, wird bei ähnlichen Zeilenabtastraten für beide Einrichtungen für die Aufnahme eines Bildes mit dem Sensor mit der höheren Auflösung mehr Zeit benötigt.
  • Ein weiterer Faktor, der das Timing der Bilddatenerfassung in den Bildaufnahmeeinrichtungen 122, 124 und 126 beeinflussen kann, ist die maximale Zeilenabtastrate. Beispielsweise erfordert die Erfassung einer Reihe von Bilddaten von einem Bildsensor, der in den Bildaufnahmeeinrichtungen 122, 124 und 126 enthalten ist, eine gewisse Mindestzeit. Unter der Annahme, dass keine Pixelverzögerungszeiten hinzugefügt werden, hängt diese Mindestzeit für die Erfassung einer Reihe von Bilddaten mit der maximalen Zeilenabtastrate für eine jeweilige Einrichtung zusammen. Einrichtungen, die eine höhere maximale Zeilenabtastrate bieten, haben das Potenzial, höhere Rahmenraten zu liefern als Einrichtungen mit einer niedrigeren maximalen Zeilenabtastrate. In einigen Ausführungsformen können eine oder mehrere der Bildaufnahmeeinrichtungen 124 und 126 eine maximale Zeilenabtastrate aufweisen, die höher ist als die maximale Zeilenabtastrate der Bildaufnahmeeinrichtung 122. In einigen Ausführungsformen kann die maximale Zeilenabtastrate der Bildaufnahmeeinrichtung 124 und/oder 126 das 1,25-, 1,5-, 1,75- oder 2-fache oder mehr der maximalen Zeilenabtastrate der Bildaufnahmeeinrichtung 122 betragen.
  • In einer anderen Ausführungsform können die Bildaufnahmeeinrichtungen 122, 124 und 126 die gleiche maximale Zeilenabtastrate aufweisen, aber die Bildaufnahmeeinrichtung 122 kann mit einer Abtastrate betrieben werden, die geringer oder gleich ihrer maximalen Abtastrate ist. Das System kann so konfiguriert sein, dass eine oder mehrere der Bildaufnahmeeinrichtungen 124 und 126 mit einer Zeilenabtastrate arbeiten, die gleich der Zeilenabtastrate der Bildaufnahmeeinrichtung 122 ist. In anderen Fällen kann das System so konfiguriert sein, dass die Zeilenabtastrate der Bildaufnahmeeinrichtung 124 und/oder der Bildaufnahmeeinrichtung 126 das 1,25-, 1,5-, 1,75- oder 2-fache oder mehr der Zeilenabtastrate der Bildaufnahmeeinrichtung 122 beträgt.
  • In einigen Ausführungsformen können die Bildaufnahmeeinrichtungen 122, 124 und 126 asymmetrisch sein. Das heißt, sie können Kameras mit unterschiedlichen Sichtfeldern (FOVs) und Brennweiten beinhalten. Die Sichtfelder der Bildaufnahmeeinrichtungen 122, 124 und 126 können jeden gewünschten Bereich in Bezug auf die Umgebung des Fahrzeugs 200 beinhalten. In einigen Ausführungsformen können eine oder mehrere der Bildaufnahmeeinrichtungen 122, 124 und 126 so konfiguriert sein, dass sie Bilddaten von einer Umgebung vor dem Fahrzeug 200, hinter dem Fahrzeug 200, an den Seiten des Fahrzeugs 200 oder Kombinationen davon erfassen.
  • Darüber hinaus kann die Brennweite jeder Bildaufnahmeeinrichtung 122, 124 und/oder 126 wählbar sein (z.B. durch Einbeziehen geeigneter Objektive usw.), so dass jede Einrichtung Bilder von Objekten in einem gewünschten Entfernungsbereich relativ zum Fahrzeug 200 erfasst. In einigen Ausführungsformen können die Bildaufnahmeeinrichtungen 122, 124 und 126 beispielsweise Bilder von nahe gelegenen Objekten erfassen, die sich nur wenige Meter vom Fahrzeug entfernt befinden. Die Bildaufnahmeeinrichtungen 122, 124 und 126 können auch so konfiguriert sein, dass sie Bilder von Objekten erfassen, die weiter vom Fahrzeug entfernt sind (z.B. 25 m, 50 m, 100 m, 150 m oder mehr). Ferner können die Brennweiten der Bildaufnahmeeinrichtungen 122, 124 und 126 so gewählt werden, dass eine Bildaufnahmeeinrichtung (z.B. die Bildaufnahmeeinrichtung 122) Bilder von Objekten erfassen kann, die sich relativ nahe am Fahrzeug befinden (z.B. innerhalb von 10 m oder innerhalb von 20 m), während die anderen Bildaufnahmeeinrichtungen (z.B. die Bildaufnahmeeinrichtungen 124 und 126) Bilder von weiter entfernten Objekten (z.B. mehr als 20 m, 50 m, 100 m, 150 m usw.) vom Fahrzeug 200 erfassen können.
  • In einigen Ausführungsformen kann das Sichtfeld einer oder mehrerer Bildaufnahmeeinrichtungen 122, 124 und 126 einen weiten Winkel aufweisen. So kann es beispielsweise vorteilhaft sein, ein FOV von 140 Grad zu haben, insbesondere für die Bildaufnahmeeinrichtungen 122, 124 und 126, die zur Aufnahme von Bildern des Bereichs in der Nähe des Fahrzeugs 200 verwendet werden können. Beispielsweise kann die Bildaufnahmeeinrichtung 122 verwendet werden, um Bilder des Bereichs rechts oder links vom Fahrzeug 200 zu erfassen, und in solchen Ausführungsformen kann es wünschenswert sein, dass die Bildaufnahmeeinrichtung 122 ein breites FOV (z.B. mindestens 140 Grad) aufweist.
  • Das Sichtfeld der jeweiligen Bildaufnahmeeinrichtungen 122, 124 und 126 kann von den jeweiligen Brennweiten abhängen. So nimmt beispielsweise mit zunehmender Brennweite das entsprechende Sichtfeld ab.
  • Die Bildaufnahmeeinrichtungen 122, 124 und 126 können so konfiguriert sein, dass sie ein beliebiges geeignetes Sichtfeld aufweisen. In einem bestimmten Beispiel kann die Bildaufnahmeeinrichtung 122 ein horizontales FOV von 46 Grad, die Bildaufnahmeeinrichtung 124 ein horizontales FOV von 23 Grad und die Bildaufnahmeeinrichtung 126 ein horizontales FOV zwischen 23 und 46 Grad aufweisen. In einem anderen Fall kann die Bildaufnahmeeinrichtung 122 ein horizontales FOV von 52 Grad, die Bildaufnahmeeinrichtung 124 ein horizontales FOV von 26 Grad und die Bildaufnahmeeinrichtung 126 ein horizontales FOV zwischen 26 und 52 Grad aufweisen. In einigen Ausführungsformen kann das Verhältnis zwischen dem FOV der Bildaufnahmeeinrichtung 122 und den FOVs der Bildaufnahmeeinrichtung 124 und/oder der Bildaufnahmeeinrichtung 126 zwischen 1,5 und 2,0 liegen. In anderen Ausführungsformen kann dieses Verhältnis zwischen 1,25 und 2,25 variieren.
  • Das System 100 kann so konfiguriert sein, dass sich ein Sichtfeld der Bildaufnahmeeinrichtung 122 zumindest teilweise oder vollständig mit einem Sichtfeld der Bildaufnahmeeinrichtung 124 und/oder der Bildaufnahmeeinrichtung 126 überschneidet. In einigen Ausführungsformen kann das System 100 so konfiguriert sein, dass die Sichtfelder der Bildaufnahmeeinrichtungen 124 und 126 beispielsweise in das Sichtfeld der Bildaufnahmeeinrichtung 122 fallen (z.B. schmaler sind als dieses) und einen gemeinsamen Mittelpunkt mit diesem aufweisen. In anderen Ausführungsformen können die Bildaufnahmeeinrichtungen 122, 124 und 126 benachbarte FOVs erfassen oder teilweise Überlappung in ihren FOVs aufweisen. In einigen Ausführungsformen können die Sichtfelder der Bildaufnahmeeinrichtungen 122, 124 und 126 so ausgerichtet sein, dass sich eine Mitte der Bildaufnahmeeinrichtungen 124 und/oder 126 mit dem engeren FOV in einer unteren Hälfte des Sichtfelds der Einrichtung 122 mit dem weiteren FOV befindet.
  • 2F ist eine schematische Darstellung von beispielhaften Fahrzeugsteuersystemen gemäß den offenbarten Ausführungsformen. Wie in 2F dargestellt, kann das Fahrzeug 200 ein Gasregelsystem 220, ein Bremssystem 230 und ein Lenksystem 240 beinhalten. Das System 100 kann Eingaben (z.B. Steuersignale) an das Gasregelsystem 220 und/oder das Bremssystem 230 und/oder das Lenksystem 240 über eine oder mehrere Datenverbindungen (z.B. eine oder mehrere drahtgebundene und/oder drahtlose Verbindungen zur Datenübertragung) liefern. Beispielsweise kann das System 100 auf Grundlage einer Analyse von Bildern, die von den Bildaufnahmeeinrichtungen 122, 124 und/oder 126 erfasst wurden, Steuersignale an das Gasregelsystem 220 und/oder das Bremssystem 230 und/oder das Lenksystem 240 liefern, um das Fahrzeug 200 zu navigieren (z.B. durch Bewirken einer Beschleunigung, eines Abbiegens, eines Spurwechsels usw.). Ferner kann das System 100 Eingaben vom Gasregelsystem (220) und/oder dem Bremssystem (230) und/oder dem Lenksystem (24) empfangen, die Betriebsbedingungen des Fahrzeugs 200 anzeigen (z.B. die Geschwindigkeit, ob das Fahrzeug 200 bremst und/oder abbiegt usw.). Weitere Einzelheiten werden im Zusammenhang mit 4 bis 7 beschrieben.
  • Wie in 3A gezeigt, kann das Fahrzeug 200 zudem eine Benutzerschnittstelle 170 für die Interaktion mit einem Fahrer oder einem Fahrgast des Fahrzeugs 200 beinhalten. Beispielsweise kann die Benutzerschnittstelle 170 in einer Fahrzeuganwendung einen Touchscreen 320, Knöpfe 330, Schaltflächen 340 und ein Mikrofon 350 umfassen. Ein Fahrer oder Fahrgast des Fahrzeugs 200 kann auch Griffe (z.B. an oder in der Nähe der Lenksäule des Fahrzeugs 200, z.B. Blinkergriffe), Schaltflächen (z.B. am Lenkrad des Fahrzeugs 200) und dergleichen verwenden, um mit dem System 100 zu interagieren. In einigen Ausführungsformen kann das Mikrofon 350 in der Nähe eines Rückspiegels 310 positioniert sein. Ebenso kann sich in einigen Ausführungsformen die Bildaufnahmeeinrichtung 122 in der Nähe des Rückspiegels 310 befinden. In einigen Ausführungsformen kann die Benutzerschnittstelle 170 auch einen oder mehrere Lautsprecher 360 (z.B. Lautsprecher eines Fahrzeug-Audiosystems) beinhalten. So kann das System 100 beispielsweise verschiedene Benachrichtigungen (z.B. Alarme) über die Lautsprecher 360 ausgeben.
  • 3B bis 3D sind Darstellungen einer beispielhaften Kamerahalterung 370, die gemäß den offenbarten Ausführungsformen so konfiguriert ist, dass sie hinter einem Rückspiegel (z.B. dem Rückspiegel 310) und an einer Fahrzeugwindschutzscheibe positioniert werden kann. Wie in 3B gezeigt, kann die Kamerahalterung 370 Bildaufnahmeeinrichtungen 122, 124 und 126 beinhalten. Die Bildaufnahmeeinrichtungen 124 und 126 können hinter einem Blendschutz 380 positioniert sein, der bündig an der Windschutzscheibe des Fahrzeugs anliegen kann und eine Zusammensetzung aus Folie und/oder antireflektierenden Materialien enthalten kann. Der Blendschutz 380 kann beispielsweise so positioniert sein, dass er sich an einer Fahrzeugwindschutzscheibe mit entsprechender Neigung ausrichtet. In einigen Ausführungsformen kann jede der Bildaufnahmeeinrichtungen 122, 124 und 126 hinter dem Blendschutz 380 positioniert sein, wie beispielsweise in 3D dargestellt. Die offenbarten Ausführungsformen sind nicht auf eine bestimmte Konfiguration der Bildaufnahmeeinrichtungen 122, 124 und 126, der Kamerahalterung 370 und des Blendschutzes 380 beschränkt. 3C ist eine Darstellung der in 3B gezeigten Kamerahalterung 370 aus einer Frontperspektive.
  • Wie ein der vorliegenden Offenbarung kundiger Fachmann versteht, können zahlreiche Variationen und/oder Modifikationen an den vorstehend offenbarten Ausführungsformen vorgenommen werden. So sind beispielsweise nicht alle Komponenten für den Betrieb des Systems 100 erforderlich. Darüber hinaus kann sich jede Komponente in jedem geeigneten Teil des Systems 100 befinden, und die Komponenten können in einer Vielzahl von Konfigurationen neu angeordnet werden, wobei die Funktionalität der offenbarten Ausführungsformen erhalten bleibt. Somit handelt es sich bei den vorstehenden Konfigurationen um Beispiele, und unabhängig von den vorstehend beschriebenen Konfigurationen kann das System 100 eine breite Palette von Funktionen zur Analyse der Umgebung des Fahrzeugs 200 und zur Navigation des Fahrzeugs 200 in Reaktion auf die Analyse bieten.
  • Wie nachstehend näher erläutert, kann gemäß verschiedenen offenbarten Ausführungsformen das System 100 eine Vielzahl von Funktionen in Bezug auf autonomes Fahren und/oder Fahrerassistenztechnologie bieten. Das System 100 kann zum Beispiel Bilddaten, Positionsdaten (z.B. GPS-Standortinformationen), Kartendaten, Geschwindigkeitsdaten und/oder Daten von Sensoren im Fahrzeug 200 analysieren. Das System 100 kann die Daten für die Analyse beispielsweise von der Bilderfassungseinheit 120, dem Positionssensor 130 und anderen Sensoren sammeln. Darüber hinaus kann das System 100 die gesammelten Daten analysieren, um zu bestimmen, ob das Fahrzeug 200 eine bestimmte Aktion durchführen sollte, und dann automatisch die bestimmte Aktion ohne menschliches Eingreifen durchführen. Wenn das Fahrzeug 200 beispielsweise ohne menschliches Eingreifen navigiert, kann das System 100 automatisch das Bremsen, die Beschleunigung und/oder die Lenkung des Fahrzeugs 200 steuern (z.B. durch Senden von Steuersignalen an das Gasregelsystem 220 und/oder das Bremssystem 230 und/oder das Lenksystem 240). Ferner kann das System 100 die gesammelten Daten analysieren und auf Grundlage der Analyse der gesammelten Daten Warnungen und/oder Alarme an Fahrzeuginsassen ausgeben. Weitere Einzelheiten zu den verschiedenen Ausführungsformen, die das System 100 bietet, werden im Folgenden beschrieben.
  • Nach vorne gerichtetes Mehrfach-Bildgebungssystem
  • Wie vorstehend beschrieben, kann das System 100 Fahrassistenzfunktionalität bieten, die ein Mehrkamerasystem verwendet. Das Mehrkamerasystem kann eine oder mehrere Kameras verwenden, die in die Vorwärtsrichtung eines Fahrzeugs gerichtet sind. In anderen Ausführungsformen kann das Mehrkamerasystem eine oder mehrere Kameras beinhalten, die zur Seite oder zum Heck des Fahrzeugs gerichtet sind. In einer Ausführungsform kann das System 100 beispielsweise ein Zwei-Kamera-Bildgebungssystem verwenden, bei dem eine erste Kamera und eine zweite Kamera (z.B. die Bildaufnahmeeinrichtungen 122 und 124) an der Vorderseite und/oder an den Seiten eines Fahrzeugs (z.B. des Fahrzeugs 200) positioniert sein können. Die erste Kamera kann ein Sichtfeld aufweisen, das größer oder kleiner ist als das Sichtfeld der zweiten Kamera oder sich teilweise mit diesem überschneidet. Zudem kann die erste Kamera mit einem ersten Bildprozessor verbunden sein, um eine monokulare Bildanalyse der von der ersten Kamera gelieferten Bilder durchzuführen, und die zweite Kamera kann mit einem zweiten Bildprozessor verbunden sein, um eine monokulare Bildanalyse der von der zweiten Kamera gelieferten Bilder durchzuführen. Die Ausgaben (z.B. verarbeitete Informationen) des ersten und des zweiten Bildprozessors können kombiniert werden. In einigen Ausführungsformen kann der zweite Bildprozessor Bilder sowohl von der ersten als auch von der zweiten Kamera empfangen, um eine Stereoanalyse durchzuführen. In einer anderen Ausführungsform kann das System 100 ein Bildgebungssystem mit drei Kameras verwenden, wobei jede der Kameras ein anderes Sichtfeld aufweist. Ein solches System kann daher Entscheidungen auf Grundlage von Informationen treffen, die von Objekten stammen, die sich in unterschiedlichen Entfernungen sowohl vor dem als auch seitlich des Fahrzeugs befinden. Der Begriff „monokulare Bildanalyse“ kann sich auf Fälle beziehen, in denen Bildanalyse auf Grundlage von Bildern durchgeführt wird, die von einem einzigen Blickwinkel aus aufgenommen wurden (z.B. von einer einzigen Kamera). Stereobildanalyse kann sich auf Fälle beziehen, in denen Bildanalyse auf Grundlage von zwei oder mehr Bildern durchgeführt wird, die mit einer oder mehreren Variationen eines Bildaufnahmeparameters aufgenommen wurden. Zu aufgenommenen Bildern, die sich für die Durchführung einer Stereobildanalyse eignen, können beispielsweise Bilder zählen, die aus zwei oder mehr verschiedenen Positionen, aus unterschiedlichen Sichtfeldern, mit unterschiedlichen Brennweiten, zusammen mit Parallaxeninformationen usw. aufgenommen wurden.
  • In einer Ausführungsform kann das System 100 beispielsweise eine Konfiguration mit drei Kameras unter Verwendung der Bildaufnahmeeinrichtungen 122, 124 und 126 implementieren. In einer solchen Konfiguration kann die Bildaufnahmeeinrichtung 122 ein enges Sichtfeld liefern (z.B. 34 Grad oder andere Werte, die aus einem Bereich von etwa 20 bis 45 Grad usw. ausgewählt sind), die Bildaufnahmeeinrichtung 124 kann ein breites Sichtfeld liefern (z.B. 150 Grad oder andere Werte, die aus einem Bereich von etwa 100 bis etwa 180 Grad ausgewählt sind), und die Bildaufnahmeeinrichtung 126 kann ein mittleres Sichtfeld liefern (z.B. 46 Grad oder andere Werte, die aus einem Bereich von etwa 35 bis etwa 60 Grad ausgewählt sind). In einigen Ausführungsformen kann die Bildaufnahmeeinrichtung 126 als Haupt- oder Primärkamera fungieren. Die Bildaufnahmeeinrichtungen 122, 124 und 126 können hinter dem Rückspiegel 310 und im Wesentlichen nebeneinander angeordnet sein (z.B. mit 6 cm Abstand). Ferner können in einigen Ausführungsformen, wie vorstehend beschrieben, eine oder mehrere der Bildaufnahmeeinrichtungen 122, 124 und 126 hinter dem Blendschutz 380 montiert sein, der mit der Windschutzscheibe des Fahrzeugs 200 bündig ist. Eine solche Abschirmung kann dazu beitragen, die Auswirkungen von Reflexionen aus dem Fahrzeuginneren auf die Bildaufnahmeeinrichtungen 122, 124 und 126 zu minimieren.
  • In einer anderen Ausführungsform kann die Kamera mit dem weiten Sichtfeld (z.B. die Bildaufnahmeeinrichtung 124 im vorstehenden Beispiel) niedriger angebracht sein als die Kameras mit dem schmalen und dem großen Sichtfeld (z.B. die Bildaufnahmeeinrichtungen 122 und 126 im vorstehenden Beispiel). Diese Konfiguration kann eine freie Sichtlinie von der Weitwinkelkamera aus ermöglichen. Zur Verringerung von Reflexionen können die Kameras nahe an der Windschutzscheibe des Fahrzeugs 200 montiert sein und Polarisatoren beinhalten, um reflektiertes Licht zu dämpfen.
  • Ein System mit drei Kameras kann bestimmte Leistungsmerkmale aufweisen. Einige Ausführungsformen können zum Beispiel die Möglichkeit beinhalten, die Erkennung von Objekten durch eine Kamera anhand der Erkennungsergebnisse einer anderen Kamera zu überprüfen. In der vorstehend beschriebenen Konfiguration mit drei Kameras kann die Verarbeitungseinheit 110 beispielsweise drei Verarbeitungseinrichtungen beinhalten (z.B. drei Prozessorchips der EyeQ-Serie, wie vorstehend beschrieben), wobei jede Verarbeitungseinrichtung für die Verarbeitung von Bildern zuständig ist, die von einem oder mehreren der Bildaufnahmeeinrichtungen 122, 124 und 126 aufgenommen wurden.
  • In einem System mit drei Kameras kann eine erste Verarbeitungsvorrichtung Bilder sowohl von der Hauptkamera als auch von der Kamera mit engem Sichtfeld empfangen und eine Bildverarbeitung der Kamera mit engem FOV durchführen, um zum Beispiel andere Fahrzeuge, Fußgänger, Fahrspurmarkierungen, Verkehrszeichen, Ampeln und andere Straßenobjekte zu erkennen. Darüber hinaus kann die erste Verarbeitungseinrichtung eine Disparität von Pixeln zwischen den Bildern der Hauptkamera und der engen Kamera berechnen und eine 3D-Rekonstruktion der Umgebung des Fahrzeugs 200 erstellen. Die erste Verarbeitungseinrichtung kann dann die 3D-Rekonstruktion mit 3D-Kartendaten oder mit 3D-Informationen kombinieren, die auf Grundlage von Informationen einer anderen Kamera berechnet wurden.
  • Die zweite Verarbeitungseinrichtung kann Bilder von der Hauptkamera empfangen und eine Bildverarbeitung durchführen, um andere Fahrzeuge, Fußgänger, Fahrspurmarkierungen, Verkehrszeichen, Ampeln und andere Straßenobjekte zu erkennen. Zusätzlich kann die zweite Verarbeitungseinrichtung eine Kameraverschiebung berechnen und auf Grundlage der Verschiebung eine Disparität von Pixeln zwischen aufeinanderfolgenden Bildern berechnen und eine 3D-Rekonstruktion der Szene erstellen (z.B. eine Struktur aus Bewegung). Die zweite Verarbeitungseinrichtung kann die Struktur aus der bewegungsbasierten 3D-Rekonstruktion an die erste Verarbeitungseinrichtung senden, um sie mit den 3D-Stereobildem zu kombinieren.
  • Die dritte Verarbeitungseinrichtung kann Bilder von der Kamera mit weitem FOV empfangen und die Bilder verarbeiten, um Fahrzeuge, Fußgänger, Fahrspurmarkierungen, Verkehrszeichen, Ampeln und andere Straßenobjekte zu erkennen. Die dritte Verarbeitungseinrichtung kann ferner zusätzliche Verarbeitungsanweisungen ausführen, um Bilder zu analysieren und Objekte zu identifizieren, die sich im Bild bewegen, wie z.B. Fahrzeuge, die die Fahrspur wechseln, Fußgänger usw.
  • In einigen Ausführungsformen können Ströme bildbasierter Informationen, die unabhängig voneinander aufgenommen und verarbeitet werden, eine Möglichkeit bieten, Redundanz im System zu schaffen. Eine solche Redundanz kann beispielsweise darin bestehen, dass eine erste Bildaufnahmeeinrichtung und die von dieser Einrichtung verarbeiteten Bilder verwendet werden, um Informationen zu validieren und/oder zu ergänzen, die durch Aufnehmen und Verarbeiten von Bildinformationen von zumindest einer zweiten Bildaufnahmeeinrichtung gewonnen wurden.
  • In einigen Ausführungsformen kann das System 100 zwei Bildaufnahmeeinrichtungen (z.B. die Bildaufnahmeeinrichtungen 122 und 124) für die Navigationsunterstützung des Fahrzeugs 200 verwenden und eine dritte Bildaufnahmeeinrichtung (z.B. die Bildaufnahmeeinrichtung 126) einsetzen, um Redundanz zu schaffen und die Analyse der von den beiden anderen Bildaufnahmeeinrichtungen empfangenen Daten zu validieren. Zum Beispiel können in einer solchen Konfiguration die Bildaufnahmeeinrichtungen 122 und 124 Bilder für Stereoanalyse durch das System 100 zur Navigation des Fahrzeugs 200 liefern, während die Bildaufnahmeeinrichtung 126 Bilder für monokulare Analyse durch das System 100 liefern kann, um Redundanz und Validierung von Informationen bereitzustellen, die auf Grundlage von Bildern gewonnen wurden, die von der Bildaufnahmeeinrichtung 122 und/oder von der Bildaufnahmeeinrichtung 124 aufgenommen wurden. Das heißt, die Bildaufnahmeeinrichtung 126 (und eine entsprechende Verarbeitungseinrichtung) kann als redundantes Teilsystem betrachtet werden, um die von den Bildaufnahmeeinrichtungen 122 und 124 abgeleitete Analyse zu überprüfen (z.B. um ein automatisches Notbrems- (AEB, automatic emergency braking) System bereitzustellen). Darüber hinaus kann in einigen Ausführungsformen Redundanz und Validierung der empfangenen Daten auf Grundlage von Informationen ergänzt werden, die von einem oder mehreren Sensoren (z.B. Radar, Lidar, akustische Sensoren, Informationen von einem oder mehreren Sendeempfängern außerhalb des Fahrzeugs usw.) empfangen werden.
  • Ein Fachmann versteht, dass es sich bei den vorstehend genannten Kamerakonfigurationen, Kameraplatzierungen, der Anzahl der Kameras, den Kamerapositionen usw. nur um Beispiele handelt. Diese und andere Komponenten, die im Zusammenhang mit dem Gesamtsystem beschrieben werden, können in einer Vielzahl unterschiedlicher Konfigurationen zusammengebaut und verwendet werden, ohne vom Umfang der offenbarten Ausführungsformen abzuweichen. Weitere Einzelheiten zur Verwendung eines Mehrkamerasystems zur Bereitstellung von Fahrerassistenz- und/oder autonomen Fahrzeugfunktionen folgen nachstehend.
  • 4 ist ein beispielhaftes funktionales Blockdiagramm des Speichers 140 und/oder 150, der mit Anweisungen zum Durchführen eines oder mehrerer Arbeitsschritte gemäß den offenbarten Ausführungsformen gespeichert/programmiert werden kann. Auch wenn sich die folgenden Ausführungen auf den Speicher 140 beziehen, wird ein Fachmann erkennen, dass die Anweisungen im Speicher 140 und/oder 150 gespeichert werden können.
  • Wie in 4 gezeigt, kann der Speicher 140 ein Monokularbildanalysemodul 402, ein Stereobildanalysemodul 404, ein Geschwindigkeitsvektor- und Beschleunigungsmodul 406 und ein Navigationsreaktionsmodul 408 speichern. Die offenbarten Ausführungsformen sind nicht auf eine bestimmte Konfiguration des Speichers 140 beschränkt. Ferner kann der Anwendungsprozessor 180 und/oder der Bildprozessor 190 die in beliebigen der Module 402, 404, 406 und 408 des Speichers 140 gespeicherten Anweisungen ausführen. Ein Fachmann versteht, dass sich Verweise auf die Verarbeitungseinheit 110 in den folgenden Ausführungen auf den Anwendungsprozessor 180 und den Bildprozessor 190 einzeln oder gemeinsam beziehen können. Dementsprechend können Schritte jedes der nachstehenden Prozesse von einer oder mehreren Verarbeitungseinrichtungen durchgeführt werden.
  • In einer Ausführungsform kann das Monokularbildanalysemodul 402 Anweisungen (wie beispielsweise Computer-Vision-Software) speichern, die bei Ausführung durch die Verarbeitungseinheit 110 monokulare Bildanalyse eines Satzes von Bildern durchführen, die von einer der Bildaufnahmeeinrichtungen 122, 124 und 126 erfasst wurden. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Informationen aus einem Satz von Bildern mit zusätzlichen sensorischen Informationen (z.B. Informationen von Radar, Lidar usw.) kombinieren, um die monokulare Bildanalyse durchzuführen. Wie in Verbindung mit 5A-5D unten beschrieben, kann das Monokularbildanalysemodul 402 Anweisungen zum Erkennen eines Satzes von Merkmalen innerhalb des Satzes von Bildern enthalten, wie beispielsweise Fahrspurmarkierungen, Fahrzeuge, Fußgänger, Straßenschilder, Autobahnausfahrten, Ampeln, gefährliche Objekte und jedes andere Merkmal, das mit einer Umgebung eines Fahrzeugs zusammenhängt. Basierend auf der Analyse kann das System 100 (z.B. über die Verarbeitungseinheit 110) eine oder mehrere Navigationsreaktionen im Fahrzeug 200 bewirken, wie z.B. ein Abbiegen, einen Spurwechsel, eine Änderung der Beschleunigung und dergleichen, wie nachstehend im Zusammenhang mit dem Navigationsreaktionsmodul 408 beschrieben.
  • In einer Ausführungsform kann das Stereobildanalysemodul 404 Anweisungen (z.B. Computer-Vision-Software) speichern, die bei Ausführung durch die Verarbeitungseinheit 110 eine Stereobildanalyse eines ersten und eines zweiten Satzes von Bildern durchführen, die von einer Kombination von Bildaufnahmeeinrichtungen erfasst wurden, die aus einer der Bildaufnahmeeinrichtungen 122, 124 und 126 ausgewählt ist. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Informationen aus dem ersten und dem zweiten Satz von Bildern mit zusätzlichen sensorischen Informationen (z.B. Informationen vom Radar) kombinieren, um die Stereobildanalyse durchzuführen. Beispielsweise kann das Stereobildanalysemodul 404 Anweisungen zum Durchführen einer Stereobildanalyse auf Grundlage eines ersten Satzes von Bildern, die von der Bildaufnahmeeinrichtung 124 erfasst wurden, und eines zweiten Satzes von Bildern, die von der Bildaufnahmeeinrichtung 126 erfasst wurden, beinhalten. Wie in Verbindung mit 6 nachstehend beschrieben, kann das Stereobildanalysemodul 404 Anweisungen zum Erkennen eines Satzes von Merkmalen innerhalb des ersten und des zweiten Satzes von Bildern beinhalten, wie beispielsweise Fahrspurmarkierungen, Fahrzeuge, Fußgänger, Straßenschilder, Autobahnausfahrten, Ampeln, gefährliche Objekte und dergleichen. Basierend auf der Analyse kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen im Fahrzeug 200 bewirken, wie z.B. ein Abbiegen, einen Spurwechsel, eine Änderung der Beschleunigung und dergleichen, wie nachstehend im Zusammenhang mit dem Navigationsreaktionsmodul 408 beschrieben. Darüber hinaus kann das Stereobildanalysemodul 404 in einigen Ausführungsformen Methoden im Zusammenhang mit einem trainierten System (beispielsweise einem neuronalen Netz oder einem tiefen neuronalen Netz) oder einem untrainierten System implementieren, wie beispielsweise einem System, das so konfiguriert sein kann, dass es Computer-Vision-Algorithmen verwendet, um Objekte in einer Umgebung, aus der sensorische Informationen aufgenommen und verarbeitet werden, zu erkennen und/oder zu kennzeichnen. In einer Ausführungsform kann das Stereobildanalysemodul 404 und/oder andere Bildverarbeitungsmodule so konfiguriert sein, dass eine Kombination aus einem trainierten und einem untrainierten System verwendet wird.
  • In einer Ausführungsform kann das Geschwindigkeitsvektor- und Beschleunigungsmodul 406 Software speichern, die so konfiguriert ist, dass sie Daten analysiert, die von einer oder mehreren Rechen- und elektromechanischen Einrichtungen im Fahrzeug 200 empfangen werden, die so konfiguriert sind, dass sie eine Änderung des Geschwindigkeitsvektors und/oder Beschleunigung des Fahrzeugs 200 bewirken. Beispielsweise kann die Verarbeitungseinheit 110 Anweisungen ausführen, die mit dem Geschwindigkeitsvektor- und Beschleunigungsmodul 406 zusammenhängen, um eine Zielgeschwindigkeit für das Fahrzeug 200 auf Grundlage von Daten zu berechnen, die aus der Ausführung des Monokularbildanalysemoduls 402 und/oder des Stereobildanalysemoduls 404 abgeleitet wurden. Solche Daten können beispielsweise eine Zielposition, einen Zielgeschwindigkeitsvektor und/oder eine Zielbeschleunigung, die Position und/oder Geschwindigkeit des Fahrzeugs 200 in Bezug auf ein nahegelegenes Fahrzeug, einen Fußgänger oder ein Straßenobjekt, Positionsinformationen für das Fahrzeug 200 in Bezug auf Fahrspurmarkierungen auf der Straße und dergleichen umfassen. Zudem kann die Verarbeitungseinheit 110 auf Grundlage sensorischer Eingaben (z.B. Informationen vom Radar) und von Eingaben von anderen Systemen des Fahrzeugs 200, wie dem Gasregelsystem 220, dem Bremssystem 230 und/oder dem Lenksystem 240 des Fahrzeugs 200, eine Zielgeschwindigkeit für das Fahrzeug 200 berechnen. Auf Grundlage der berechneten Zielgeschwindigkeit kann die Verarbeitungseinheit 110 elektronische Signale an das Gasregelsystem 220, das Bremssystem 230 und/oder das Lenksystem 240 des Fahrzeugs 200 senden, um eine Änderung des Geschwindigkeitsvektors und/oder der Beschleunigung auszulösen, indem beispielsweise die Bremse physisch betätigt oder das Gaspedal des Fahrzeugs 200 nachgelassen wird.
  • In einer Ausführungsform kann das Navigationsreaktionsmodul 408 Software speichern, die von der Verarbeitungseinheit 110 ausgeführt werden kann, um eine gewünschte Navigationsreaktion auf Grundlage von Daten zu bestimmen, die aus der Ausführung des Monokularbildanalysemoduls 402 und/oder des Stereobildanalysemoduls 404 abgeleitet wurden. Solche Daten können Positions- und Geschwindigkeitsinformationen in Verbindung mit nahegelegenen Fahrzeugen, Fußgängern und Straßenobjekten, Zielpositionsinformationen für das Fahrzeug 200 und dergleichen umfassen. Zusätzlich kann in einigen Ausführungsformen die Navigationsreaktion (teilweise oder vollständig) auf Kartendaten, einer vorbestimmten Position des Fahrzeugs 200 und/oder eines relativen Geschwindigkeitsvektors oder einer relativen Beschleunigung zwischen dem Fahrzeug 200 und einem oder mehreren Objekten basieren, die durch Ausführung des Monokularbildanalysemoduls 402 und/oder des Stereobildanalysemoduls 404 erkannt wurden. Das Navigationsreaktionsmodul 408 kann zudem eine gewünschte Navigationsreaktion basierend auf sensorischen Eingaben (z.B. Informationen vom Radar) und Eingaben von anderen Systemen des Fahrzeugs 200, wie dem Gasregelsystem 220, dem Bremssystem 230 und dem Lenksystem 240 des Fahrzeugs 200, bestimmen. Auf Grundlage der gewünschten Navigationsreaktion kann die Verarbeitungseinheit 110 elektronische Signale an das Gasregelsystem 220, das Bremssystem 230 und das Lenksystem 240 des Fahrzeugs 200 übertragen, um eine gewünschte Navigationsreaktion auszulösen, indem beispielsweise das Lenkrad des Fahrzeugs 200 gedreht wird, um eine Drehung um einen vorbestimmten Winkel zu erreichen. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die Ausgabe des Navigationsreaktionsmoduls 408 (z.B. die gewünschte Navigationsreaktion) als Eingabe für die Ausführung des Geschwindigkeitsvektor- und Beschleunigungsmoduls 406 verwenden, um eine Änderung der Geschwindigkeit des Fahrzeugs 200 zu berechnen.
  • Darüber hinaus kann jedes der vorliegend offenbarten Module (z.B. die Module 402, 404 und 406) Methoden im Zusammenhang mit einem trainierten System (wie beispielsweise einem neuronalen Netz oder einem tiefen neuronalen Netz) oder einem untrainierten System implementieren.
  • 5A ist ein Flussdiagramm, das einen beispielhaften Prozess 500A zum Bewirken einer oder mehrerer Navigationsreaktionen auf Grundlage einer monokularen Bildanalyse gemäß den offenbarten Ausführungsformen zeigt. In Schritt 510 kann die Verarbeitungseinheit 110 eine Vielzahl von Bildern über eine Datenschnittstelle 128 zwischen der Verarbeitungseinheit 110 und der Bilderfassungseinheit 120 empfangen. Beispielsweise kann eine Kamera, die in der Bilderfassungseinheit 120 enthalten ist (z.B. die Bildaufnahmeeinrichtung 122 mit dem Sichtfeld 202), eine Vielzahl von Bildern eines Bereichs vor dem Fahrzeug 200 (oder beispielsweise an den Seiten oder am Heck eines Fahrzeugs) aufnehmen und sie über eine Datenverbindung (z.B. digital, drahtgebunden, USB, drahtlos, Bluetooth usw.) an die Verarbeitungseinheit 110 übertragen. Die Verarbeitungseinheit 110 kann das Monokularbildanalysemodul 402 ausführen, um die Vielzahl von Bildern in Schritt 520 zu analysieren, wie nachstehend in Verbindung mit 5B bis 5D näher beschrieben. Durch Durchführen der Analyse kann die Verarbeitungseinheit 110 einen Satz von Merkmalen innerhalb des Satzes von Bildern erkennen, wie beispielsweise Fahrspurmarkierungen, Fahrzeuge, Fußgänger, Straßenschilder, Autobahnausfahrten, Ampeln und dergleichen.
  • Die Verarbeitungseinheit 110 kann zudem das Monokularbildanalysemodul 402 ausführen, um in Schritt 520 verschiedene Gefahren auf der Straße zu erkennen, wie beispielsweise Teile eines Lkw-Reifens, umgefallene Straßenschilder, lose Fracht, kleine Tiere und dergleichen. Straßengefahren können sich in Struktur, Form, Größe und Farbe unterscheiden, was die Erkennung solcher Gefahren erschweren kann. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 das Monokularbildanalysemodul 402 ausführen, um eine Mehrrahmenanalyse der Vielzahl von Bildern durchzuführen, um Straßengefahren zu erkennen. So kann die Verarbeitungseinheit 110 beispielsweise die Kamerabewegung zwischen aufeinanderfolgenden Bildrahmen abschätzen und die Disparitäten in den Pixeln zwischen den Rahmen berechnen, um eine 3D-Karte der Straße zu erstellen. Die Verarbeitungseinheit 110 kann dann die 3D-Karte verwenden, um die Straßenoberfläche sowie Gefahren oberhalb der Straßenoberfläche zu erkennen.
  • In Schritt 530 kann die Verarbeitungseinheit 110 das Navigationsreaktionsmodul 408 ausführen, um eine oder mehrere Navigationsreaktionen im Fahrzeug 200 auf Grundlage der in Schritt 520 durchgeführten Analyse und der vorstehend in Verbindung mit 4 beschriebenen Methoden zu bewirken. Zu den Navigationsreaktionen können beispielsweise ein Abbiegen, ein Spurwechsel, eine Änderung der Beschleunigung und dergleichen zählen. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Daten verwenden, die aus der Ausführung des Geschwindigkeitsvektor- und Beschleunigungsmoduls 406 abgeleitet wurden, um die eine oder die mehreren Navigationsreaktionen zu bewirken. Zudem können mehrere Navigationsreaktionen gleichzeitig, nacheinander oder in beliebiger Kombination erfolgen. Beispielsweise kann die Verarbeitungseinheit 110 das Fahrzeug 200 veranlassen, eine Spur zu wechseln und dann zu beschleunigen, indem sie beispielsweise nacheinander Steuersignale an das Lenksystem 240 und das Gasregelsystem 220 des Fahrzeugs 200 überträgt. Alternativ kann die Verarbeitungseinheit 110 das Fahrzeug 200 veranlassen, zu bremsen und gleichzeitig die Fahrspur zu wechseln, indem sie beispielsweise gleichzeitig Steuersignale an das Bremssystem 230 und das Lenksystem 240 des Fahrzeugs 200 überträgt.
  • 5B ist ein Flussdiagramm, das einen beispielhaften Prozess 500B zum Erkennen eines oder mehrerer Fahrzeuge und/oder Fußgänger in einem Satz von Bildern gemäß offenbarten Ausführungsformen zeigt. Die Verarbeitungseinheit 110 kann das Monokularbildanalysemodul 402 ausführen, um den Prozess 500B zu implementieren. In Schritt 540 kann die Verarbeitungseinheit 110 einen Satz von Kandidatenobjekten bestimmen, die mögliche Fahrzeuge und/oder Fußgänger darstellen. Beispielsweise kann die Verarbeitungseinheit 110 ein oder mehrere Bilder abtasten, die Bilder mit einem oder mehreren vorgegebenen Mustern vergleichen und in jedem Bild mögliche Stellen identifizieren, die Objekte von Interesse enthalten können (z.B. Fahrzeuge, Fußgänger oder Teile davon). Die vorgegebenen Muster können so gestaltet werden, dass eine hohe Rate von „falschen Treffern“ und eine niedrige Rate von „Fehltreffem“ erreicht wird. Beispielsweise kann die Verarbeitungseinheit 110 einen niedrigen Schwellenwert für die Ähnlichkeit mit vorgegebenen Mustern verwenden, um die Kandidatenobjekte als mögliche Fahrzeuge oder Fußgänger zu identifizieren. Auf diese Weise kann die Verarbeitungseinheit 110 die Wahrscheinlichkeit verringern, dass ein Objekt, das ein Fahrzeug oder einen Fußgänger darstellt, übersehen (z.B. nicht identifiziert) wird.
  • In Schritt 542 kann die Verarbeitungseinheit 110 den Satz von Kandidatenobjekten filtern, um bestimmte Kandidaten (z.B. irrelevante oder weniger relevante Objekte) auf Grundlage von Klassifizierungskriterien auszuschließen. Solche Kriterien können aus verschiedenen Eigenschaften abgeleitet werden, die mit Objekttypen verbunden sind, die in einer Datenbank gespeichert sind (z.B. einer Datenbank, die im Speicher 140 gespeichert ist). Zu den Eigenschaften können Objektform, Abmessungen, Textur, Position (z.B. relativ zum Fahrzeug 200) und dergleichen zählen. Somit kann die Verarbeitungseinheit 110 einen oder mehrere Sätze von Kriterien verwenden, um falsche Kandidaten aus dem Satz von Kandidatenobjekten auszuschließen.
  • In Schritt 544 kann die Verarbeitungseinheit 110 mehrere Rahmen analysieren, um zu bestimmen, ob Objekte in dem Satz von Kandidatenobjekten Fahrzeuge und/oder Fußgänger darstellen. Beispielsweise kann die Verarbeitungseinheit 110 ein erkanntes Kandidatenobjekt über aufeinanderfolgende Rahmen hinweg verfolgen und Rahmen-für-Rahmen-Daten im Zusammenhang mit dem erkannten Objekt sammeln (z.B. Größe, Position relativ zum Fahrzeug 200 usw.). Zudem kann die Verarbeitungseinheit 110 Parameter für das erkannte Objekt schätzen und die Rahmen-für-Rahmen-Positionsdaten des Objekts mit einer vorhergesagten Position vergleichen.
  • In Schritt 546 kann die Verarbeitungseinheit 110 einen Satz von Messungen für die erkannten Objekte erstellen. Solche Messungen können z.B. Positions-, Geschwindigkeitsvektor- und Beschleunigungswerte (relativ zum Fahrzeug 200) in Verbindung mit den erkannten Objekten umfassen. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die Messungen auf Grundlage von Schätzverfahren mit einer Reihe von zeitbasierten Beobachtungen wie Kalman-Filtern oder linearer quadratischer Schätzung (LQE, linear quadratic estimation) und/oder auf Grundlage verfügbarer Modellierungsdaten für verschiedene Objekttypen (z.B. Autos, Lastwagen, Fußgänger, Fahrräder, Straßenschilder usw.) erstellen. Die Kalman-Filter können auf einer Messung eines Maßstabs eines Objekts basieren, wobei die Maßstabsmessung proportional zur Zeit bis zur Kollision ist (z.B. die Zeit, die das Fahrzeug 200 benötigt, um das Objekt zu erreichen). Durch Ausführen der Schritte 540 bis 546 kann die Verarbeitungseinheit 110 somit Fahrzeuge und Fußgänger identifizieren, die in dem Satz aufgenommener Bilder vorkommen, und Informationen (z.B. Position, Geschwindigkeit, Größe) ableiten, die mit den Fahrzeugen und Fußgängern verbunden sind. Auf Grundlage der Identifikation und der abgeleiteten Informationen kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen im Fahrzeug 200 bewirken, wie vorstehend in Verbindung mit 5A beschrieben.
  • In Schritt 548 kann die Verarbeitungseinheit 110 eine optische Flussanalyse eines oder mehrerer Bilder durchführen, um die Wahrscheinlichkeit zu verringern, dass ein „falscher Treffer“ erkannt und ein Objekt, das ein Fahrzeug oder einen Fußgänger darstellt, übersehen wird. Die optische Flussanalyse kann sich beispielsweise auf ein Analysieren von Bewegungsmustern in Bezug auf das Fahrzeug 200 in einem oder mehreren Bildern beziehen, die mit anderen Fahrzeugen und Fußgängern zusammenhängen und sich von einer Bewegung der Straßenoberfläche unterscheiden. Die Verarbeitungseinheit 110 kann die Bewegung der Kandidatenobjekte berechnen, indem sie die unterschiedlichen Positionen der Objekte über mehrere Bildrahmen hinweg beobachtet, die zu unterschiedlichen Zeiten aufgenommen werden. Die Verarbeitungseinheit 110 kann die Positions- und Zeitwerte als Eingaben in mathematische Modelle zur Berechnung der Bewegung der Kandidatenobjekte verwenden. So kann die optische Flussanalyse ein weiteres Verfahren zum Erkennen von Fahrzeugen und Fußgängern bereitstellen, die sich in der Nähe des Fahrzeugs 200 befinden. Die Verarbeitungseinheit 110 kann eine optische Flussanalyse in Kombination mit den Schritten 540 bis 546 durchführen, um Redundanz beim Erkennen von Fahrzeugen und Fußgängern zu schaffen und die Zuverlässigkeit des Systems 100 zu erhöhen.
  • 5C ist ein Flussdiagramm, das einen beispielhaften Prozess 500C zum Erkennen von Fahrbahnmarkierungen und/oder Fahrspurgeometrieinformationen in einem Satz von Bildern gemäß offenbarten Ausführungsformen zeigt. Die Verarbeitungseinheit 110 kann das Monokularbildanalysemodul 402 ausführen, um den Prozess 500C zu implementieren. In Schritt 550 kann die Verarbeitungseinheit 110 durch Abtasten eines oder mehrerer Bilder einen Satz von Objekten erkennen. Um Abschnitte von Fahrbahnmarkierungen, Fahrspurgeometrieinformationen und andere relevante Fahrbahnmarkierungen zu erkennen, kann die Verarbeitungseinheit 110 den Satz von Objekten filtern, um diejenigen auszuschließen, die als irrelevant bestimmt werden (z.B. kleinere Schlaglöcher, kleine Steine usw.). In Schritt 552 kann die Verarbeitungseinheit 110 die in Schritt 550 erkannten Abschnitte, die zur gleichen Fahrbahnmarkierung oder Fahrspurmarkierung gehören, zusammen gruppieren. Auf Grundlage der Gruppierung kann die Verarbeitungseinheit 110 ein Modell zur Darstellung der erkannten Abschnitte entwickeln, beispielsweise ein mathematisches Modell.
  • In Schritt 554 kann die Verarbeitungseinheit 110 einen Satz von Messungen im Zusammenhang mit den erkannten Abschnitten erstellen. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Projektion der erkannten Abschnitte von der Bildebene auf die reale Ebene erstellen. Die Projektion kann durch ein Polynom 3. Grades charakterisiert werden, dessen Koeffizienten physikalischen Eigenschaften wie Position, Neigung, Krümmung und Krümmungsableitung der erkannten Straße entsprechen. Bei der Erstellung der Projektion kann die Verarbeitungseinheit 110 Änderungen der Fahrbahnoberfläche sowie die mit dem Fahrzeug 200 verbundenen Nick- und Rollraten berücksichtigen. Zudem kann die Verarbeitungseinheit 110 die Straßenhöhe modellieren, indem sie die auf der Fahrbahnoberfläche vorhandenen Positions- und Bewegungshinweise analysiert. Ferner kann die Verarbeitungseinheit 110 die mit dem Fahrzeug 200 verbundenen Nick- und Rollraten schätzen, indem sie einen Satz von Merkmalspunkten in einem oder den mehreren Bildern verfolgt.
  • In Schritt 556 kann die Verarbeitungseinheit 110 eine Mehrrahmenanalyse durchführen, indem sie beispielsweise die erkannten Abschnitte über aufeinanderfolgende Bildrahmen hinweg verfolgt und Rahmen-für-Rahmen-Daten im Zusammenhang mit erkannten Abschnitten sammelt. Mit der Durchführung der Mehrrahmenanalyse durch die Verarbeitungseinheit 110 kann der in Schritt 554 erstellte Satz von Messungen zuverlässiger werden und einem zunehmend höheren Konfidenzniveau zugeordnet werden. Durch Ausführen der Schritte 550, 552, 554 und 556 kann die Verarbeitungseinheit 110 somit Fahrbahnmarkierungen in dem Satz aufgenommener Bilder identifizieren und Fahrspurgeometrieinformationen ableiten. Auf Grundlage der Identifikation und der abgeleiteten Informationen kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen im Fahrzeug 200 bewirken, wie vorstehend in Verbindung mit 5A beschrieben.
  • In Schritt 558 kann die Verarbeitungseinheit 110 zusätzliche Informationsquellen berücksichtigen, um ein Sicherheitsmodell für das Fahrzeug 200 im Kontext seiner Umgebung weiter zu entwickeln. Die Verarbeitungseinheit 110 kann das Sicherheitsmodell verwenden, um einen Kontext zu definieren, in dem das System 100 die autonome Steuerung des Fahrzeugs 200 in einer sicheren Weise ausführen kann. Um das Sicherheitsmodell zu entwickeln, kann die Verarbeitungseinheit 110 in einigen Ausführungsformen die Position und Bewegung anderer Fahrzeuge, die erkannten Straßenkanten und Barrieren und/oder allgemeine Beschreibungen der Straßenform berücksichtigen, die aus Kartendaten extrahiert werden (beispielsweise Daten aus der Kartendatenbank 160). Durch die Berücksichtigung zusätzlicher Informationsquellen kann die Verarbeitungseinheit 110 Redundanz bei der Erkennung von Fahrbahnmarkierungen und Fahrspurgeometrie schaffen und die Zuverlässigkeit des Systems 100 erhöhen.
  • 5D ist ein Flussdiagramm, das einen beispielhaften Prozess 500D zum Erkennen von Verkehrsampeln in einem Satz von Bildern gemäß den offenbarten Ausführungsformen zeigt. Die Verarbeitungseinheit 110 kann das Monokularbildanalysemodul 402 ausführen, um den Prozess 500D zu implementieren. In Schritt 560 kann die Verarbeitungseinheit 110 den Satz von Bildern abtasten und Objekte identifizieren, die an Stellen in den Bildern vorkommen, die mit hoher Wahrscheinlichkeit Ampeln enthalten. Beispielsweise kann die Verarbeitungseinheit 110 die identifizierten Objekte filtern, um einen Satz von Kandidatenobjekten zu erstellen, wobei diejenigen Objekte ausgeschlossen werden, bei denen es unwahrscheinlich ist, dass sie Ampeln entsprechen. Die Filterung kann auf Grundlage verschiedener Eigenschaften erfolgen, die mit Verkehrsampeln verbunden sind, wie beispielsweise Form, Abmessungen, Textur, Position (z.B. relativ zum Fahrzeug 200) und dergleichen. Solche Eigenschaften können auf mehreren Beispielen von Ampeln und Verkehrssteuerungssignalen basieren und in einer Datenbank gespeichert sein. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Mehrrahmenanalyse für den Satz von Kandidatenobjekten durchführen, die mögliche Verkehrsampeln widerspiegeln. Beispielsweise kann die Verarbeitungseinheit 110 die Kandidatenobjekte über aufeinanderfolgende Bildrahmen hinweg verfolgen, die reale Position der Kandidatenobjekte schätzen und diejenigen Objekte herausfiltern, die sich bewegen (bei denen es sich wahrscheinlich nicht um Verkehrsampeln handelt). In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Farbanalyse der Kandidatenobjekte durchführen und die relative Position der erkannten Farben innerhalb möglicher Ampeln identifizieren.
  • In Schritt 562 kann die Verarbeitungseinheit 110 die Geometrie einer Kreuzung analysieren. Die Analyse kann auf Grundlage einer beliebigen Kombination der Folgenden erfolgen: (i) die Anzahl von Fahrspuren, die auf beiden Seiten des Fahrzeugs 200 erkannt wurde, (ii) Markierungen (z.B. Pfeile), die auf der Straße erkannt wurden, und (iii) Beschreibungen der Kreuzung, die aus Kartendaten (beispielsweise Daten aus der Kartendatenbank 160) extrahiert wurden. Die Verarbeitungseinheit 110 kann die Analyse unter Verwendung von Informationen durchführen, die aus der Ausführung des Monokularanalysemoduls 402 abgeleitet wurden. Zudem kann die Verarbeitungseinheit 110 eine Entsprechung zwischen den in Schritt 560 erkannten Ampeln und den in der Nähe des Fahrzeugs 200 vorkommenden Fahrspuren bestimmen.
  • Während sich das Fahrzeug 200 der Kreuzung nähert, kann die Verarbeitungseinheit 110 in Schritt 564 das Konfidenzniveau im Zusammenhang mit der analysierten Kreuzungsgeometrie und den erkannten Ampeln aktualisieren. So kann sich beispielsweise die geschätzte Anzahl von Ampeln an der Kreuzung im Vergleich zur tatsächlich an der Kreuzung vorkommenden Anzahl auf das Konfidenzniveau auswirken. Somit kann die Verarbeitungseinheit 110 auf Grundlage des Konfidenzniveaus die Kontrolle an den Fahrer des Fahrzeugs 200 delegieren, um die Sicherheitsbedingungen zu verbessern. Durch Ausführen der Schritte 560, 562 und 564 kann die Verarbeitungseinheit 110 somit Verkehrsampeln in dem Satz aufgenommener Bilder identifizieren und Kreuzungsgeometrieinformationen analysieren. Auf Grundlage der Identifikation und der Analyse kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen im Fahrzeug 200 bewirken, wie vorstehend in Verbindung mit 5A beschrieben.
  • 5E ist ein Flussdiagramm, das einen beispielhaften Prozess 500E zum Bewirken einer oder mehrerer Navigationsreaktionen im Fahrzeug 200 auf Grundlage eines Fahrzeugwegs gemäß den offenbarten Ausführungsformen zeigt. In Schritt 570 kann die Verarbeitungseinheit 110 einen dem Fahrzeug 200 zugehörigen anfänglichen Fahrzeugweg erstellen. Der Fahrzeugweg kann durch einen Satz von Punkten dargestellt werden, die in Koordinaten (x, z) ausgedrückt werden, wobei der Abstand di zwischen zwei Punkten in dem Satz von Punkten im Bereich von 1 bis 5 Metern liegen kann. In einer Ausführungsform kann die Verarbeitungseinheit 110 den anfänglichen Fahrzeugweg unter Verwendung von zwei Polynomen erstellen, beispielsweise einem linken und einem rechten Straßenpolynom. Die Verarbeitungseinheit 110 kann den geometrischen Mittelpunkt zwischen den beiden Polynomen berechnen und jeden Punkt, der im resultierenden Fahrzeugweg enthalten ist, um einen vorbestimmten Versatz (z.B. einen intelligenten Fahrspurversatz) versetzen, falls vorhanden (ein Versatz von Null kann einer Fahrt in der Mitte einer Fahrspur entsprechen). Der Versatz kann in einer Richtung liegen, die senkrecht zu einem Abschnitt zwischen zwei beliebigen Punkten auf dem Fahrzeugweg verläuft. In einer anderen Ausführungsform kann die Verarbeitungseinheit 110 ein Polynom und eine geschätzte Fahrspurbreite verwenden, um jeden Punkt des Fahrzeugwegs um die Hälfte der geschätzten Fahrspurbreite plus einen vorbestimmten Versatz (z.B. einen intelligenten Fahrspurversatz) zu versetzen.
  • In Schritt 572 kann die Verarbeitungseinheit 110 den in Schritt 570 erstellten Fahrzeugweg aktualisieren. Die Verarbeitungseinheit 110 kann den in Schritt 570 erstellten Fahrzeugweg mit einer höheren Auflösung rekonstruieren, so dass der Abstand dk zwischen zwei Punkten in dem den Fahrzeugweg darstellenden Satz von Punkten geringer ist als der vorstehend beschriebene Abstand di. Der Abstand dk kann beispielsweise im Bereich von 0,1 bis 0,3 Metern liegen. Die Verarbeitungseinheit 110 kann den Fahrzeugweg mithilfe eines parabolischen Spline-Algorithmus rekonstruieren, der einen kumulativen Abstandsvektor S ergeben kann, der der Gesamtlänge des Fahrzeugwegs entspricht (d.h. auf Grundlage des den Fahrzeugweg darstellenden Satzes von Punkten).
  • In Schritt 574 kann die Verarbeitungseinheit 110 einen Vorausschaupunkt (ausgedrückt in Koordinaten als (xl, zl)) auf Grundlage des in Schritt 572 erstellten aktualisierten Fahrzeugwegs bestimmen. Die Verarbeitungseinheit 110 kann den Vorausschaupunkt aus dem kumulativen Abstandsvektor S extrahieren, und der Vorausschaupunkt kann einem Vorausschauabstand und einer Vorausschauzeit zugeordnet werden. Der Vorausschauabstand, der eine untere Grenze von 10 bis 20 Metern haben kann, kann als das Produkt aus der Geschwindigkeit des Fahrzeugs 200 und der Vorausschauzeit berechnet werden. Wenn sich beispielsweise die Geschwindigkeit des Fahrzeugs 200 verringert, kann sich auch der Vorausschauabstand verringern (z.B. bis er die untere Grenze erreicht). Die Vorausschauzeit, die im Bereich von 0,5 bis 1,5 Sekunden liegen kann, kann umgekehrt proportional zur Verstärkung eines oder mehrerer Regelkreise sein, die mit dem Bewirken einer Navigationsreaktion im Fahrzeug 200 verbunden sind, wie beispielsweise der Regelkreis für Kursfehlerverfolgung. Die Verstärkung des Regelkreises für Kursfehlerverfolgung kann beispielsweise von der Bandbreite eines Gierratenregelkreises, eines Lenkaktuatorregelkreises, der Querdynamik des Fahrzeugs und dergleichen abhängen. Je höher also die Verstärkung des Regelkreises für Kursfehlerverfolgung ist, desto geringer ist die Vorausschauzeit.
  • In Schritt 576 kann die Verarbeitungseinheit 110 einen Kursfehler und einen Gierratenbefehl auf Grundlage des in Schritt 574 bestimmten Vorausschaupunkts bestimmen. Die Verarbeitungseinheit 110 kann den Kursfehler bestimmen, indem sie den Arkustangens des Vorausschaupunktes berechnet, z.B. arctan (xl/zl). Die Verarbeitungseinheit 110 kann den Gierratenbefehl als Produkt aus dem Kursfehler und einer hohen Steuerverstärkung bestimmen. Die hohe Steuerverstärkung kann Folgendem entsprechen: (2 / Vorausschauzeit), wenn der Vorausschauabstand nicht an der unteren Grenze liegt. Andernfalls kann die hohe Steuerverstärkung Folgendem entsprechen: (2 * Geschwindigkeit des Fahrzeugs 200 / Vorausschauabstand).
  • 5F ist ein Flussdiagramm, das einen beispielhaften Prozess 500F zum Bestimmen, ob ein vorausfahrendes Fahrzeug einen Fahrspurwechsel durchführt, gemäß den offenbarten Ausführungsformen zeigt. In Schritt 580 kann die Verarbeitungseinheit 110 Navigationsinformationen bestimmen, die einem vorausfahrenden Fahrzeug zugeordnet sind (z.B. einem Fahrzeug, das vor dem Fahrzeug 200 fährt). Beispielsweise kann die Verarbeitungseinheit 110 die Position, den Geschwindigkeitsvektor (z.B. Richtung und Geschwindigkeit) und/oder die Beschleunigung des vorausfahrenden Fahrzeugs bestimmen, indem sie die im Zusammenhang mit 5A und 5B vorstehend beschriebenen Methoden verwendet. Die Verarbeitungseinheit 110 kann zudem ein oder mehrere Straßenpolynome, einen Vorausschaupunkt (der mit dem Fahrzeug 200 verbunden ist) und/oder eine Schneckenspur (z.B. einen Satz von Punkten, die einen vom vorausfahrenden Fahrzeug verfolgten Weg beschreiben) bestimmen, indem sie die in Verbindung mit 5E vorstehend beschriebenen Methoden verwendet.
  • In Schritt 582 kann die Verarbeitungseinheit 110 die in Schritt 580 bestimmten Navigationsinformationen analysieren. In einer Ausführungsform kann die Verarbeitungseinheit 110 den Abstand zwischen einer Schneckenspur und einem Straßenpolynom (z.B. entlang der Spur) berechnen. Wenn die Abweichung dieses Abstands entlang der Spur einen vorgegebenen Schwellenwert überschreitet (z.B. 0,1 bis 0,2 Meter auf einer geraden Straße, 0,3 bis 0,4 Meter auf einer mäßig kurvigen Straße und 0,5 bis 0,6 Meter auf einer Straße mit scharfen Kurven), kann die Verarbeitungseinheit 110 bestimmen, dass das vorausfahrende Fahrzeug wahrscheinlich die Spur wechselt. Wenn mehrere Fahrzeuge erkannt werden, die vor dem Fahrzeug 200 fahren, kann die Verarbeitungseinheit 110 die den einzelnen Fahrzeugen zugehörigen Schneckenspuren vergleichen. Anhand des Vergleichs kann die Verarbeitungseinheit 110 bestimmen, dass ein Fahrzeug, dessen Schneckenspur nicht mit den Schneckenspuren der anderen Fahrzeuge übereinstimmt, wahrscheinlich die Spur wechselt. Die Verarbeitungseinheit 110 kann zusätzlich die Krümmung der (dem vorausfahrenden Fahrzeug zugeordneten) Schneckenspur mit der erwarteten Krümmung des Straßenabschnitts vergleichen, auf dem das vorausfahrende Fahrzeug unterwegs ist. Die erwartete Krümmung kann aus Kartendaten (z.B. Daten aus der Kartendatenbank 160), aus Straßenpolynomen, aus den Schneckenspuren anderer Fahrzeuge, aus Vorwissen über die Straße und dergleichen extrahiert werden. Wenn die Differenz zwischen der Krümmung der Schneckenspur und der erwarteten Krümmung des Straßenabschnitts einen vorbestimmten Schwellenwert überschreitet, kann die Verarbeitungseinheit 110 bestimmen, dass das vorausfahrende Fahrzeug wahrscheinlich die Spur wechselt.
  • In einer anderen Ausführungsform kann die Verarbeitungseinheit 110 die momentane Position des vorausfahrenden Fahrzeugs mit dem (dem Fahrzeug 200 zugehörigen) Vorausschaupunkt über einen bestimmten Zeitraum (z.B. 0,5 bis 1,5 Sekunden) vergleichen. Wenn der Abstand zwischen der momentanen Position des vorausfahrenden Fahrzeugs und dem Vorausschaupunkt während des bestimmten Zeitraums schwankt und die kumulative Summe der Schwankungen einen vorbestimmten Schwellenwert überschreitet (z.B. 0,3 bis 0,4 Meter auf einer geraden Straße, 0,7 bis 0,8 Meter auf einer mäßig kurvigen Straße und 1,3 bis 1,7 Meter auf einer Straße mit scharfen Kurven), kann die Verarbeitungseinheit 110 bestimmen, dass das vorausfahrende Fahrzeug wahrscheinlich die Spur wechselt. In einer anderen Ausführungsform kann die Verarbeitungseinheit 110 die Geometrie der Schneckenspur analysieren, indem sie den seitlichen Abstand, der entlang der Spur zurückgelegt wurde, mit der erwarteten Krümmung der Schneckenspur vergleicht. Der zu erwartende Krümmungsradius kann anhand der folgenden Berechnung bestimmt werden: (δz 2 + δx 2) / 2 / (δx), wobei δx für den zurückgelegten seitlichen Abstand und δz für den in Längsrichtung zurückgelegten Abstand steht. Übersteigt die Differenz zwischen dem zurückgelegten seitlichen Abstand und der erwarteten Kurve einen vorbestimmten Schwellenwert (z.B. 500 bis 700 Meter), kann die Verarbeitungseinheit 110 bestimmen, dass das vorausfahrende Fahrzeug wahrscheinlich die Spur wechselt. In einer anderen Ausführungsform kann die Verarbeitungseinheit 110 die Position des vorausfahrenden Fahrzeugs analysieren. Wenn die Position des vorausfahrenden Fahrzeugs ein Straßenpolynom verdeckt (z.B. wenn das vorausfahrende Fahrzeug das Straßenpolynom überlagert), kann die Verarbeitungseinheit 110 bestimmen, dass das vorausfahrende Fahrzeug wahrscheinlich die Fahrspur wechselt. Wenn die Position des führenden Fahrzeugs derart ist, dass ein anderes Fahrzeug vor dem vorausfahrenden Fahrzeug erkannt wird und die Schneckenspuren der beiden Fahrzeuge nicht parallel sind, kann die Verarbeitungseinheit 110 bestimmen, dass das (nähere) vorausfahrende Fahrzeug wahrscheinlich die Fahrspur wechselt.
  • In Schritt 584 kann die Verarbeitungseinheit 110 auf Grundlage der in Schritt 582 durchgeführten Analyse bestimmen, ob das vorausfahrende Fahrzeug 200 die Spur wechselt oder nicht. Beispielsweise kann die Verarbeitungseinheit 110 die Bestimmung auf Grundlage eines gewichteten Durchschnitts der in Schritt 582 durchgeführten Einzelanalysen vornehmen. Im Rahmen eines solchen Schemas kann beispielsweise eine auf einer bestimmten Art von Analyse basierende Entscheidung der Verarbeitungseinheit 110, dass das vorausfahrende Fahrzeug wahrscheinlich die Spur wechselt, mit dem Wert „1“ versehen werden (und „0“ für die Bestimmung, dass das vorausfahrende Fahrzeug wahrscheinlich nicht die Spur wechselt). Unterschiedlichen Analysen, die in Schritt 582 durchgeführt werden, können unterschiedliche Gewichtungen zugewiesen werden, und die offenbarten Ausführungsformen sind nicht auf eine bestimmte Kombination von Analysen und Gewichtungen beschränkt.
  • 6 ist ein Flussdiagramm, das einen beispielhaften Prozess 600 zum Bewirken einer oder mehrerer Navigationsreaktionen auf Grundlage einer Stereobildanalyse gemäß offenbarten Ausführungsformen zeigt. In Schritt 610 kann die Verarbeitungseinheit 110 eine erste und eine zweite Vielzahl von Bildern über die Datenschnittstelle 128 empfangen. Beispielsweise können Kameras in der Bilderfassungseinheit 120 (wie die Bildaufnahmeeinrichtungen 122 und 124 mit den Sichtfeldern 202 und 204) eine erste und eine zweite Vielzahl von Bildern eines Bereichs vor dem Fahrzeug 200 aufnehmen und sie über eine digitale Verbindung (z.B. USB, drahtlos, Bluetooth usw.) an die Verarbeitungseinheit 110 übertragen. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die erste und die zweite Vielzahl von Bildern über zwei oder mehr Datenschnittstellen empfangen. Die offenbarten Ausführungsformen sind nicht auf bestimmte Datenschnittstellenkonfigurationen oder -protokolle beschränkt.
  • In Schritt 620 kann die Verarbeitungseinheit 110 das Stereobildanalysemodul 404 ausführen, um eine Stereobildanalyse der ersten und der zweiten Vielzahl von Bildern durchzuführen, um eine 3D-Karte der Straße vor dem Fahrzeug zu erstellen und Merkmale in den Bildern zu erkennen, wie beispielsweise Fahrspurmarkierungen, Fahrzeuge, Fußgänger, Straßenschilder, Autobahnausfahrten, Ampeln, Straßengefahren und dergleichen. Die Stereobildanalyse kann in ähnlicher Weise durchgeführt werden wie die vorstehend in Verbindung mit 5A bis 5D beschriebenen Schritte. Beispielsweise kann die Verarbeitungseinheit 110 das Stereobildanalysemodul 404 ausführen, um Kandidatenobjekte (z.B. Fahrzeuge, Fußgänger, Fahrbahnmarkierungen, Ampeln, Straßengefahren usw.) in der ersten und der zweiten Vielzahl von Bildern zu erkennen, einen Teilsatz der Kandidatenobjekte auf Grundlage verschiedener Kriterien herauszufiltern und eine Mehrrahmenanalyse durchzuführen, Messungen zu erstellen und ein Konfidenzniveau für die verbleibenden Kandidatenobjekte zu bestimmen. Beim Durchführen der vorstehenden Schritte kann die Verarbeitungseinheit 110 Informationen sowohl aus der ersten als auch aus der zweiten Vielzahl von Bildern berücksichtigen, anstatt nur Informationen aus einem Satz von Bildern. Beispielsweise kann die Verarbeitungseinheit 110 die Unterschiede in den Daten auf Pixelebene (oder anderen Datenteilgruppen aus den beiden Strömen aufgenommener Bilder) für ein Kandidatenobjekt analysieren, das sowohl in der ersten als auch in der zweiten Vielzahl von Bildern vorkommt. Als weiteres Beispiel kann die Verarbeitungseinheit 110 eine Position und/oder einen Geschwindigkeitsvektor eines Kandidatenobjekts (z.B. relativ zum Fahrzeug 200) schätzen, indem sie beobachtet, dass das Objekt in einem der Vielzahl von Bildern vorkommt, aber nicht im anderen, oder relativ zu anderen Unterschieden, die relativ zu Objekten bestehen können, die in den beiden Bildströmen vorkommen. So können beispielsweise Position, Geschwindigkeitsvektor und/oder Beschleunigung in Bezug auf das Fahrzeug 200 auf Grundlage von Trajektorien, Positionen, Bewegungsmerkmalen usw. von Merkmalen bestimmt werden, die mit einem Objekt verbunden sind, das in einem oder beiden Bildströmen vorkommt.
  • In Schritt 630 kann die Verarbeitungseinheit 110 das Navigationsreaktionsmodul 408 ausführen, um eine oder mehrere Navigationsreaktionen im Fahrzeug 200 auf Grundlage der in Schritt 620 durchgeführten Analyse und der vorstehend in Verbindung mit 4 beschriebenen Methoden zu bewirken. Zu Navigationsreaktionen können beispielsweise ein Abbiegen, ein Spurwechsel, eine Änderung der Beschleunigung, eine Änderung des Geschwindigkeitsvektors, Bremsen und dergleichen zählen. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Daten verwenden, die aus der Ausführung des Geschwindigkeitsvektor- und Beschleunigungsmoduls 406 abgeleitet wurden, um die eine oder die mehreren Navigationsreaktionen zu bewirken. Zudem können mehrere Navigationsreaktionen gleichzeitig, nacheinander oder in beliebiger Kombination erfolgen.
  • 7 ist ein Flussdiagramm, das einen beispielhaften Prozess 700 zum Bewirken einer oder mehrerer Navigationsreaktionen auf Grundlage einer Analyse von drei Sätzen von Bildern gemäß offenbarten Ausführungsformen zeigt. In Schritt 710 kann die Verarbeitungseinheit 110 eine erste, eine zweite und eine dritte Vielzahl von Bildern über die Datenschnittstelle 128 empfangen. Beispielsweise können Kameras in der Bilderfassungseinheit 120 (wie die Bildaufnahmeeinrichtungen 122, 124 und 126 mit den Sichtfeldern 202, 204 und 206) eine erste, eine zweite und eine dritte Vielzahl von Bildern eines Bereichs vor dem und/oder zur Seite des Fahrzeugs 200 aufnehmen und sie über eine digitale Verbindung (z.B. USB, drahtlos, Bluetooth usw.) an die Verarbeitungseinheit 110 übertragen. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die erste, die zweite und die dritte Vielzahl von Bildern über drei oder mehr Datenschnittstellen empfangen. So kann beispielsweise jede der Bildaufnahmeeinrichtungen 122, 124, 126 eine zugehörige Datenschnittstelle zur Übermittlung von Daten an die Verarbeitungseinheit 110 aufweisen. Die offenbarten Ausführungsformen sind nicht auf bestimmte Datenschnittstellenkonfigurationen oder -protokolle beschränkt.
  • In Schritt 720 kann die Verarbeitungseinheit 110 die erste, die zweite und die dritte Vielzahl von Bildern analysieren, um Merkmale in den Bildern zu erkennen, beispielsweise Fahrspurmarkierungen, Fahrzeuge, Fußgänger, Straßenschilder, Autobahnausfahrten, Verkehrsampeln, Straßengefahren und dergleichen. Die Stereobildanalyse kann in ähnlicher Weise durchgeführt werden wie die vorstehend in Verbindung mit 5A bis 5D und 6 beschriebenen Schritte. Beispielsweise kann die Verarbeitungseinheit 110 eine Monokularbildanalyse (z.B. über die Ausführung des Monokularbildanalysemoduls 402 und basierend auf den vorstehend in Verbindung mit 5A bis 5D beschriebenen Schritten) für jede der ersten, der zweiten und der dritten Vielzahl von Bildern durchführen. Alternativ kann die Verarbeitungseinheit 110 eine Stereobildanalyse (z.B. über Ausführung des Stereobildanalysemoduls 404 und basierend auf den vorstehend in Verbindung mit 6 beschriebenen Schritten) für die erste und die zweite Vielzahl von Bildern, die zweite und die dritte Vielzahl von Bildern und/oder die erste und die dritte Vielzahl von Bildern durchführen. Die verarbeiteten Informationen, die der Analyse der ersten, der zweiten und/oder der dritten Vielzahl von Bildern entsprechen, können kombiniert werden. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Kombination aus Monokular- und Stereobildanalyse durchführen. Zum Beispiel kann die Verarbeitungseinheit 110 eine Monokularbildanalyse (z.B. durch Ausführung des Monokularbildanalysemoduls 402) für die erste Vielzahl von Bildern und eine Stereobildanalyse (z.B. durch Ausführung des Stereobildanalysemoduls 404) für die zweite und die dritte Vielzahl von Bildern durchführen. Die Konfiguration der Bildaufnahmeeinrichtungen 122, 124 und 126 - einschließlich ihrer jeweiligen Standorte und Sichtfelder 202, 204 und 206 - kann die Arten von Analysen beeinflussen, die mit der ersten, der zweiten und der dritten Vielzahl von Bildern durchgeführt werden. Die offenbarten Ausführungsformen sind nicht auf eine bestimmte Konfiguration der Bildaufnahmeeinrichtungen 122, 124 und 126 oder auf die Arten von Analysen beschränkt, die an der ersten, der zweiten und der dritten Vielzahl von Bildern durchgeführt werden.
  • In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Tests am System 100 auf Grundlage der in den Schritten 710 und 720 erfassten und analysierten Bilder durchführen. Solche Tests können einen Indikator für die Gesamtleistung des Systems 100 für bestimmte Konfigurationen der Bildaufnahmeeinrichtungen 122, 124 und 126 liefern. So kann die Verarbeitungseinheit 110 beispielsweise den Anteil der „falschen Treffer“ (z.B. Fälle, in denen das System 100 fälschlicherweise das Vorhandensein eines Fahrzeugs oder Fußgängers bestimmt hat) und der „Fehltreffer“ bestimmen.
  • In Schritt 730 kann die Verarbeitungseinheit 110 auf Grundlage von aus der ersten, der zweiten und der dritten Vielzahl von Bildern abgeleiteten Informationen eine oder mehrere Navigationsreaktionen im Fahrzeug 200 bewirken. Die Auswahl von zwei aus der ersten, der zweiten und der dritten Vielzahl von Bildern kann von verschiedenen Faktoren abhängen, wie z.B. der Anzahl, Art und Größe der Objekte, die in jeder der Vielzahl von Bildern erkannt werden. Die Verarbeitungseinheit 110 kann die Auswahl auch auf Grundlage der Bildqualität und -auflösung, des effektiven Sichtfelds, das sich in den Bildern widerspiegelt, der Anzahl aufgenommener Rahmen, des Ausmaßes, in dem ein oder mehrere Objekte von Interesse tatsächlich in den Rahmen vorkommen (z.B. der Prozentsatz der Rahmen, in denen ein Objekt vorkommt, der Anteil des Objekts, der in jedem dieser Rahmen vorkommt, usw.), und dergleichen treffen.
  • In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Informationen auswählen, die aus zwei der ersten, der zweiten und der dritten Vielzahl von Bildern abgeleitet sind, indem sie das Ausmaß bestimmt, in dem aus einer Bildquelle abgeleitete Informationen mit aus anderen Bildquellen abgeleiteten Informationen übereinstimmen. Beispielsweise kann die Verarbeitungseinheit 110 die verarbeiteten Informationen kombinieren, die von jeder der Bildaufnahmeeinrichtungen 122, 124 und 126 abgeleitet wurden (sei es durch Monokularanalyse, Stereoanalyse oder eine beliebige Kombination aus beidem), und optische Indikatoren bestimmen (z.B. Fahrspurmarkierungen, ein erkanntes Fahrzeug und seinen Standort und/oder seinen Weg, eine erkannte Ampel usw.), die über die von jeder der Bildaufnahmeeinrichtungen 122, 124 und 126 aufgenommenen Bilder hinweg konsistent sind. Die Verarbeitungseinheit 110 kann auch Informationen ausschließen, die in den aufgenommenen Bildern inkonsistent sind (z.B. ein Fahrzeug, das die Spur wechselt, ein Fahrspurmodell, das ein Fahrzeug anzeigt, das sich zu nahe am Fahrzeug 200 befindet usw.). Somit kann die Verarbeitungseinheit 110, auf Grundlage der Bestimmungen konsistenter und inkonsistenter Informationen, Informationen auswählen, die aus zwei der ersten, der zweiten und der dritten Vielzahl von Bildern abgeleitet wurden.
  • Zu den Navigationsreaktionen können beispielsweise ein Abbiegen, ein Spurwechsel, eine Änderung der Beschleunigung und dergleichen zählen. Die Verarbeitungseinheit 110 kann die eine oder die mehreren Navigationsreaktionen auf Grundlage der in Schritt 720 durchgeführten Analyse und der vorstehend in Verbindung mit 4 beschriebenen Methoden bewirken. Die Verarbeitungseinheit 110 kann zudem Daten verwenden, die aus der Ausführung des Geschwindigkeitsvektor- und Beschleunigungsmoduls 406 abgeleitet wurden, um die eine oder die mehreren Navigationsreaktionen zu bewirken. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die eine oder die mehreren Navigationsreaktionen auf Grundlage einer relativen Position, eines relativen Geschwindigkeitsvektors und/oder einer relativen Beschleunigung zwischen dem Fahrzeug 200 und einem Objekt bewirken, das in einer der ersten, der zweiten und der dritten Vielzahl von Bildern erkannt wurde. Es können mehrere Navigationsreaktionen gleichzeitig, nacheinander oder in beliebiger Kombination erfolgen.
  • Dünnbesetztes Straßenmodell für autonome Fahrzeugnavigation
  • In einigen Ausführungsformen können die offenbarten Systeme und Verfahren eine dünnbesetzte Karte für autonome Fahrzeugnavigation verwenden. Insbesondere kann die dünnbesetzte Karte für autonome Fahrzeugnavigation entlang eines Straßenabschnitts vorgesehen sein. So kann die dünnbesetzte Karte beispielsweise ausreichende Informationen für die Navigation eines autonomen Fahrzeugs liefern, ohne dass eine große Datenmenge gespeichert und/oder aktualisiert werden muss. Wie nachstehend näher erläutert, kann ein autonomes Fahrzeug die dünnbesetzte Karte verwenden, um auf einer oder mehreren Straßen auf Grundlage einer oder mehrerer gespeicherter Trajektorien zu navigieren.
  • Dünnbesetzte Karte für autonome Fahrzeugnavigation
  • In einigen Ausführungsformen können die offenbarten Systeme und Verfahren eine dünnbesetzte Karte für autonome Fahrzeugnavigation erzeugen. So kann die dünnbesetzte Karte beispielsweise genügend Informationen für die Navigation liefern, ohne dass eine übermäßige Datenspeicherung oder Datenübertragungsrate erforderlich ist. Wie nachstehend näher erläutert, kann ein Fahrzeug (das ein autonomes Fahrzeug sein kann) die dünnbesetzte Karte verwenden, um auf einer oder mehreren Straßen zu navigieren. In einigen Ausführungsformen kann die dünnbesetzte Karte beispielsweise Daten zu einer Straße und möglicherweise Bezugspunkte entlang der Straße beinhalten, die für die Fahrzeugnavigation ausreichen, aber auch einen kleinen Daten-Footprint aufweisen. Beispielsweise können die im Folgenden beschriebenen dünnbesetzten Datenkarten im Vergleich zu digitalen Karten mit detaillierten Karteninformationen, wie beispielsweise entlang einer Straße gesammelten Bilddaten, deutlich weniger Speicherplatz und Datenübertragungsbandbreite erfordern.
  • Anstatt detaillierte Darstellungen eines Straßenabschnitts zu speichern, kann die dünnbesetzte Datenkarte beispielsweise dreidimensionale Polynomdarstellungen bevorzugter Fahrzeugwege entlang einer Straße speichern. Diese Wege können sehr wenig Datenspeicherplatz benötigen. Ferner können in den beschriebenen dünnbesetzten Datenkarten Bezugspunkte identifiziert und in das Straßenmodell der dünnbesetzten Karte aufgenommen werden, um die Navigation zu erleichtern. Diese Bezugspunkte können in beliebigen Abständen angeordnet sein, die für die Fahrzeugnavigation geeignet sind, aber in einigen Fällen müssen solche Bezugspunkte bei hoher Dichte und geringen Abständen nicht identifiziert und in das Modell aufgenommen werden. Vielmehr kann die Navigation in einigen Fällen anhand von Bezugspunkten erfolgen, die mindestens 50 Meter, mindestens 100 Meter, mindestens 500 Meter, mindestens 1 Kilometer oder mindestens 2 Kilometer voneinander entfernt sind. Wie in anderen Abschnitten näher erläutert wird, kann die dünnbesetzte Karte auf Grundlage von Daten erstellt werden, die von Fahrzeugen gesammelt oder gemessen werden, die mit verschiedenen Sensoren und Einrichtungen ausgestattet sind, wie beispielsweise Bildaufnahmeeinrichtungen, GPS-Sensoren, Bewegungssensoren usw., während die Fahrzeuge auf den Straßen fahren. In einigen Fällen kann die dünnbesetzte Karte auf Grundlage von Daten erstellt werden, die während mehrerer Fahrten eines oder mehrerer Fahrzeuge auf einer bestimmten Straße gesammelt wurden. Das Erzeugen einer dünnbesetzten Karte unter Verwendung mehrerer Fahrten eines oder mehrerer Fahrzeuge kann als „Crowdsourcing“ einer dünnbesetzten Karte bezeichnet werden.
  • Gemäß offenbarten Ausführungsformen kann ein autonomes Fahrzeugsystem eine dünnbesetzte Karte zur Navigation verwenden. Beispielsweise können die offenbarten Systeme und Verfahren eine dünnbesetzte Karte zum Erzeugen eines Straßennavigationsmodells für ein autonomes Fahrzeug verteilen und ein autonomes Fahrzeug entlang eines Straßenabschnitts unter Verwendung einer dünnbesetzten Karte und/oder eines erzeugten Straßennavigationsmodells navigieren. Dünnbesetzte Karten im Sinne der vorliegenden Offenbarung können eine oder mehrere dreidimensionale Konturen beinhalten, die vorbestimmte Trajektorien darstellen können, die autonome Fahrzeuge durchfahren können, während sie sich entlang zugehöriger Straßenabschnitte bewegen.
  • Dünnbesetzte Karten im Sinne der vorliegenden Offenbarung können zudem Daten beinhalten, die ein oder mehrere Straßenmerkmale darstellen. Zu diesen Straßenmerkmalen können erkannte Bezugspunkte, Straßensignaturprofile und andere straßenbezogene Merkmale gehören, die für die Navigation eines Fahrzeugs nützlich sind. Dünnbesetzte Karten im Sinne der vorliegenden Offenbarung können autonome Navigation eines Fahrzeugs auf Grundlage relativ kleiner Datenmengen ermöglichen, die in der dünnbesetzten Karte enthalten sind. Anstatt detaillierte Darstellungen einer Straße zu enthalten, wie beispielsweise zu Straßenabschnitten gehörige Straßenkanten, Straßenkrümmungen, Bilder oder Daten, die andere mit einem Straßenabschnitt verbundene physikalische Merkmale beschreiben, können die offenbarten Ausführungsformen der dünnbesetzten Karte relativ wenig Speicherplatz (und relativ wenig Bandbreite, wenn Teile der dünnbesetzten Karte an ein Fahrzeug übertragen werden) erfordern, aber dennoch eine angemessene autonome Fahrzeugnavigation ermöglichen. Der geringe Daten-Footprint der offenbarten dünnbesetzten Karten, auf den weiter unten näher eingegangen wird, kann in einigen Ausführungsformen durch Speichern von Darstellungen straßenbezogener Elemente erreicht werden, die nur geringe Datenmengen erfordern, aber dennoch eine autonome Navigation ermöglichen.
  • Anstatt detaillierte Darstellungen verschiedener Aspekte einer Straße zu speichern, können die offenbarten dünnbesetzten Karten beispielsweise Polynomdarstellungen einer oder mehrerer Trajektorien speichern, denen ein Fahrzeug auf der Straße folgen kann. Anstatt also Einzelheiten über die physische Beschaffenheit der Straße zu speichern (oder übertragen zu müssen), um eine Navigation entlang der Straße zu ermöglichen, kann ein Fahrzeug unter Verwendung der offenbarten dünnbesetzten Karten entlang eines bestimmten Straßenabschnitts navigiert werden, ohne dass in einigen Fällen physische Aspekte der Straße interpretiert werden müssen, sondern indem sein Fahrweg mit einer Trajektorie (z.B. einem Polynom-Spline) entlang des jeweiligen Straßenabschnitts ausgerichtet wird. Auf diese Weise kann das Fahrzeug hauptsächlich auf Grundlage der gespeicherten Trajektorie (z.B. eines Polynom-Spline) navigiert werden, die viel weniger Speicherplatz benötigt als ein Ansatz, der die Speicherung von Straßenbildem, Straßenparametern, Straßenlayout usw. beinhaltet.
  • Zusätzlich zu den gespeicherten Polynomdarstellungen von Trajektorien entlang eines Straßenabschnitts können die offenbarten dünnbesetzten Karten auch kleine Datenobjekte enthalten, die ein Straßenmerkmal darstellen können. In einigen Ausführungsformen können die kleinen Datenobjekte digitale Signaturen beinhalten, die von einem digitalen Bild (oder einem digitalen Signal) abgeleitet sind, das von einem Sensor (z.B. einer Kamera oder einem anderen Sensor, wie einem Aufhängungssensor) an Bord eines Fahrzeugs, das den Straßenabschnitt befährt, gewonnen wurde. Die digitale Signatur kann eine im Vergleich zu dem vom Sensor erfassten Signal verringerte Größe aufweisen. In einigen Ausführungsformen kann die digitale Signatur so erstellt werden, dass sie mit einer Klassifizierungsfunktion kompatibel ist, die so konfiguriert ist, dass sie das Straßenmerkmal aus dem vom Sensor erfassten Signal erkennt und identifiziert, z.B. während einer nachfolgenden Fahrt. In einigen Ausführungsformen kann eine digitale Signatur so erstellt werden, dass die digitale Signatur einen möglichst kleinen Footprint hat, während die Fähigkeit erhalten bleibt, das Straßenmerkmal mit der gespeicherten Signatur auf Grundlage eines Bilds (oder eines von einem Sensor erzeugten digitalen Signals, wenn die gespeicherte Signatur nicht auf einem Bild basiert und/oder andere Daten enthält) des Straßenmerkmals zu korrelieren oder abzugleichen, das von einer Kamera an Bord eines Fahrzeugs aufgenommen wird, das zu einem späteren Zeitpunkt auf demselben Straßenabschnitt fährt.
  • In einigen Ausführungsformen kann eine Größe der Datenobjekte außerdem mit einer Eindeutigkeit des Straßenmerkmals verbunden sein. Wenn beispielsweise ein Straßenmerkmal von einer Kamera an Bord eines Fahrzeugs erfasst werden kann und das Kamerasystem an Bord des Fahrzeugs mit einem Klassifizierer gekoppelt ist, der in der Lage ist, die Bilddaten, die diesem Straßenmerkmal entsprechen, einem bestimmten Typ von Straßenmerkmal zuzuordnen, z.B. einem Straßenschild, und wenn ein solches Straßenschild in diesem Gebiet örtlich einmalig ist (z.B. in der Nähe kein identisches Straßenschild oder Straßenschild desselben Typs vorhanden ist), kann es ausreichen, Daten zu speichern, die den Typ des Straßenmerkmals und seinen Standort angeben.
  • Wie nachstehend noch näher erläutert wird, können Straßenmerkmale (z.B. Bezugspunkte entlang eines Straßenabschnitts) als kleine Datenobjekte gespeichert werden, die ein Straßenmerkmal in relativ wenigen Bytes darstellen und gleichzeitig ausreichende Informationen zum Erkennen und Verwenden eines solchen Merkmals für die Navigation liefern können. In einem Beispiel kann ein Straßenschild als erkannter Bezugspunkt identifiziert werden, auf dem die Navigation eines Fahrzeugs beruhen kann. Eine Darstellung des Straßenschildes kann in der dünnbesetzten Karte gespeichert werden und z.B. einige Bytes an Daten enthalten, die einen Typ des Bezugspunkts (z.B. ein Stoppschild) und einige Bytes an Daten, die einen Standort des Bezugspunkts (z.B. Koordinaten) angeben. Die Navigation auf Grundlage solcher datenarmer Darstellungen der Bezugspunkte (z.B. unter Verwendung von Darstellungen, die zum Auffinden, Erkennen und Navigieren auf Grundlage der Bezugspunkte ausreichen) kann ein gewünschtes Maß an Navigationsfunktionalität bieten, das mit dünnbesetzten Karten verbunden ist, ohne den mit den dünnbesetzten Karten verbundenen Datenaufwand wesentlich zu erhöhen. Diese schlanke Darstellung von Bezugspunkten (und anderen Straßenmerkmalen) kann die Vorteile der Sensoren und Prozessoren an Bord solcher Fahrzeuge nutzen, die so konfiguriert sind, dass sie bestimmte Straßenmerkmale erkennen, identifizieren und/oder klassifizieren.
  • Wenn zum Beispiel ein Schild oder sogar ein bestimmter Typ eines Schildes in einem bestimmten Gebiet lokal einmalig ist (z.B. wenn kein anderes Schild oder kein anderes Schild derselben Art vorhanden ist), kann die dünnbesetzte Karte Daten verwenden, die einen Typ eines Bezugspunkts (ein Schild oder eine bestimmte Art von Schild) angeben, und während der Navigation (z.B. autonomer Navigation), wenn eine Kamera an Bord eines autonomen Fahrzeugs ein Bild des Gebiets aufnimmt, das ein Schild (oder eine bestimmte Art von Schild) enthält, kann der Prozessor das Bild verarbeiten, das Schild erkennen (wenn es tatsächlich in dem Bild vorhanden ist), das Bild als ein Schild (oder als eine bestimmte Art von Schild) klassifizieren und den Standort des Bilds mit dem in der dünnbesetzten Karte gespeicherten Standort des Schildes korrelieren.
  • Die dünnbesetzte Karte kann jede geeignete Darstellung von Objekten beinhalten, die entlang eines Straßenabschnitts identifiziert wurden. In einigen Fällen können die Objekte als semantische Objekte oder nicht-semantische Objekte bezeichnet werden. Zu semantischen Objekten können beispielsweise Objekte zählen, die einer vorbestimmten Typenklassifizierung zugeordnet sind. Diese Art der Klassifizierung kann nützlich sein, um die Datenmenge zu reduzieren, die zur Beschreibung des in einer Umgebung erkannten semantischen Objekts erforderlich ist, was sowohl in der Sammelphase (z.B. zur Reduzierung von Kosten im Zusammenhang mit Bandbreitennutzung zum Übertragen von Fahrinformationen von einer Vielzahl von Sammelfahrzeugen an einen Server) als auch während der Navigationsphase (z.B. kann eine Reduzierung von Kartendaten eine Übertragung von Kartenkacheln von einem Server an ein navigierendes Fahrzeug beschleunigen und auch Kosten im Zusammenhang mit Bandbreitennutzung für solche Übertragungen reduzieren) von Vorteil sein kann. Semantische Objektklassifizierungstypen können jeder Art von Objekten oder Merkmalen zugewiesen werden, die entlang einer Fahrbahn zu erwarten sind.
  • Semantische Objekte können ferner in zwei oder mehr logische Gruppen unterteilt werden. In einigen Fällen kann beispielsweise eine Gruppe von semantischen Objekttypen mit vorbestimmten Dimensionen verbunden sein. Zu solchen semantischen Objekten können bestimmte Tempolimitschilder, Vorfahrtsschilder, Zusammenführungsschilder, Stoppschilder, Ampeln, Richtungspfeile auf einer Fahrbahn, Kanaldeckel oder jede andere Art von Objekt zählen, die mit einer standardisierten Größe assoziiert werden kann. Ein Vorteil solcher semantischen Objekte besteht darin, dass nur sehr wenige Daten zur Darstellung/vollständigen Definition der Objekte benötigt werden. Wenn beispielsweise eine standardisierte Größe eines Tempolimitschildes bekannt ist, muss ein Sammelfahrzeug (durch Analyse eines aufgenommenen Bildes) lediglich das Vorhandensein eines Tempolimitschildes (eines erkannten Typs) zusammen mit einer Positionsangabe des erkannten Tempolimitschildes (z.B. eine 2D-Position im aufgenommenen Bild (oder alternativ eine 3D-Position in realen Koordinaten) eines Mittelpunkts des Schildes oder einer bestimmten Ecke des Schildes) identifizieren, um ausreichende Informationen für die Kartenerstellung auf der Serverseite bereitzustellen. Wenn 2D-Bildpositionen an den Server übertragen werden, kann eine dem aufgenommenen Bild zugeordnete Position, an der das Zeichen erkannt wurde, ebenfalls übertragen werden, so dass der Server eine reale Position des Zeichens bestimmen kann (z.B. durch Structure-in-Motion-Methoden unter Verwendung mehrerer aufgenommener Bilder von einem oder mehreren Sammelfahrzeugen). Selbst mit diesen begrenzten Informationen (die nur wenige Bytes zur Definition jedes erkannten Objekts erfordern) kann der Server die Karte mit einem vollständig dargestellten Tempolimitschild auf Grundlage der Typenklassifizierung (die ein Tempolimitschild repräsentiert) erstellen, die er von einem oder mehreren Sammelfahrzeugen zusammen mit den Positionsinformationen für das erkannte Schild empfangen hat.
  • Semantische Objekte können auch andere erkannte Objekt- oder Merkmalstypen umfassen, die nicht mit bestimmten standardisierten Eigenschaften verbunden sind. Zu solchen Objekten oder Merkmalen können Schlaglöcher, Teernähte, Lichtmasten, nicht-standardisierte Schilder, Bordsteine, Bäume, Äste oder jede andere Art von erkanntem Objekttyp mit einer oder mehreren variablen Eigenschaften (z.B. variablen Abmessungen) zählen. In solchen Fällen kann zusätzlich zum Übertragen einer Anzeige des erkannten Objekts oder Merkmals (z.B. Schlagloch, Mast usw.) und von Positionsinformationen des erkannten Objekts oder Merkmals an einen Server ein Sammelfahrzeug auch eine Angabe einer Größe des Objekts oder Merkmals übertragen. Die Größe kann in 2D-Bilddimensionen (z.B. mit einem Hüllkasten oder einem oder mehreren Dimensionswerten) oder in realen Dimensionen (bestimmt durch Structure-in-Motion-Berechnungen auf Grundlage von LIDAR- oder RADAR-Systemausgaben, auf Grundlage von Ausgaben trainierter neuronaler Netze usw.) ausgedrückt werden.
  • Zu nicht-semantischen Objekten oder Merkmalen können alle erkennbaren Objekte oder Merkmale zählen, die nicht unter eine erkannte Kategorie oder einen erkannten Typ fallen, aber dennoch wertvolle Informationen für die Kartenerstellung liefern können. In einigen Fällen können solche nicht-semantischen Merkmale eine erkannte Gebäudeecke oder eine Ecke eines erkannten Fensters eines Gebäudes, ein eindeutig identifizierbarer Stein oder ein Objekt in der Nähe einer Fahrbahn, ein Betonspritzer auf einem Fahrbahnrand oder jedes andere erkennbare Objekt oder Merkmal sein. Bei Erkennung eines solchen Objekts oder Merkmals können ein oder mehrere Sammelfahrzeuge eine Position eines oder mehrerer Punkte (2D-Bildpunkte oder reale 3D-Punkte), die dem erkannten Objekt/Merkmal zugeordnet sind, an einen Kartenerzeugungsserver übertragen. Zusätzlich kann ein komprimierter oder vereinfachter Bildabschnitt (z.B. ein Bildhash) für einen Bereich des aufgenommenen Bildes erzeugt werden, der das erkannte Objekt oder Merkmal enthält. Dieser Bildhash kann auf Grundlage eines vorbestimmten Bildverarbeitungsalgorithmus berechnet werden und kann eine wirksame Signatur für das erkannte nicht-semantische Objekt oder Merkmal bilden. Eine solche Signatur kann für die Navigation in Bezug auf eine dünnbesetzte Karte, die das nicht-semantische Merkmal oder Objekt enthält, nützlich sein, da ein Fahrzeug, das die Fahrbahn befährt, einen Algorithmus anwenden kann, der dem Algorithmus ähnelt, der zur Erzeugung des Bildhashes verwendet wird, um das Vorhandensein des kartierten nicht-semantischen Merkmals oder Objekts in einem aufgenommenen Bild zu bestätigen/zu verifizieren. Mit dieser Methode können nicht-semantische Merkmale die dünnbesetzten Karten bereichern (z. B. um ihre Nützlichkeit für die Navigation zu verbessern), ohne dass ein erheblicher Datenmehraufwand entsteht.
  • Wie bereits erwähnt, können Zieltrajektorien in der dünnbesetzten Karte gespeichert sein. Diese Zieltrajektorien (z.B. 3D-Splines) können die bevorzugten oder empfohlenen Wege für jede verfügbare Fahrspur einer Fahrbahn, jeden gültigen Weg durch eine Kreuzung, für Einmündungen und Ausfahrten usw. darstellen. Zusätzlich zu den Zieltrajektorien können auch andere Straßenmerkmale erkannt, gesammelt und in Form von repräsentativen Splines in die dünnbesetzten Karten aufgenommen werden. Zu solchen Merkmalen können beispielsweise Straßenkanten, Fahrspurmarkierungen, Bordsteine, Leitplanken oder andere Objekte oder Merkmale zählen, die sich entlang einer Fahrbahn oder eines Straßenabschnitts erstrecken.
  • Erzeugen einer dünnbesetzten Karte
  • In einigen Ausführungsformen kann eine dünnbesetzte Karte mindestens eine Liniendarstellung eines Straßenoberflächenmerkmals, das sich entlang eines Straßenabschnitts erstreckt, und eine Vielzahl von Bezugspunkten, die mit dem Straßenabschnitt verbunden sind, beinhalten. In bestimmten Aspekten kann die dünnbesetzte Karte durch „Crowdsourcing“ erzeugt werden, beispielsweise durch Bildanalyse einer Vielzahl von Bildern, die während der Fahrt eines oder mehrerer Fahrzeuge auf dem Straßenabschnitt erfasst wurden.
  • 8 zeigt eine dünnbesetzte Karte 800, auf die ein oder mehrere Fahrzeuge, z.B. das Fahrzeug 200 (das ein autonomes Fahrzeug sein kann), zugreifen können, um autonome Fahrzeugnavigation zu ermöglichen. Die dünnbesetzte Karte 800 kann in einem Speicher, beispielsweise dem Speicher 140 oder 150, gespeichert werden. Solche Speichereinrichtungen können alle Arten von nicht transienten Speichereinrichtungen oder computerlesbaren Medien beinhalten. In einigen Ausführungsformen kann der Speicher 140 oder 150 beispielsweise Festplatten, Compact Discs, Flash-Speicher, magnetische Speichereinrichtungen, optische Speichereinrichtungen usw. beinhalten. In einigen Ausführungsformen kann die dünnbesetzte Karte 800 in einer Datenbank (z.B. der Kartendatenbank 160) gespeichert werden, die im Speicher 140 oder 150 oder in anderen Arten von Speichereinrichtungen gespeichert sein kann.
  • In einigen Ausführungsformen kann die dünnbesetzte Karte 800 auf einer Speichereinrichtung oder einem nicht transienten computerlesbaren Medium gespeichert werden, das an Bord des Fahrzeugs 200 bereitgestellt wird (z.B. eine Speichereinrichtung, die in einem Navigationssystem an Bord des Fahrzeugs 200 enthalten ist). Ein Prozessor (z.B. die Verarbeitungseinheit 110), der im Fahrzeug 200 vorgesehen ist, kann auf die dünnbesetzte Karte 800 zugreifen, die in der Speichereinrichtung oder dem computerlesbaren Medium an Bord des Fahrzeugs 200 gespeichert ist, um Navigationsanweisungen zum Führen des autonomen Fahrzeugs 200 zu erzeugen, während das Fahrzeug einen Straßenabschnitt durchfährt.
  • Die dünnbesetzte Karte 800 muss jedoch nicht lokal in Bezug auf ein Fahrzeug gespeichert werden. In einigen Ausführungsformen kann die dünnbesetzte Karte 800 auf einer Speichereinrichtung oder einem computerlesbaren Medium gespeichert sein, das auf einem entfernten Server bereitgestellt wird, der mit dem Fahrzeug 200 oder einer dem Fahrzeug 200 zugehörigen Einrichtung kommuniziert. Ein im Fahrzeug 200 befindlicher Prozessor (z.B. die Verarbeitungseinheit 110) kann Daten, die in der dünnbesetzten Karte 800 enthalten sind, vom entfernten Server empfangen und die Daten zum Führen des autonomen Fahrens des Fahrzeugs 200 ausführen. In solchen Ausführungsformen kann der entfernte Server die gesamte dünnbesetzte Karte 800 oder nur einen Teil davon speichern. Dementsprechend kann die Speichereinrichtung oder das computerlesbare Medium an Bord des Fahrzeugs 200 und/oder an Bord eines oder mehrerer weiterer Fahrzeuge den/die verbleibenden Teil(e) der dünnbesetzten Karte 800 speichern.
  • Darüber hinaus kann in solchen Ausführungsformen die dünnbesetzte Karte 800 einer Vielzahl von Fahrzeugen zugänglich gemacht werden, die verschiedene Straßenabschnitte befahren (z.B. zehn, hundert, tausend oder Millionen von Fahrzeugen usw.). Es ist auch zu beachten, dass die dünnbesetzte Karte 800 mehrere Teilkarten beinhalten kann. In einigen Ausführungsformen kann die dünnbesetzte Karte 800 beispielsweise Hunderte, Tausende, Millionen oder mehr Teilkarten (z.B. Kartenkacheln) beinhalten, die bei der Navigation eines Fahrzeugs verwendet werden können. Solche Teilkarten können als lokale Karten oder Kartenkacheln bezeichnet werden, und ein Fahrzeug, das auf einer Straße unterwegs ist, kann auf eine beliebige Anzahl lokaler Karten zugreifen, die für den Standort relevant sind, an dem das Fahrzeug unterwegs ist. Die lokalen Kartenabschnitte der dünnbesetzten Karte 800 können mit einem GNSS- (Global Navigation Satellite System) Schlüssel als Index in der Datenbank der dünnbesetzten Karte 800 gespeichert werden. Während die Berechnung der Lenkwinkel für die Navigation eines Host-Fahrzeugs im vorliegenden System ohne Rückgriff auf eine GNSS-Position des Host-Fahrzeugs, Straßenmerkmale oder Bezugspunkte durchgeführt werden kann, können solche GNSS-Informationen zum Abrufen relevanter lokaler Karten verwendet werden.
  • Grundsätzlich kann die dünnbesetzte Karte 800 auf Grundlage von Daten (z.B. Fahrinformationen) erstellt werden, die von einem oder mehreren Fahrzeugen während ihrer Fahrt auf der Straße gesammelt werden. Beispielsweise können mit Hilfe von Sensoren an Bord des einen oder der mehreren Fahrzeuge (z.B. Kameras, Geschwindigkeitsmesser, GPS, Beschleunigungsmesser usw.) die Trajektorien aufgezeichnet werden, die das eine oder die mehreren Fahrzeuge auf einer Fahrbahn zurücklegen, und die Polynomdarstellung einer bevorzugten Trajektorie für Fahrzeuge, die nachfolgend die Fahrbahn befahren, kann auf Grundlage der gesammelten Trajektorien, die von dem einen oder den mehreren Fahrzeugen zurückgelegt wurden, bestimmt werden. Ebenso können die von einem oder mehreren Fahrzeugen gesammelten Daten bei der Identifizierung möglicher Bezugspunkte entlang einer bestimmten Fahrbahn helfen. Die von den durchfahrenden Fahrzeugen gesammelten Daten können auch verwendet werden, um Straßenprofilinformationen zu identifizieren, z.B. Straßenbreitenprofile, Straßenrauheitsprofile, Profile der Verkehrslinienabstände, Straßenbedingungen usw. Anhand der gesammelten Informationen kann eine dünnbesetzte Karte 800 erstellt und verteilt werden (z.B. zur lokalen Speicherung oder über eine fliegende Datenübertragung), die für die Navigation eines oder mehrerer autonomer Fahrzeuge verwendet wird. In einigen Ausführungsformen endet die Kartenerzeugung jedoch gegebenenfalls nicht mit der anfänglichen Erzeugung der Karte. Wie nachstehend näher erläutert wird, kann die dünnbesetzte Karte 800 kontinuierlich oder periodisch auf Grundlage der von Fahrzeugen gesammelten Daten aktualisiert werden, während diese Fahrzeuge weiterhin die in der dünnbesetzten Karte 800 enthaltenen Straßen befahren.
  • Die in der dünnbesetzten Karte 800 aufgezeichneten Daten können Positionsinformationen enthalten, die auf GPS- (Global Positioning System) Daten basieren. Beispielsweise können in der dünnbesetzten Karte 800 Standortinformationen für verschiedene Kartenelemente enthalten sein, darunter beispielsweise Standorte von Bezugspunkten, Straßenprofilen usw. Standorte für in der dünnbesetzten Karte 800 enthaltene Kartenelemente können mithilfe von GPS-Daten bezogen werden, die von Fahrzeugen gesammelt wurden, die eine Fahrbahn befahren. Beispielsweise kann ein Fahrzeug, das an einem identifizierten Bezugspunkt vorbeifährt, den Standort des identifizierten Bezugspunkts mithilfe von dem Fahrzeug zugehörigen GPS-Positionsdaten und einer Bestimmung eines Standorts des identifizierten Bezugspunkts relativ zum Fahrzeug (z.B. auf Grundlage einer Bildanalyse von Daten, die von einer oder mehreren Kameras an Bord des Fahrzeugs gesammelt wurden) bestimmen. Solche Standortbestimmungen eines identifizierten Bezugspunkts (oder eines anderen Merkmals in der dünnbesetzten Karte 800) können wiederholt werden, wenn weitere Fahrzeuge den Standort des identifizierten Bezugspunkts passieren. Einige oder alle der zusätzlichen Standortbestimmungen können verwendet werden, um die in der dünnbesetzten Karte 800 gespeicherten Standortinformationen in Bezug auf den identifizierten Bezugspunkt zu verfeinern. In einigen Ausführungsformen können beispielsweise mehrere Positionsmessungen relativ zu einem bestimmten Merkmal, das in der dünnbesetzten Karte 800 gespeichert ist, zusammen gemittelt werden. Es können aber auch beliebige andere mathematische Operationen verwendet werden, um einen gespeicherten Standort eines Kartenelements auf Grundlage mehrerer bestimmter Standorte für das Kartenelement zu verfeinern.
  • In einem bestimmten Beispiel können Sammelfahrzeuge einen bestimmten Straßenabschnitt befahren. Jedes Sammelfahrzeug nimmt Bilder von seiner jeweiligen Umgebung auf. Die Bilder können mit jeder geeigneten Rahmenaufnahmerate (z.B. 9 Hz usw.) gesammelt werden. Ein oder mehrere Bildanalyseprozessoren an Bord jedes Sammelfahrzeugs analysieren die aufgenommenen Bilder, um das Vorhandensein von semantischen und/oder nicht-semantischen Merkmalen/Objekten zu erkennen. Auf einer hohen Ebene übermitteln die Sammelfahrzeuge einem Kartierungsserver Hinweise auf Erkennungen der semantischen und/oder nicht-semantischen Objekte/Merkmale zusammen mit mit diesen Objekten/Merkmalen zugeordneten Positionen. Zusammen mit den Positionsdaten können Typenindikatoren, Dimensionsindikatoren usw. übertragen werden. Die Positionsinformationen können alle geeigneten Informationen beinhalten, die es dem Kartenerstellungsserver ermöglichen, die erkannten Objekte/Merkmale zu einer dünnbesetzten Karte zusammenzufassen, die für Navigation nützlich ist. In einigen Fällen können die Positionsinformationen eine oder mehrere 2D-Bildpositionen (z.B. X-Y-Pixelpositionen) in einem aufgenommenen Bild beinhalten, an denen die semantischen oder nicht-semantischen Merkmale/Objekte erkannt wurden. Solche Bildpositionen können einer Mitte des Merkmals/Objekts, einer Ecke usw. entsprechen. Um den Kartenerstellungsserver bei der Rekonstruktion der Fahrdaten und der Ausrichtung der Fahrdaten mehrerer Sammelfahrzeuge zu unterstützen, kann in diesem Szenario jedes Sammelfahrzeug dem Server auch einen Standort (z.B. einen GPS-Standort) bereitstellen, an dem jedes Bild aufgenommen wurde.
  • In anderen Fällen kann das Sammelfahrzeug dem Server einen oder mehrere reale 3D-Punkte bereitstellen, die mit den erkannten Objekten/Merkmalen verbunden sind. Solche 3D-Punkte können in Bezug auf einen vorbestimmten Ursprung (z.B. einen Ursprung eines Fahrabschnitts) vorliegen und können mit jeder geeigneten Methode bestimmt werden. In einigen Fällen kann eine Structure-in-Motion-Technik verwendet werden, um die reale 3D-Position eines erkannten Objekts/Merkmals zu bestimmen. Zum Beispiel kann ein bestimmtes Objekt wie ein bestimmtes Tempolimitschild in zwei oder mehr aufgenommenen Bildern erkannt werden. Anhand von Informationen wie der bekannten Ego-Bewegung (Geschwindigkeit, Trajektorie, GPS-Position usw.) des Sammelfahrzeugs zwischen den aufgenommenen Bildern und beobachteten Veränderungen des Tempolimitschilds in den aufgenommenen Bildern (Veränderung der X-Y-Pixelposition, Veränderung der Größe usw.) kann die reale Position eines oder mehrerer dem Tempolimitschild zugeordneter Punkte bestimmt und an den Kartenerstellungsserver weitergeleitet werden. Ein solcher Ansatz ist optional, da er mehr Berechnungen auf Seiten der Sammelfahrzeugsysteme erfordert. Die dünnbesetzte Karte der offenbarten Ausführungsformen kann die autonome Navigation eines Fahrzeugs mit relativ geringen Mengen an gespeicherten Daten ermöglichen. In einigen Ausführungsformen kann die dünnbesetzte Karte 800 eine Datendichte (z.B. einschließlich Daten, die die Zieltrajektorien, Bezugspunkte und andere gespeicherte Straßenmerkmale darstellen) von weniger als 2 MB pro Straßenkilometer, weniger als 1 MB pro Straßenkilometer, weniger als 500 kB pro Straßenkilometer oder weniger als 100 kB pro Straßenkilometer aufweisen. In einigen Ausführungsformen kann die Datendichte der dünnbesetzten Karte 800 weniger als 10 kB pro Straßenkilometer oder sogar weniger als 2 kB pro Straßenkilometer (z.B. 1,6 kB pro Kilometer) oder nicht mehr als 10 kB pro Straßenkilometer oder nicht mehr als 20 kB pro Straßenkilometer betragen. In einigen Ausführungsformen können die meisten, wenn nicht sogar alle Straßen der Vereinigten Staaten mithilfe einer dünnbesetzten Karte mit insgesamt 4 GB oder weniger an Daten autonom navigiert werden. Diese Datendichtewerte können einen Durchschnitt über eine gesamte dünnbesetzte Karte 800, über eine lokale Karte innerhalb der dünnbesetzten Karte 800 und/oder über einen bestimmten Straßenabschnitt innerhalb der dünnbesetzten Karte 800 darstellen.
  • Wie bereits erwähnt, kann die dünnbesetzte Karte 800 Darstellungen einer Vielzahl von Zieltrajektorien 810 zum Führen des autonomen Fahrens oder der Navigation entlang eines Straßenabschnitts beinhalten. Solche Zieltrajektorien können als dreidimensionale Splines gespeichert werden. Die in der dünnbesetzten Karte 800 gespeicherten Zieltrajektorien können beispielsweise auf Grundlage von zwei oder mehr rekonstruierten Trajektorien früherer Durchfahrten von Fahrzeugen entlang eines bestimmten Straßenabschnitts bestimmt werden. Ein Straßenabschnitt kann mit einer einzigen Zieltrajektorie oder mit mehreren Zieltrajektorien verbunden sein. Auf einer zweispurigen Straße kann beispielsweise eine erste Zieltrajektorie gespeichert werden, um einen beabsichtigten Fahrweg entlang der Straße in einer ersten Richtung darzustellen, und eine zweite Zieltrajektorie kann gespeichert werden, um einen beabsichtigten Fahrweg entlang der Straße in einer anderen Richtung (z.B. entgegengesetzt zur ersten Richtung) darzustellen. Für einen bestimmten Straßenabschnitt können zusätzliche Zieltrajektorien gespeichert werden. So können beispielsweise auf einer mehrspurigen Straße eine oder mehrere Zieltrajektorien gespeichert werden, die beabsichtigte Fahrwege für Fahrzeuge auf einer oder mehreren der mehrspurigen Straße zugehörigen Fahrspuren darstellen. In einigen Ausführungsformen kann jede Spur einer mehrspurigen Straße mit einer eigenen Zieltrajektorie verbunden sein. In anderen Ausführungsformen können weniger Zieltrajektorien gespeichert sein als Fahrspuren auf einer mehrspurigen Straße vorhanden sind. In solchen Fällen kann ein Fahrzeug, das auf einer mehrspurigen Straße unterwegs ist, eine der gespeicherten Zieltrajektorien verwenden, um seine Navigation zu führen, indem es einen Spurversatzbetrag zu einer Spur berücksichtigt, für die eine Zieltrajektorie gespeichert ist (wenn z.B. ein Fahrzeug auf der linken Fahrspur einer dreispurigen Autobahn fährt und eine Zieltrajektorie nur für die mittlere Fahrspur der Autobahn gespeichert ist, kann das Fahrzeug unter Verwendung der Zieltrajektorie der mittleren Fahrspur navigieren, indem es bei der Erzeugung von Navigationsanweisungen den Fahrspurversatzbetrag zwischen der mittleren Fahrspur und der linken Fahrspur berücksichtigt).
  • In einigen Ausführungsformen kann die Zieltrajektorie einen idealen Weg darstellen, den ein Fahrzeug während seiner Fahrt nehmen sollte. Die Zieltrajektorie kann sich beispielsweise in einer ungefähren Mitte einer Fahrspur befinden. In anderen Fällen kann sich die Zieltrajektorie an einer anderen Stelle in Bezug auf den Straßenabschnitt befinden. Beispielsweise kann eine Zieltrajektorie annähernd mit einer Mitte einer Straße, einer Straßenkante oder einem Fahrspurrand usw. übereinstimmen. In solchen Fällen kann die Navigation auf Grundlage der Zieltrajektorie einen bestimmten Versatzbetrag beinhalten, der relativ zur Position der Zieltrajektorie einzuhalten ist. Darüber hinaus kann in einigen Ausführungsformen der bestimmte Versatzbetrag, der in Bezug auf die Position der Zieltrajektorie einzuhalten ist, je nach Fahrzeugtyp unterschiedlich sein (z.B. kann ein Pkw mit zwei Achsen entlang zumindest eines Teils der Zieltrajektorie einen anderen Versatz aufweisen als ein Lkw mit mehr als zwei Achsen).
  • Die dünnbesetzte Karte 800 kann auch Daten enthalten, die sich auf eine Vielzahl vorbestimmter Bezugspunkte 820 beziehen, die mit bestimmten Straßenabschnitten, lokalen Karten usw. verbunden sind. Wie nachstehend näher erläutert, können diese Bezugspunkte bei der Navigation des autonomen Fahrzeugs verwendet werden. In einigen Ausführungsformen können die Bezugspunkte beispielsweise dazu verwendet werden, eine aktuelle Position des Fahrzeugs relativ zu einer gespeicherten Zieltrajektorie zu bestimmen. Anhand dieser Positionsinformationen kann das autonome Fahrzeug eine Kursrichtung so anpassen, dass sie mit einer Richtung der Zieltrajektorie an dem bestimmten Standort übereinstimmt.
  • Die Vielzahl von Bezugspunkten 820 kann in jedem geeigneten Abstand identifiziert und in der dünnbesetzten Karte 800 gespeichert werden. In einigen Ausführungsformen können Bezugspunkte in relativ hoher Dichte gespeichert werden (z.B. alle paar Meter oder mehr). In einigen Ausführungsformen können jedoch auch wesentlich größere Abstände zwischen den Bezugspunkten verwendet werden. In der dünnbesetzten Karte 800 können die identifizierten (oder erkannten) Bezugspunkte beispielsweise 10 Meter, 20 Meter, 50 Meter, 100 Meter, 1 Kilometer oder 2 Kilometer voneinander entfernt sein. In einigen Fällen können die identifizierten Bezugspunkte sogar mehr als 2 Kilometer voneinander entfernt sein.
  • Zwischen den Bezugspunkten und somit zwischen den Positionsbestimmungen des Fahrzeugs in Bezug auf eine Zieltrajektorie kann das Fahrzeug auf Grundlage von Koppelnavigation navigieren, bei der das Fahrzeug mithilfe von Sensoren seine Ego-Bewegung bestimmt und seine Position in Bezug auf die Zieltrajektorie schätzt. Da sich bei der Navigation durch Koppelnavigation Fehler häufen können, können die Positionsbestimmungen relativ zur Zieltrajektorie mit der Zeit immer ungenauer werden. Das Fahrzeug kann in der dünnbesetzten Karte 800 vorkommende Bezugspunkte (und deren bekannte Standorte) verwenden, um die durch die Koppelnavigation verursachten Fehler bei der Positionsbestimmung zu eliminieren. Auf diese Weise können die identifizierten Bezugspunkte, die in der dünnbesetzten Karte 800 enthalten sind, als Navigationsanker dienen, anhand derer eine genaue Position des Fahrzeugs relativ zu einer Zieltrajektorie bestimmt werden kann. Da ein gewisses Maß an Fehlern bei der Positionsbestimmung akzeptabel sein kann, muss nicht immer ein identifizierter Bezugspunkt für ein autonomes Fahrzeug verfügbar sein. Vielmehr kann eine geeignete Navigation auch auf Grundlage der vorstehend erwähnten Abstände zwischen den Bezugspunkten von 10 Metern, 20 Metern, 50 Metern, 100 Metern, 500 Metern, 1 Kilometer, 2 Kilometern oder mehr möglich sein. In einigen Ausführungsformen kann eine Dichte von 1 identifizierten Bezugspunkt pro 1 Straßenkilometer ausreichen, um eine Genauigkeit einer Positionsbestimmung in Längsrichtung innerhalb von 1 m aufrechtzuerhalten. Somit muss nicht jeder mögliche Bezugspunkt, der entlang eines Straßenabschnitts auftritt, in der dünnbesetzten Karte 800 gespeichert werden.
  • Darüber hinaus können in einigen Ausführungsformen Fahrspurmarkierungen zur Lokalisierung des Fahrzeugs während der Bezugspunktabstände verwendet werden. Durch die Verwendung von Fahrspurmarkierungen während Bezugspunktabständen kann die Häufung von Fehlern während einer Navigation mittels Koppelnavigation minimiert werden.
  • Zusätzlich zu Zieltrajektorien und identifizierten Bezugspunkten kann die dünnbesetzte Karte 800 Informationen über verschiedene andere Straßenmerkmale beinhalten. 9A zeigt beispielsweise eine Darstellung von Kurven entlang eines bestimmten Straßenabschnitts, die in der dünnbesetzten Karte 800 gespeichert sein können. In einigen Ausführungsformen kann eine einzelne Fahrspur einer Straße durch eine dreidimensionale polynomiale Beschreibung der linken und der rechten Straßenseite modelliert werden. Solche Polynome, die die linke und die rechte Seite einer einzelnen Fahrspur darstellen, sind in 9A dargestellt. Unabhängig davon, wie viele Fahrspuren eine Straße hat, kann sie mithilfe von Polynomen in ähnlicher Weise wie in 9A dargestellt werden. Beispielsweise können die linke und die rechte Seite einer mehrspurigen Straße durch Polynome dargestellt werden, die den in 9A gezeigten ähnlich sind, und auf einer mehrspurigen Straße vorhandene mittlere Fahrspurmarkierungen (z.B. gestrichelte Markierungen, die Fahrspurgrenzen darstellen, durchgezogene gelbe Linien, die die Grenzen zwischen in verschiedenen Richtungen verlaufenden Fahrspuren darstellen, usw.) können ebenfalls durch Polynome dargestellt werden, wie sie in 9A gezeigt sind.
  • Wie in 9A gezeigt, kann eine Fahrspur 900 durch Polynome (z.B. Polynome erster Ordnung, zweiter Ordnung, dritter Ordnung oder jeder anderen geeigneten Ordnung) dargestellt werden. Zur Veranschaulichung wird die Fahrspur 900 als zweidimensionale Fahrspur und die Polynome als zweidimensionale Polynome dargestellt. Wie in 9A dargestellt, umfasst die Fahrspur 900 eine linke Seite 910 und eine rechte Seite 920. In einigen Ausführungsformen kann mehr als ein Polynom verwendet werden, um einen Standort jeder Seite der Straße oder Fahrspurbegrenzung darzustellen. Beispielsweise können die linke Seite 910 und die rechte Seite 920 jeweils durch eine Vielzahl von Polynomen beliebiger Länge dargestellt werden. In einigen Fällen können die Polynome eine Länge von etwa 100 m haben, obwohl auch andere Längen größer oder kleiner als 100 m verwendet werden können. Zudem können sich die Polynome überschneiden, um nahtlose Übergänge bei der Navigation auf Grundlage aufeinanderfolgender Polynome zu erleichtern, während ein Host-Fahrzeug eine Fahrbahn entlangfährt. Beispielsweise können die linke Seite 910 und die rechte Seite 920 jeweils durch eine Vielzahl von Polynomen dritter Ordnung dargestellt werden, die in Abschnitte von etwa 100 Metern Länge unterteilt sind (ein Beispiel für den ersten vorbestimmten Bereich) und sich um etwa 50 Meter überlappen. Die Polynome, die die linke Seite 910 und die rechte Seite 920 darstellen, können gegebenenfalls die gleiche Ordnung haben. In einigen Ausführungsformen können beispielsweise einige Polynome Polynome zweiter Ordnung, einige Polynome dritter Ordnung und einige Polynome vierter Ordnung sein.
  • In dem in 9A dargestellten Beispiel wird die linke Seite 910 der Fahrspur 900 durch zwei Gruppen von Polynomen dritter Ordnung dargestellt. Die erste Gruppe beinhaltet die Polynomabschnitte 911, 912 und 913. Die zweite Gruppe beinhaltet die Polynomabschnitte 914, 915 und 916. Die beiden Gruppen verlaufen zwar im Wesentlichen parallel zueinander, folgen aber der Lage ihrer jeweiligen Straßenseite. Die Polynomabschnitte 911, 912, 913, 914, 915 und 916 haben eine Länge von etwa 100 Metern und überlappen benachbarte Abschnitte der Reihe um etwa 50 Meter. Wie bereits erwähnt, können jedoch auch Polynome mit anderen Längen und anderen Überlappungsbeträgen verwendet werden. Die Polynome können beispielsweise eine Länge von 500 m, 1 km oder mehr haben, und der Überlappungsbetrag kann zwischen 0 und 50 m, 50 m und 100 m oder mehr als 100 m variieren. Während in 9A Polynome dargestellt sind, die sich im 2D-Raum (z.B. auf der Papieroberfläche) erstrecken, ist zu beachten, dass diese Polynome auch Kurven darstellen können, die sich in drei Dimensionen erstrecken (z.B. eine Höhenkomponente beinhalten), um zusätzlich zur X-Y-Krümmung Höhenänderungen in einem Straßenabschnitt darzustellen. In dem in 9A gezeigten Beispiel wird die rechte Seite 920 der Fahrspur 900 außerdem durch eine erste Gruppe mit Polynomabschnitten 921, 922 und 923 und eine zweite Gruppe mit Polynomabschnitten 924, 925 und 926 dargestellt.
  • Um zu den Zieltrajektorien der dünnbesetzten Karte 800 zurückzukehren, zeigt 9B ein dreidimensionales Polynom, das eine Zieltrajektorie für ein Fahrzeug darstellt, das entlang eines bestimmten Straßenabschnitts fährt. Die Zieltrajektorie stellt nicht nur den X-Y-Weg dar, den ein Host-Fahrzeug entlang eines bestimmten Straßenabschnitts fahren sollte, sondern auch die Höhenänderung, die das Host-Fahrzeug während der Fahrt entlang des Straßenabschnitts erfährt. Somit kann jede Zieltrajektorie in der dünnbesetzten Karte 800 durch ein oder mehrere dreidimensionale Polynome wie das dreidimensionale Polynom 950 in 9B dargestellt werden. Die dünnbesetzte Karte 800 kann eine Vielzahl von Trajektorien beinhalten (z.B. Millionen oder Milliarden oder mehr, um Trajektorien von Fahrzeugen entlang verschiedener Straßenabschnitte auf der ganzen Welt darzustellen). In einigen Ausführungsformen kann jede Zieltrajektorie einem Spline entsprechen, der dreidimensionale Polynomabschnitte verbindet.
  • Was den Daten-Footprint der in der dünnbesetzten Karte 800 gespeicherten Polynomkurven betrifft, so kann in einigen Ausführungsformen jedes Polynom dritten Grades durch vier Parameter dargestellt werden, die jeweils vier Bytes an Daten erfordern. Geeignete Darstellungen können mit Polynomen dritten Grades erzielt werden, die etwa 192 Byte Daten pro 100 m erfordern. Dies kann zu einer Datennutzung/einem Datenübertragungsbedarf von etwa 200 kB pro Stunde für ein Host-Fahrzeug führen, das etwa 100 km/h fährt.
  • Die dünnbesetzte Karte 800 kann das Fahrspurnetz durch eine Kombination von Geometriedeskriptoren und Metadaten beschreiben. Die Geometrie kann durch Polynome oder Splines wie vorstehend erläutert beschrieben werden. Die Metadaten können die Anzahl der Fahrspuren, besondere Eigenschaften (z.B. eine Fahrgemeinschaftsspur, car pool lane) und möglicherweise andere spärliche Kennzeichnungen beschreiben. Der gesamte Footprint solcher Indikatoren kann vernachlässigbar sein.
  • Dementsprechend kann eine dünnbesetzte Karte gemäß Ausführungsformen der vorliegenden Offenbarung mindestens eine Liniendarstellung eines Straßenoberflächenmerkmals beinhalten, das sich entlang des Straßenabschnitts erstreckt, wobei jede Liniendarstellung einen Weg entlang des Straßenabschnitts darstellt, der im Wesentlichen dem Straßenoberflächenmerkmal entspricht. In einigen Ausführungsformen kann die mindestens eine Liniendarstellung des Straßenoberflächenmerkmals, wie vorstehend beschrieben, einen Spline, eine Polynomdarstellung oder eine Kurve beinhalten. In einigen Ausführungsformen kann das Straßenoberflächenmerkmal ferner eine Straßenkante und/oder eine Fahrspurmarkierung beinhalten. Wie nachstehend in Bezug auf „Crowdsourcing“ erläutert, kann darüber hinaus das Straßenoberflächenmerkmal durch Bildanalyse einer Vielzahl von Bildern identifiziert werden, die erfasst werden, während ein oder mehrere Fahrzeuge den Straßenabschnitt durchfahren.
  • Wie bereits erwähnt, kann die dünnbesetzte Karte 800 eine Vielzahl von vorbestimmten Bezugspunkten enthalten, die einem Straßenabschnitt zugeordnet sind. Anstatt tatsächliche Bilder der Bezugspunkte zu speichern und beispielsweise auf eine Bilderkennungsanalyse zurückzugreifen, die auf aufgenommenen und gespeicherten Bildern basiert, kann jeder Bezugspunkt auf der dünnbesetzten Karte 800 mit weniger Daten dargestellt und erkannt werden, als ein gespeichertes, tatsächliches Bild erfordern würde. Daten, die Bezugspunkte darstellen, können immer noch ausreichende Informationen zur Beschreibung oder Identifizierung der Bezugspunkte entlang einer Straße beinhalten. Durch das Speichern von Daten, die Eigenschaften von Bezugspunkten beschreiben, anstatt der eigentlichen Bilder von Bezugspunkten, kann die Größe der dünnbesetzten Karte 800 verringert werden.
  • 10 zeigt Beispiele für Arten von Bezugspunkten, die in der dünnbesetzten Karte 800 dargestellt werden können. Zu den Bezugspunkten können alle sichtbaren und identifizierbaren Objekte entlang eines Straßenabschnitts zählen. Die Bezugspunkte können so ausgewählt werden, dass sie feststehen und sich in Bezug auf ihren Standort und/oder ihren Inhalt nicht häufig ändern. Die in der dünnbesetzten Karte 800 enthaltenen Bezugspunkte können bei der Bestimmung eines Standorts des Fahrzeugs 200 in Bezug auf eine Zieltrajektorie nützlich sein, während das Fahrzeug einen bestimmten Straßenabschnitt durchfährt. Zu Beispielen für Bezugspunkte können Verkehrsschilder, Richtungsschilder, allgemeine Schilder (z.B. rechteckige Schilder), Straßenbefestigungen (z.B. Latemenmasten, Reflektoren usw.) und jede andere geeignete Kategorie zählen. In einigen Ausführungsformen können Fahrspurmarkierungen auf der Straße ebenfalls als Bezugspunkte in der dünnbesetzten Karte 800 enthalten sein.
  • Zu den in 10 gezeigten Beispielen für Bezugspunkte gehören Verkehrsschilder, Richtungsschilder, Straßenkantenbefestigungen und allgemeine Schilder. Verkehrsschilder können beispielsweise Tempolimitschilder (z.B. das Tempolimitschild 1000), Vorfahrtsschilder (z. B. das Vorfahrtsschild 1005), Routennummernschilder (z.B. das Routennummernschild 1010), Ampelschilder (z.B. das Ampelschild 1015) und Stoppschilder (z.B. das Stoppschild 1020) umfassen. Richtungsschilder können ein Schild mit einem oder mehreren Pfeilen umfassen, die eine oder mehrere Richtungen zu verschiedenen Orten angeben. Zu Richtungsschildern kann beispielsweise ein Autobahnschild 1025 mit Pfeilen gehören, die Fahrzeuge zu verschiedenen Straßen oder Orten leiten, ein Ausfahrtsschild 1030 mit einem Pfeil, der Fahrzeuge von einer Straße leitet, usw. Dementsprechend kann mindestens einer der Vielzahl von Bezugspunkten ein Straßenschild beinhalten.
  • Allgemeine Zeichen können verkehrsunabhängig sein. Zu den allgemeinen Schildern gehören z.B. Werbetafeln oder eine Begrüßungstafel an der Grenze zwischen zwei Ländern, Staaten, Landkreisen, Städten oder Gemeinden. 10 zeigt ein allgemeines Schild 1040 („Joe's Restaurant“). Wenngleich das allgemeine Zeichen 1040 eine rechteckige Form haben kann, wie in 10 gezeigt, kann das allgemeine Zeichen 1040 auch andere Formen haben, wie z.B. Quadrat, Kreis, Dreieck usw.
  • Zu den Bezugspunkten können auch Straßenkantenbefestigungen gehören. Bei Straßenkantenbefestigungen kann es sich um Objekte handeln, die keine Schilder sind und nicht mit dem Verkehr oder der Fahrtrichtung zusammenhängen. Zu den Straßenkantenbefestigungen können beispielsweise Laternenmasten (z.B. der Laternenmast 1035), Stromleitungsmasten, Ampelmasten usw. gehören.
  • Zu den Bezugspunkten können auch Baken gehören, die speziell für die Verwendung in einem autonomen Fahrzeugnavigationssystem konzipiert sind. Solche Baken können beispielsweise eigenständige Strukturen beinhalten, die in bestimmten Abständen platziert sind, um die Navigation eines Host-Fahrzeugs zu unterstützen. Solche Baken können auch optische/grafische Informationen enthalten, die zu bestehenden Straßenschildern hinzugefügt werden (z.B. Symbole, Embleme, Strichcodes usw.), die von einem Fahrzeug, das einen Straßenabschnitt entlangfährt, identifiziert oder erkannt werden können. Solche Baken können auch elektronische Komponenten beinhalten. In solchen Ausführungsformen können elektronische Baken (z.B. RFID-Etiketten usw.) verwendet werden, um nicht-optische Informationen an ein Host-Fahrzeug zu übertragen. Zu diesen Informationen können beispielsweise Informationen zur Identifizierung von Bezugspunkten und/oder zum Standort von Bezugspunkten gehören, die ein Host-Fahrzeug beim Bestimmen seiner Position entlang einer Zieltrajektorie verwenden kann.
  • In einigen Ausführungsformen können die in der dünnbesetzten Karte 800 enthaltenen Bezugspunkte durch ein Datenobjekt mit einer vorbestimmten Größe dargestellt werden. Die Daten, die einen Bezugspunkt darstellen, können alle geeigneten Parameter zum Identifizieren eines bestimmten Bezugspunkts beinhalten. In einigen Ausführungsformen können in der dünnbesetzten Karte 800 gespeicherte Bezugspunkte beispielsweise Parameter wie eine physische Größe des Bezugspunkts (z.B. zur Unterstützung einer Schätzung des Abstands zum Bezugspunkt auf Grundlage einer bekannten Größe/eines bekannten Maßstabs), einen Abstand zu einem vorherigen Bezugspunkt, einen seitlichen Versatz, eine Höhe, einen Typencode (z.B. einen Typ des Bezugspunkts - welche Art von Richtungsschild, Verkehrsschild usw.), eine GPS-Koordinate (z.B. zur Unterstützung der globalen Lokalisierung) und beliebige andere geeignete Parameter beinhalten. Jeder Parameter kann mit einer Datengröße verbunden sein. So kann beispielsweise die Größe eines Bezugspunkts mit 8 Bytes an Daten gespeichert werden. Ein Abstand zu einem vorherigen Bezugspunkt, ein seitlicher Versatz und eine Höhe können mit 12 Bytes an Daten angegeben werden. Ein Typencode, der einem Bezugspunkt wie einem Richtungsschild oder einem Verkehrszeichen zugeordnet ist, kann etwa 2 Bytes an Daten erfordern. Für allgemeine Zeichen kann eine Bildsignatur, die die Identifizierung des allgemeinen Zeichens ermöglicht, mit 50 Bytes Datenspeicherplatz gespeichert werden. Die GPS-Position des Bezugspunkts kann 16 Bytes Datenspeicher entsprechen. Diese Datengrößen für die einzelnen Parameter sind nur Beispiele, und es können auch andere Datengrößen verwendet werden. Die Darstellung von Bezugspunkten in der dünnbesetzten Karte 800 auf diese Weise kann eine schlanke Lösung für die effiziente Darstellung von Bezugspunkten in der Datenbank bieten. In einigen Ausführungsformen können Objekte als standardisierte semantische Objekte oder nicht-standardisierte semantische Objekte bezeichnet werden. Ein standardisiertes semantisches Objekt kann jede Klasse von Objekten umfassen, für die es einen standardisierten Satz von Eigenschaften gibt (z. B. Tempolimitschilder, Warnschilder, Richtungsschilder, Verkehrsampeln usw. mit bekannten Abmessungen oder anderen Eigenschaften). Ein nichtstandardisiertes semantisches Objekt kann jedes Objekt umfassen, das nicht mit einem standardisierten Satz von Eigenschaften verbunden ist (z.B. allgemeine Werbeschilder, Schilder zur Kennzeichnung von Geschäften, Schlaglöcher, Bäume usw., die variable Abmessungen haben können). Jedes nicht-standardisierte semantische Objekt kann mit 38 Bytes an Daten dargestellt werden (z.B. 8 Bytes für die Größe, 12 Bytes für den Abstand zum vorherigen Bezugspunkt, den seitlichen Versatz und die Höhe, 2 Bytes für einen Typencode und 16 Bytes für Positionskoordinaten). Standardisierte semantische Objekte können mit noch weniger Daten dargestellt werden, da der Kartenerstellungsserver gegebenenfalls keine Größeninformationen benötigt, um das Objekt vollständig in der dünnbesetzten Karte darzustellen.
  • Die dünnbesetzte Karte 800 kann ein Kennzeichnungssystem verwenden, um Bezugspunkttypen darzustellen. In einigen Fällen kann jedes Verkehrszeichen oder Richtungsschild mit einer eigenen Kennzeichnung (einem „Tag“) versehen werden, die in der Datenbank als Teil der Bezugspunktidentifikation gespeichert werden kann. Zum Beispiel kann die Datenbank eine Größenordnung von 1000 verschiedenen Tags enthalten, die verschiedene Verkehrszeichen darstellen, und eine Größenordnung von etwa 10000 verschiedenen Tags, die Richtungsschilder darstellen. Natürlich kann eine beliebige geeignete Anzahl von Tags verwendet werden, und bei Bedarf können zusätzliche Tags erstellt werden. In einigen Ausführungsformen können allgemeine Zeichen mit weniger als 100 Bytes dargestellt werden (z.B. etwa 86 Bytes, davon 8 Bytes für die Größe, 12 Bytes für den Abstand zum vorherigen Bezugspunkt, den seitlichen Versatz und die Höhe, 50 Bytes für eine Bildsignatur und 16 Bytes für GPS-Koordinaten).
  • Bei semantischen Straßenschildern, die keine Bildsignatur erfordern, kann die anfallende Datendichte der dünnbesetzten Karte 800 selbst bei einer relativ hohen Bezugspunktdichte von etwa 1 pro 50 m in der Größenordnung von etwa 760 Bytes pro Kilometer liegen (z.B. 20 Bezugspunkte pro km x 38 Bytes pro Bezugspunkt = 760 Bytes). Selbst bei allgemeinen Schildern, die eine Bildsignaturkomponente enthalten, beträgt die anfallende Datendichte etwa 1,72 kB pro km (z.B. 20 Bezugspunkte pro km x 86 Bytes pro Bezugspunkt = 1.720 Bytes). Bei semantischen Straßenschildern entspricht dies einer Datennutzung von etwa 76 kB pro Stunde für ein Fahrzeug mit einer Geschwindigkeit von 100 km/h. Bei allgemeinen Schildern entspricht dies etwa 170 kB pro Stunde für ein Fahrzeug mit einer Geschwindigkeit von 100 km/h. Es ist zu beachten, dass in manchen Umgebungen (z.B. in städtischen Umgebungen) eine viel höhere Dichte an erkannten Objekten für die Aufnahme in die dünnbesetzte Karte zur Verfügung stehen kann (vielleicht mehr als eines pro Meter). In einigen Ausführungsformen kann ein allgemein rechteckiges Objekt, wie beispielsweise ein rechteckiges Schild, in der dünnbesetzten Karte 800 durch nicht mehr als 100 Bytes an Daten dargestellt werden. Die Darstellung des allgemein rechteckigen Objekts (z.B. das allgemeine Zeichen 1040) in der dünnbesetzten Karte 800 kann eine komprimierte Bildsignatur oder einen Bildhash (z.B. die komprimierte Bildsignatur 1045) enthalten, die mit dem allgemein rechteckigen Objekt verbunden ist. Diese komprimierte Bildsignatur/der Bildhash kann mit einem beliebigen geeigneten Bildhash-Algorithmus bestimmt werden und kann beispielsweise zur Unterstützung der Identifizierung eines allgemeinen Zeichens, z.B. eines erkannten Bezugspunkts, verwendet werden. Eine solche komprimierte Bildsignatur (z.B. Bildinformationen, die von tatsächlichen Bilddaten abgeleitet sind, die ein Objekt darstellen) kann die Notwendigkeit der Speicherung eines tatsächlichen Bildes eines Objekts oder die Notwendigkeit einer vergleichenden Bildanalyse, die an tatsächlichen Bildern durchgeführt wird, um Bezugspunkte zu erkennen, vermeiden.
  • Gemäß 10 kann die dünnbesetzte Karte 800 eine komprimierte Bildsignatur 1045 beinhalten oder speichern, die einem allgemeinen Zeichen 1040 zugeordnet ist, und nicht ein tatsächliches Bild des allgemeinen Zeichens 1040. Nachdem beispielsweise eine Bildaufnahmeeinrichtung (z.B. die Bildaufnahmeeinrichtung 122, 124 oder 126) ein Bild des allgemeinen Zeichens 1040 aufgenommen hat, kann ein Prozessor (z.B. der Bildprozessor 190 oder ein anderer Prozessor, der Bilder entweder an Bord eines Fahrzeugs oder an einem entfernten Standort in Bezug auf ein Host-Fahrzeug verarbeiten kann) eine Bildanalyse durchführen, um eine komprimierte Bildsignatur 1045 zu extrahieren/erstellen, die eine eindeutige Signatur oder ein Muster enthält, die/das dem allgemeinen Zeichen 1040 zugeordnet ist. In einer Ausführungsform kann die komprimierte Bildsignatur 1045 eine Form, ein Farbmuster, ein Helligkeitsmuster oder ein beliebiges anderes Merkmal beinhalten, das aus dem Bild des allgemeinen Zeichens 1040 extrahiert werden kann, um das allgemeine Zeichen 1040 zu beschreiben.
  • In 10 können die Kreise, Dreiecke und Sterne, die in der komprimierten Bildsignatur 1045 gezeigt werden, beispielsweise Bereiche mit unterschiedlichen Farben darstellen. Das durch die Kreise, Dreiecke und Sterne dargestellte Muster kann in der dünnbesetzten Karte 800 gespeichert werden, z.B. innerhalb der 50 Bytes, die für die Aufnahme einer Bildsignatur vorgesehen sind. Die Kreise, Dreiecke und Sterne sind nicht unbedingt als Hinweis darauf zu verstehen, dass diese Formen als Teil der Bildsignatur gespeichert werden. Vielmehr sollen diese Formen erkennbare Bereiche mit erkennbaren Farbunterschieden, Textbereiche, grafische Formen oder andere Variationen von Eigenschaften, die mit einem allgemeinen Zeichen zusammenhängen können, konzeptionell darstellen. Solche komprimierten Bildsignaturen können verwendet werden, um einen Bezugspunkt in Form eines allgemeinen Zeichens zu identifizieren. Die komprimierte Bildsignatur kann zum Beispiel verwendet werden, um eine „Gleich-nicht-Gleich“-Analyse durchzuführen, die auf einem Vergleich einer gespeicherten komprimierten Bildsignatur mit Bilddaten basiert, die zum Beispiel mit einer Kamera an Bord eines autonomen Fahrzeugs aufgenommen wurden.
  • Dementsprechend kann die Vielzahl von Bezugspunkten durch Bildanalyse der Vielzahl von Bildern identifiziert werden, die aufgenommen wurden, während ein oder mehrere Fahrzeuge den Straßenabschnitt durchfuhren. Wie nachstehend in Bezug auf „Crowdsourcing“ erläutert, kann in einigen Ausführungsformen die Bildanalyse zur Identifizierung der Vielzahl von Bezugspunkten ein Akzeptieren möglicher Bezugspunkte beinhalten, wenn ein Verhältnis von Bildern, in denen der Bezugspunkt vorkommt, zu Bildern, in denen der Bezugspunkt nicht vorkommt, einen Schwellenwert überschreitet. Darüber hinaus kann in einigen Ausführungsformen die Bildanalyse zur Identifizierung der Vielzahl von Bezugspunkten ein Zurückweisen möglicher Bezugspunkte beinhalten, wenn das Verhältnis von Bildern, in denen der Bezugspunkt nicht vorkommt, zu Bildern, in denen der Bezugspunkt vorkommt, einen Schwellenwert überschreitet.
  • Unter erneuter Bezugnahme auf die Zieltrajektorien, die ein Host-Fahrzeug zur Navigation auf einem bestimmten Straßenabschnitt verwenden kann, zeigt 11A Polynomdarstellungen von Trajektorien, die während eines Prozesses zum Aufbauen oder Pflegen der dünnbesetzten Karte 800 erfasst werden. Eine Polynomdarstellung einer Zieltrajektorie, die in der dünnbesetzten Karte 800 enthalten ist, kann auf Grundlage von zwei oder mehr rekonstruierten Trajektorien früherer Durchfahrten von Fahrzeugen auf demselben Straßenabschnitt bestimmt werden. In einigen Ausführungsformen kann die Polynomdarstellung der Zieltrajektorie, die in der dünnbesetzten Karte 800 enthalten ist, eine Aggregation von zwei oder mehr rekonstruierten Trajektorien früherer Durchfahrten von Fahrzeugen entlang desselben Straßenabschnitts sein. In einigen Ausführungsformen kann die Polynomdarstellung der Zieltrajektorie, die in der dünnbesetzten Karte 800 enthalten ist, ein Durchschnitt der zwei oder mehr rekonstruierten Trajektorien früherer Durchfahrten von Fahrzeugen entlang desselben Straßenabschnitts sein. Es können auch andere mathematische Operationen verwendet werden, um eine Zieltrajektorie entlang eines Straßenwegs zu konstruieren, die auf rekonstruierten Trajektorien basiert, die von Fahrzeugen gesammelt wurden, die einen Straßenabschnitt befahren haben.
  • Wie in 11A gezeigt, kann ein Straßenabschnitt 1100 von einer Anzahl von Fahrzeugen 200 zu unterschiedlichen Zeiten befahren werden. Jedes Fahrzeug 200 kann Daten über einen Weg sammeln, den das Fahrzeug auf dem Straßenabschnitt zurückgelegt hat. Der von einem bestimmten Fahrzeug zurückgelegte Weg kann, neben anderen möglichen Quellen, anhand von Kameradaten, Beschleunigungsmesserdaten, Geschwindigkeitssensorinformationen und/oder GPS-Informationen bestimmt werden. Diese Daten können zur Rekonstruktion von Trajektorien von auf dem Straßenabschnitt fahrenden Fahrzeugen verwendet werden, und auf Grundlage dieser rekonstruierten Trajektorien kann eine Zieltrajektorie (oder mehrere Zieltrajektorien) für den jeweiligen Straßenabschnitt bestimmt werden. Solche Zieltrajektorien können einen bevorzugten Weg eines Host-Fahrzeugs darstellen (z.B. geführt von einem autonomen Navigationssystem), während das Fahrzeug den Straßenabschnitt entlangfährt.
  • In dem in 11A gezeigten Beispiel kann eine erste rekonstruierte Trajektorie 1101 auf Grundlage von Daten bestimmt werden, die von einem ersten Fahrzeug empfangen werden, das einen Straßenabschnitt 1100 zu einem ersten Zeitpunkt (z.B. Tag 1) durchfährt, eine zweite rekonstruierte Trajektorie 1102 kann von einem zweiten Fahrzeug empfangen werden, das einen Straßenabschnitt 1100 zu einem zweiten Zeitpunkt (z.B. Tag 2) durchfährt, und eine dritte rekonstruierte Trajektorie 1103 kann von einem dritten Fahrzeug empfangen werden, das einen Straßenabschnitt 1100 zu einem dritten Zeitpunkt (z.B. Tag 3) durchfährt. Jede Trajektorie 1101, 1102 und 1103 kann durch ein Polynom, beispielsweise ein dreidimensionales Polynom, dargestellt werden. Es sollte beachtet werden, dass in einigen Ausführungsformen jede der rekonstruierten Trajektorien an Bord der Fahrzeuge, die den Straßenabschnitt 1100 durchfahren, zusammengestellt werden kann.
  • Zusätzlich oder alternativ können solche rekonstruierten Trajektorien serverseitig auf Grundlage von Informationen bestimmt werden, die von Fahrzeugen empfangen werden, die den Straßenabschnitt 1100 befahren. In einigen Ausführungsformen können die Fahrzeuge 200 beispielsweise Daten über ihre Bewegung entlang des Straßenabschnitts 1100 (z.B. unter anderem Lenkwinkel, Kurs, Zeit, Position, Geschwindigkeit, erfasste Straßengeometrie und/oder erfasste Bezugspunkte) an einen oder mehrere Server übertragen. Der Server kann auf Grundlage der empfangenen Daten die Trajektorien für die Fahrzeuge 200 rekonstruieren. Der Server kann auf Grundlage der ersten, der zweiten und der dritten Trajektorie 1101, 1102, 1103 auch eine Zieltrajektorie zur Führung der Navigation eines autonomen Fahrzeugs erzeugen, das zu einem späteren Zeitpunkt auf demselben Straßenabschnitt 1100 fährt. Während eine Zieltrajektorie mit einer einzigen vorherigen Durchquerung eines Straßenabschnitts verbunden sein kann, kann in einigen Ausführungsformen jede in der dünnbesetzten Karte 800 enthaltene Zieltrajektorie auf Grundlage von zwei oder mehr rekonstruierten Trajektorien von Fahrzeugen bestimmt werden, die denselben Straßenabschnitt durchfahren haben. In 11A ist die Zieltrajektorie durch 1110 dargestellt. In einigen Ausführungsformen kann die Zieltrajektorie 1110 auf Grundlage eines Durchschnitts der ersten, der zweiten und der dritten Trajektorie 1101, 1102 und 1103 erzeugt werden. In einigen Ausführungsformen kann die in der dünnbesetzten Karte 800 enthaltene Zieltrajektorie 1110 eine Aggregation (z.B. eine gewichtete Kombination) von zwei oder mehr rekonstruierten Trajektorien sein.
  • Der Kartenerstellungsserver kann tatsächliche Trajektorien für einen jeweiligen Straßenabschnitt von mehreren Sammelfahrzeugen empfangen, die den Straßenabschnitt befahren. Um eine Zieltrajektorie für jeden gültigen Weg entlang des Straßenabschnitts (z.B. jede Fahrspur, jede Fahrtrichtung, jeden Weg durch eine Kreuzung usw.) zu erzeugen, können die empfangenen tatsächlichen Trajektorien ausgerichtet werden. Der Ausrichtungsprozess kann Verwenden von erkannten Objekten/Merkmalen, die entlang des Straßenabschnitts identifiziert wurden, zusammen mit gesammelten Positionen dieser erkannten Objekte/Merkmale beinhalten, um die tatsächlichen, gesammelten Trajektorien miteinander zu korrelieren. Nach der Ausrichtung kann auf Grundlage der zusammengefassten, korrelierten/ausgerichteten tatsächlichen Trajektorien eine durchschnittliche oder „bestmögliche“ Zieltrajektorie für jede verfügbare Spur usw. bestimmt werden.
  • 11B und 11C veranschaulichen das Konzept von Zieltrajektorien in Verbindung mit Straßenabschnitten innerhalb einer geografischen Region 1111 weiter. Wie in 11B gezeigt, kann ein erster Straßenabschnitt 1120 innerhalb der geografischen Region 1111 eine mehrspurige Straße beinhalten, die zwei Fahrspuren 1122 für Fahrzeugverkehr in einer ersten Richtung und zwei zusätzliche Fahrspuren 1124 für Fahrzeugverkehr in einer zweiten, der ersten Richtung entgegengesetzten Richtung beinhaltet. Die Fahrspuren 1122 und 1124 können durch eine doppelte gelbe Linie 1123 getrennt sein. Die geografische Region 1111 kann zudem einen abzweigenden Straßenabschnitt 1130 beinhalten, der sich mit dem Straßenabschnitt 1120 kreuzt. Der Straßenabschnitt 1130 kann eine zweispurige Straße beinhalten, wobei jede Spur für eine andere Fahrtrichtung bestimmt ist. Die geografische Region 1111 kann zudem andere Straßenmerkmale enthalten, z.B. eine Haltelinie 1132, ein Stoppschild 1134, ein Tempolimitschild 1136 und ein Gefahrenschild 1138.
  • Wie in 11C gezeigt, kann die dünnbesetzte Karte 800 eine lokale Karte 1140 mit einem Straßenmodell zur Unterstützung der autonomen Navigation von Fahrzeugen innerhalb der geografischen Region 1111 beinhalten. Zum Beispiel kann die lokale Karte 1140 Zieltrajektorien für eine oder mehrere Fahrspuren beinhalten, die den Straßenabschnitten 1120 und/oder 1130 innerhalb der geografischen Region 1111 zugeordnet sind. Beispielsweise kann die lokale Karte 1140 Zieltrajektorien 1141 und/oder 1142 enthalten, auf die ein autonomes Fahrzeug beim Durchfahren der Fahrspuren 1122 zugreifen oder zurückgreifen kann. Ebenso kann die lokale Karte 1140 Zieltrajektorien 1143 und/oder 1144 enthalten, auf die ein autonomes Fahrzeug beim Überqueren von Fahrspuren 1124 zugreifen oder zurückgreifen kann. Ferner kann die lokale Karte 1140 Zieltrajektorien 1145 und/oder 1146 enthalten, auf die ein autonomes Fahrzeug beim Durchfahren des Straßenabschnitts 1130 zugreifen oder zurückgreifen kann. Die Zieltrajektorie 1147 stellt einen bevorzugten Weg dar, dem ein autonomes Fahrzeug folgen sollte, wenn es von den Fahrspuren 1120 (und insbesondere in Bezug auf die Zieltrajektorie 1141, die mit der äußersten rechten Fahrspur der Fahrspuren 1120 verbunden ist) auf den Straßenabschnitt 1130 (und insbesondere in Bezug auf die Zieltrajektorie 1145, die mit einer ersten Seite des Straßenabschnitts 1130 verbunden ist) wechselt. Ebenso stellt die Zieltrajektorie 1148 einen bevorzugten Weg dar, dem ein autonomes Fahrzeug folgen sollte, wenn es vom Straßenabschnitt 1130 (und insbesondere relativ zur Zieltrajektorie 1146) auf einen Teil des Straßenabschnitts 1124 (und insbesondere, wie gezeigt, in Bezug auf eine Zieltrajektorie 1143, die mit einer linken Spur der Fahrspuren 1124 verbunden ist) wechselt.
  • Die dünnbesetzte Karte 800 kann auch Darstellungen anderer straßenbezogener Merkmale beinhalten, die mit der geografischen Region 1111 verbunden sind. Beispielsweise kann die dünnbesetzte Karte 800 auch Darstellungen eines oder mehrerer Bezugspunkte enthalten, die in der geografischen Region 1111 identifiziert wurden. Solche Bezugspunkte können einen ersten Bezugspunkte 1150 in Verbindung mit der Haltelinie 1132, einen zweiten Bezugspunkt 1152 in Verbindung mit dem Stoppschild 1134, einen dritten Bezugspunkt in Verbindung mit dem Tempolimitschild 1154 und einen vierten Bezugspunkt 1156 in Verbindung mit dem Gefahrenschild 1138 umfassen. Solche Bezugspunkte können beispielsweise verwendet werden, um ein autonomes Fahrzeug beim Bestimmen seines aktuellen Standorts in Bezug auf eine der gezeigten Zieltrajektorien zu unterstützen, so dass das Fahrzeug seinen Kurs so anpassen kann, dass er mit der Richtung der Zieltrajektorie an dem bestimmten Standort übereinstimmt.
  • In einigen Ausführungsformen kann die dünnbesetzte Karte 800 zudem Straßensignaturprofile beinhalten. Solche Straßensignaturprofile können mit jeder erkennbaren/messbaren Veränderung mindestens eines einer Straße zugehörigen Parameters verbunden sein. In einigen Fällen können solche Profile beispielsweise mit Variationen der Straßenoberflächeninformationen verbunden sein, wie z.B. Variationen der Oberflächenrauheit eines bestimmten Straßenabschnitts, Variationen der Straßenbreite über einen bestimmten Straßenabschnitt, Variationen der Abstände zwischen gestrichelten Linien entlang eines bestimmten Straßenabschnitts, Variationen der Straßenkrümmung entlang eines bestimmten Straßenabschnitts, usw. 11D zeigt ein Beispiel für ein Straßensignaturprofil 1160. Wenngleich das Profil 1160 jeden der vorstehend erwähnten Parameter oder andere darstellen kann, kann das Profil 1160 in einem Beispiel ein Maß für die Rauheit der Straßenoberfläche darstellen, wie es zum Beispiel durch die Überwachung eines oder mehrerer Sensoren erhalten wird, die Ausgaben liefern, die einen Betrag der Aufhängungsverlagerung anzeigen, während ein Fahrzeug einen bestimmten Straßenabschnitt befährt.
  • Alternativ oder gleichzeitig kann das Profil 1160 eine Variation der Straßenbreite darstellen, die anhand von Bilddaten bestimmt wird, die über eine Kamera an Bord eines Fahrzeugs, das einen bestimmten Straßenabschnitt befährt, erhalten werden. Solche Profile können beispielsweise beim Bestimmen eines bestimmten Standorts eines autonomen Fahrzeugs in Bezug auf eine bestimmte Zieltrajektorie nützlich sein. Das heißt, ein autonomes Fahrzeug kann beim Durchfahren eines Straßenabschnitts ein Profil messen, das mit einem oder mehreren Parametern des Straßenabschnitts verbunden ist. Wenn das gemessene Profil mit einem vorbestimmten Profil korreliert/abgeglichen werden kann, das die Parameteränderung in Bezug auf die Position entlang des Straßenabschnitts darstellt, können das gemessene und das vorbestimmte Profil verwendet werden (z.B. durch Überlagerung entsprechender Abschnitte des gemessenen und des vorbestimmten Profils), um eine aktuelle Position entlang des Straßenabschnitts und damit eine aktuelle Position relativ zu einer Zieltrajektorie für den Straßenabschnitt zu bestimmen.
  • In einigen Ausführungsformen kann die dünnbesetzte Karte 800 verschiedene Trajektorien beinhalten, die auf verschiedenen Merkmalen eines Benutzers von autonomen Fahrzeugen, Umweltbedingungen und/oder anderen fahrbezogenen Parametern basieren. In einigen Ausführungsformen können zum Beispiel verschiedene Trajektorien auf Grundlage unterschiedlicher Benutzerpräferenzen und/oder -profile erstellt werden. Die dünnbesetzte Karte 800, die solche unterschiedlichen Trajektorien enthält, kann verschiedenen autonomen Fahrzeugen unterschiedlicher Nutzer zur Verfügung gestellt werden. So ziehen es manche Nutzer vielleicht vor, mautpflichtige Straßen zu meiden, während andere lieber die kürzeste oder schnellste Route nehmen, unabhängig davon, ob auf der Route eine Mautstraße liegt. Die offenbarten Systeme können verschiedene dünnbesetzte Karten mit verschiedenen Trajektorien auf Grundlage solcher unterschiedlichen Benutzerpräferenzen oder -profile erzeugen. Ein weiteres Beispiel: Einige Benutzer ziehen es vor, auf einer schnelleren Spur zu fahren, während andere es vorziehen, stets auf der mittleren Spur zu bleiben.
  • Auf Grundlage unterschiedlicher Umgebungsbedingungen, wie Tag und Nacht, Schnee, Regen, Nebel usw., können unterschiedliche Trajektorien erstellt und in die dünnbesetzte Karte 800 aufgenommen werden. Autonome Fahrzeuge, die unter verschiedenen Umgebungsbedingungen fahren, können mit einer dünnbesetzten Karte 800 versorgt werden, die auf Grundlage dieser verschiedenen Umgebungsbedingungen erzeugt wurde. In einigen Ausführungsformen können an autonomen Fahrzeugen bereitgestellte Kameras die Umgebungsbedingungen erkennen und diese Informationen an einen Server weiterleiten, der dünnbesetzte Karten erzeugt und bereitstellt. Beispielsweise kann der Server eine bereits erzeugte dünnbesetzte Karte 800 erzeugen oder aktualisieren, um Trajektorien einzubeziehen, die für das autonome Fahren unter den erkannten Umgebungsbedingungen besser geeignet oder sicherer sind. Die Aktualisierung der dünnbesetzten Karte 800 auf Grundlage von Umgebungsbedingungen kann dynamisch erfolgen, während die autonomen Fahrzeuge auf den Straßen unterwegs sind.
  • Auch andere fahrbezogene Parameter können als Grundlage für das Erzeugen und Bereitstellen unterschiedlicher dünnbesetzter Karten für verschiedene autonome Fahrzeuge verwendet werden. Wenn ein autonomes Fahrzeug beispielsweise mit hoher Geschwindigkeit unterwegs ist, können Kurven enger sein. Trajektorien, die eher bestimmten Fahrspuren als Straßen zugeordnet sind, können in der dünnbesetzten Karte 800 enthalten sein, so dass das autonome Fahrzeug innerhalb einer bestimmten Spur bleiben kann, während es einer bestimmten Trajektorie folgt. Wenn ein von einer Kamera an Bord des autonomen Fahrzeugs aufgenommenes Bild anzeigt, dass das Fahrzeug die Fahrspur verlassen hat (z.B. die Fahrspurmarkierung überquert hat), kann eine Aktion innerhalb des Fahrzeugs ausgelöst werden, um das Fahrzeug entsprechend der spezifischen Trajektorie auf die vorgesehene Fahrspur zurückzubringen.
  • Crowdsourcing einer dünnbesetzten Karte
  • Die offenbarten dünnbesetzten Karten können effizient (und passiv) durch Crowdsourcing erstellt werden. So kann beispielsweise jedes Privat- oder Nutzfahrzeug, das mit einer Kamera (z.B. einer einfachen, niedrig auflösenden Kamera, die in der Regel zur Erstausrüstung heutiger Fahrzeuge gehört) und einem geeigneten Bildanalyseprozessor ausgestattet ist, als Sammelfahrzeug dienen. Es ist keine spezielle Ausrüstung (z.B. hochauflösende Bildgebungs- und/oder Positionsbestimmungssysteme) erforderlich. Als Ergebnis der offenbarten Crowdsourcing-Methode können die erzeugten dünnbesetzten Karten extrem genau sein und extrem verfeinerte Positionsinformationen enthalten (die Navigationsfehlergrenzen von 10 cm oder weniger ermöglichen), ohne dass eine spezielle Bildgebungs- oder Erfassungsausrüstung als Eingabe für den Kartenerzeugungsprozess erforderlich ist. Crowdsourcing ermöglicht auch eine wesentlich schnellere (und kostengünstigere) Aktualisierung der erstellten Karten, da dem Kartenerstellungsserversystem ständig neue Fahrinformationen von allen Straßen zur Verfügung stehen, die von privaten oder kommerziellen Fahrzeugen befahren werden, die minimal so ausgestattet sind, dass sie auch als Sammelfahrzeuge dienen können. Es besteht kein Bedarf an speziellen Fahrzeugen, die mit hochauflösenden Bildgebungs- und Kartenerstellungssensoren ausgestattet sind. Dadurch können die mit dem Bau solcher Spezialfahrzeuge verbundenen Kosten vermieden werden. Darüber hinaus können Aktualisierungen der vorliegend offenbarten dünnbesetzten Karten viel schneller vorgenommen werden als bei Systemen, die auf spezielle, spezialisierte Kartenerstellungsfahrzeuge angewiesen sind (die aufgrund ihrer Kosten und Spezialausrüstung typischerweise auf eine Flotte spezialisierter Fahrzeuge beschränkt sind, deren Anzahl weit unter der Anzahl privater oder kommerzieller Fahrzeuge liegt, die bereits zum Durchführen der offenbarten Sammelmethoden verfügbar sind).
  • Die offenbarten dünnbesetzten Karten, die durch Crowdsourcing erzeugt werden, können extrem genau sein, da sie auf Grundlage vieler Eingaben von mehreren (10, Hunderten, Millionen usw.) Sammelfahrzeugen erstellt werden können, die Fahrinformationen entlang eines bestimmten Straßenabschnitts gesammelt haben. So kann beispielsweise jedes Sammelfahrzeug, das einen bestimmten Straßenabschnitt befährt, seine tatsächliche Trajektorie aufzeichnen und Positionsinformationen in Bezug auf erkannte Objekte/Merkmale entlang des Straßenabschnitts bestimmen. Diese Informationen werden von mehreren Sammelfahrzeugen an einen Server weitergeleitet. Die tatsächlichen Trajektorien werden aggregiert, um eine verfeinerte Zieltrajektorie für jeden gültigen Fahrweg entlang des Straßenabschnitts zu erstellen. Darüber hinaus können die von den verschiedenen Sammelfahrzeugen gesammelten Positionsinformationen für jedes der erkannten Objekte/Merkmale entlang des Straßenabschnitts (semantisch oder nicht-semantisch) ebenfalls aggregiert werden. Infolgedessen kann die kartierte Position jedes erkannten Objekts/Merkmals einen Durchschnitt aus Hunderten, Tausenden oder Millionen individuell bestimmter Positionen für jedes erkannte Objekt/Merkmal darstellen. Mit einer solchen Methode können sich extrem genaue Kartenpositionen für die erkannten Objekte/Merkmale ergeben.
  • In einigen Ausführungsformen können die offenbarten Systeme und Verfahren eine dünnbesetzte Karte für autonome Fahrzeugnavigation erzeugen. Beispielsweise können offenbarte Systeme und Verfahren durch Crowdsourcing erhaltene Daten für die Erzeugung einer dünnbesetzten Karte verwenden, die ein oder mehrere autonome Fahrzeuge zur Navigation entlang eines Straßensystems nutzen können. Der Begriff „Crowdsourcing“ bedeutet vorliegend, dass Daten von verschiedenen Fahrzeugen (z.B. autonomen Fahrzeugen), die zu unterschiedlichen Zeiten auf einem Straßenabschnitt unterwegs sind, empfangen und zur Erzeugung und/oder Aktualisierung des Straßenmodells, einschließlich dünnbesetzter Kartenkacheln, verwendet werden. Das Modell oder beliebige seiner dünnbesetzten Kartenkacheln kann wiederum an die Fahrzeuge oder andere Fahrzeuge, die später den Straßenabschnitt befahren, übermittelt werden, um die autonome Fahrzeugnavigation zu unterstützen. Das Straßenmodell kann eine Vielzahl von Zieltrajektorien beinhalten, die bevorzugte Trajektorien darstellen, denen autonome Fahrzeuge folgen sollten, wenn sie einen Straßenabschnitt befahren. Die Zieltrajektorien können mit einer rekonstruierten tatsächlichen Trajektorie übereinstimmen, die von einem Fahrzeug, das einen Straßenabschnitt durchfährt, gesammelt wird und vom Fahrzeug an einen Server übertragen werden kann. In einigen Ausführungsformen können sich die Zieltrajektorien von den tatsächlichen Trajektorien unterscheiden, die ein oder mehrere Fahrzeuge zuvor beim Durchfahren eines Straßenabschnitts genommen haben. Die Zieltrajektorien können auf Grundlage der tatsächlichen Trajektorien erzeugt werden (z.B. durch Mittelwertbildung oder eine andere geeignete Operation).
  • Die Fahrzeugtrajektoriedaten, die ein Fahrzeug auf einen Server hochladen kann, können mit der tatsächlichen rekonstruierten Trajektorie für das Fahrzeug übereinstimmen oder einer empfohlenen Trajektorie entsprechen, die auf der tatsächlichen rekonstruierten Trajektorie des Fahrzeugs basieren oder sich auf diese beziehen kann, sich aber von der tatsächlichen rekonstruierten Trajektorie unterscheiden kann. So können Fahrzeuge beispielsweise ihre tatsächlichen rekonstruierten Trajektorien ändern und die geänderten tatsächlichen Trajektorien an den Server übermitteln (z.B. empfehlen). Das Straßenmodell kann die empfohlenen, modifizierten Trajektorien als Zieltrajektorien für die autonome Navigation anderer Fahrzeuge verwenden.
  • Zusätzlich zu Trajektorieinformationen können andere Informationen, die für die Erstellung einer dünnbesetzten Datenkarte 800 verwendet werden können, Informationen über mögliche Bezugspunktkandidaten beinhalten. Beispielsweise können die offenbarten Systeme und Verfahren durch Crowdsourcing von Informationen mögliche Bezugspunkte in einer Umgebung identifizieren und die Position der Bezugspunkte verfeinern. Die Bezugspunkte können von einem Navigationssystem für autonome Fahrzeuge verwendet werden, um die Position des Fahrzeugs entlang der Zieltrajektorien zu bestimmen und/oder anzupassen.
  • Die rekonstruierten Trajektorien, die ein Fahrzeug während seiner Fahrt auf einer Straße erzeugen kann, können mit jedem geeigneten Verfahren erhalten werden. In einigen Ausführungsformen können die rekonstruierten Trajektorien durch Zusammenfügen von Bewegungsabschnitten für das Fahrzeug entwickelt werden, z.B. unter Verwendung von Ego-Bewegungsschätzungen (z.B. dreidimensionale Translation und dreidimensionale Rotation der Kamera und damit der Fahrzeugkarosserie). Die Rotations- und Translationsschätzung kann auf Grundlage einer Analyse von Bildern, die von einer oder mehreren Bildaufnahmeeinrichtungen aufgenommen wurden, zusammen mit Informationen von anderen Sensoren oder Einrichtungen, wie Trägheitssensoren und Geschwindigkeitssensoren, bestimmt werden. Die Trägheitssensoren können zum Beispiel einen Beschleunigungsmesser oder andere geeignete Sensoren umfassen, die so konfiguriert sind, dass sie Änderungen der Translation und/oder Rotation der Fahrzeugkarosserie messen. Das Fahrzeug kann einen Geschwindigkeitssensor beinhalten, der eine Geschwindigkeit des Fahrzeugs misst.
  • In einigen Ausführungsformen kann die Ego-Bewegung der Kamera (und damit der Fahrzeugkarosserie) auf Grundlage einer optischen Flussanalyse der aufgenommenen Bilder geschätzt werden. Eine optische Flussanalyse einer Bildsequenz identifiziert die Bewegung von Pixeln aus der Bildsequenz und bestimmt auf Grundlage der identifizierten Bewegung die Bewegungen des Fahrzeugs. Die Ego-Bewegung kann über die Zeit und entlang des Straßenabschnitts integriert werden, um eine mit dem Straßenabschnitt verbundene Trajektorie zu rekonstruieren, der das Fahrzeug gefolgt ist.
  • Daten (z.B. rekonstruierte Trajektorien), die von mehreren Fahrzeugen in mehreren Fahrten entlang eines Straßenabschnitts zu unterschiedlichen Zeiten gesammelt wurden, können verwendet werden, um das Straßenmodell (z.B. einschließlich der Zieltrajektorien usw.) zu konstruieren, das in der dünnbesetzten Datenkarte 800 enthalten ist. Daten, die von mehreren Fahrzeugen bei verschiedenen Fahrten entlang eines Straßenabschnitts zu unterschiedlichen Zeiten gesammelt wurden, können auch gemittelt werden, um eine Genauigkeit des Modells zu erhöhen. In einigen Ausführungsformen können Daten über die Straßengeometrie und/oder Bezugspunkte von mehreren Fahrzeugen empfangen werden, die den gemeinsamen Straßenabschnitt zu unterschiedlichen Zeiten befahren. Solche von verschiedenen Fahrzeugen empfangenen Daten können zur Erstellung des Straßenmodells und/oder zur Aktualisierung des Straßenmodells kombiniert werden.
  • Die Geometrie einer rekonstruierten Trajektorie (und auch einer Zieltrajektorie) entlang eines Straßenabschnitts kann durch eine Kurve im dreidimensionalen Raum dargestellt werden, die ein Spline sein kann, der dreidimensionale Polynome verbindet. Die rekonstruierte Trajektoriekurve kann aus der Analyse eines Videostroms oder einer Vielzahl von Bildern, die von einer am Fahrzeug installierten Kamera aufgenommen wurden, bestimmt werden. In einigen Ausführungsformen wird in jedem Rahmen oder Bild eine Stelle identifiziert, die einige Meter vor der aktuellen Position des Fahrzeugs liegt. Diese Stelle ist der Ort, zu dem das Fahrzeug voraussichtlich in einem bestimmten Zeitraum fahren wird. Dieser Vorgang kann Rahmen für Rahmen wiederholt werden, und gleichzeitig kann das Fahrzeug die Ego-Bewegung der Kamera (Rotation und Translation) berechnen. Bei jedem Bild wird ein Nahbereichsmodell für den gewünschten Weg vom Fahrzeug in einem Referenzrahmen erstellt, der mit der Kamera verbunden ist. Die Nahbereichsmodelle können zusammengefügt werden, um ein dreidimensionales Modell der Straße in einem Koordinatenrahmen zu erhalten, der ein beliebiger oder vorbestimmter Koordinatenrahmen sein kann. Das dreidimensionale Modell der Straße kann dann durch einen Spline angepasst werden, der ein oder mehrere Polynome geeigneter Ordnung enthalten oder verbinden kann.
  • Zum Abschluss des Nahbereichsstraßenmodells in jedem Rahmen können ein oder mehrere Erkennungsmodule verwendet werden. So kann beispielsweise ein aufbauendes Spurerkennungsmodul verwendet werden. Das aufbauende Spurerkennungsmodul kann nützlich sein, wenn Fahrspurmarkierungen auf der Straße eingezeichnet sind. Dieses Modul kann nach Kanten im Bild suchen und diese zu den Fahrspurmarkierungen zusammensetzen. Ein zweites Modul kann zusammen mit dem aufbauenden Spurerkennungsmodul verwendet werden. Das zweite Modul ist ein durchgängiges tiefes neuronales Netz, das so trainiert werden kann, dass es aus einem Eingangsbild den richtigen Nahbereichsweg vorhersagt. In beiden Modulen kann das Straßenmodell im Bildkoordinatenrahmen erfasst und in einen dreidimensionalen Raum transformiert werden, der virtuell mit der Kamera verbunden werden kann.
  • Wenngleich das Verfahren für Modellierung mit rekonstruierten Trajektorien aufgrund der Integration der Ego-Bewegung über einen langen Zeitraum zu einer Akkumulierung von Fehlern führen kann, die auch eine Rauschkomponente enthalten kann, sind solche Fehler unter Umständen unerheblich, da das erzeugte Modell eine ausreichende Genauigkeit für die Navigation auf lokaler Ebene bietet. Darüber hinaus ist es möglich, den integrierten Fehler durch die Verwendung externer Informationsquellen, wie Satellitenbilder oder geodätische Messungen, zu korrigieren. So können die beschriebenen Systeme und Verfahren beispielsweise einen GNSS-Empfänger verwenden, um akkumulierte Fehler auszugleichen. Allerdings sind die GNSS-Positionssignale möglicherweise nicht immer verfügbar und genau. Die offenbarten Systeme und Verfahren können eine Lenkungsanwendung ermöglichen, die nur geringfügig von der Verfügbarkeit und Genauigkeit der GNSS-Positionsbestimmung abhängt. In solchen Systemen kann die Verwendung der GNSS-Signale eingeschränkt sein. In einigen Ausführungsformen können die offenbarten Systeme die GNSS-Signale beispielsweise nur für die Indizierung der Datenbank verwenden.
  • In einigen Ausführungsformen kann der Entfernungsmaßstab (z.B. lokaler Maßstab), der für eine Lenkungsanwendung autonomer Fahrzeugnavigation relevant sein kann, in der Größenordnung von 50 Metern, 100 Metern, 200 Metern, 300 Metern usw. liegen. Solche Abstände können verwendet werden, da das geometrische Straßenmodell hauptsächlich für zwei Zwecke verwendet wird: die Planung der vorausliegenden Trajektorie und die Lokalisierung des Fahrzeugs in dem Straßenmodell. In einigen Ausführungsformen kann die Planungsaufgabe das Modell in einem typischen Bereich von 40 Metern vorwärts (oder einer anderen geeigneten Entfernung nach vorne, z.B. 20 Meter, 30 Meter, 50 Meter) verwenden, wenn der Steueralgorithmus das Fahrzeug entsprechend einem Zielpunkt steuert, der sich 1,3 Sekunden voraus (oder eine andere Zeit, z.B. 1,5 Sekunden, 1,7 Sekunden, 2 Sekunden usw.) befindet. Die Lokalisierungsaufgabe verwendet das Straßenmodell in einem typischen Bereich von 60 Metern hinter dem Fahrzeug (oder in anderen geeigneten Abständen wie 50, 100, 150 Meter usw.) gemäß einem als „Heckausrichtung“ bezeichneten Verfahren, das in einem anderen Abschnitt näher beschrieben wird. Die offenbarten Systeme und Verfahren können ein geometrisches Modell erzeugen, das über einen bestimmten Bereich, z.B. 100 Meter, eine ausreichende Genauigkeit aufweist, dass eine geplante Trajektorie um nicht mehr als beispielsweise 30 cm von der Fahrbahnmitte abweicht.
  • Wie vorstehend erläutert, kann ein dreidimensionales Straßenmodell aus einem Erfassen von Nahbereichsabschnitten und deren Zusammenfügen erstellt werden. Das Zusammenfügen kann durch Berechnung eines Sechs-Grad-Ego-Bewegungsmodells unter Verwendung der von der Kamera aufgenommenen Videos und/oder Bilder, der Daten der Trägheitssensoren, die die Bewegungen des Fahrzeugs widerspiegeln, und des Geschwindigkeitsvektorsignals des Host-Fahrzeugs ermöglicht werden. Der akkumulierte Fehler kann über eine lokale Entfernungsskala, z.B. in der Größenordnung von 100 Metern, klein genug sein. All dies kann in einer einzigen Fahrt über einen bestimmten Straßenabschnitt erledigt werden.
  • In einigen Ausführungsformen können mehrere Fahrten verwendet werden, um das resultierende Modell zu mitteln und seine Genauigkeit weiter zu erhöhen. Ein und dasselbe Auto kann dieselbe Strecke mehrmals fahren, oder mehrere Autos können ihre gesammelten Modelldaten an einen zentralen Server senden. In jedem Fall kann ein Abgleichverfahren durchgeführt werden, um sich überschneidende Modelle zu identifizieren und eine Mittelwertbildung zu ermöglichen, um Zieltrajektorien zu erzeugen. Sobald ein Konvergenzkriterium erfüllt ist, kann das erstellte Modell (z.B. einschließlich der Zieltrajektorien) für die Lenkung verwendet werden. Nachfolgende Fahrten können für weitere Modellverbesserungen und zur Anpassung an Infrastrukturänderungen genutzt werden.
  • Die gemeinsame Nutzung von Fahrerfahrungen (z.B. von Sensordaten) durch mehrere Fahrzeuge ist möglich, wenn diese mit einem zentralen Server verbunden sind. Jeder Fahrzeug-Client kann eine Teilkopie eines universellen Straßenmodells speichern, die für seine aktuelle Position relevant sein kann. Eine bidirektionale Aktualisierungsprozedur zwischen den Fahrzeugen und dem Server kann von den Fahrzeugen und dem Server durchgeführt werden. Das vorstehend erläuterte Konzept des geringen Footprint ermöglicht es den offenbarten Systemen und Verfahren, die bidirektionalen Aktualisierungen mit einer sehr geringen Bandbreite durchzuführen.
  • Es können auch Informationen über mögliche Bezugspunkte bestimmt und an einen zentralen Server weitergeleitet werden. Beispielsweise können die offenbarten Systeme und Verfahren eine oder mehrere physikalische Eigenschaften eines möglichen Bezugspunkts auf Grundlage eines oder mehrerer Bilder bestimmen, die den Bezugspunkt enthalten. Zu den physikalischen Eigenschaften können eine physische Größe (z.B. Höhe, Breite) des Bezugspunkts, ein Abstand zwischen einem Fahrzeug und einem Bezugspunkt, ein Abstand zwischen dem Bezugspunkt und einem vorherigen Bezugspunkt, die seitliche Position des Bezugspunkts (z.B. die Position des Bezugspunkts relativ zur Fahrspur), die GPS-Koordinaten des Bezugspunkts, ein Typ des Bezugspunkts, die Identifizierung von Text auf dem Bezugspunkt usw. zählen. Beispielsweise kann ein Fahrzeug ein oder mehrere von einer Kamera aufgenommene Bilder analysieren, um einen möglichen Bezugspunkt zu erkennen, z.B. ein Tempolimitschild.
  • Das Fahrzeug kann auf Grundlage der Analyse des einen oder der mehreren Bilder einen Abstand zwischen dem Fahrzeug und dem Bezugspunkt oder eine mit dem Bezugspunkt verbundene Position (z.B. ein beliebiges semantisches oder nicht-semantisches Objekt oder Merkmal entlang eines Straßenabschnitts) bestimmen. In einigen Ausführungsformen kann der Abstand auf Grundlage der Analyse von Bildern des Bezugspunkts unter Verwendung eines geeigneten Bildanalyseverfahrens wie z.B. eines Skalierungsverfahrens und/oder eines optischen Flussverfahrens bestimmt werden. Wie bereits erwähnt, kann eine Position des Objekts/Merkmals eine 2D-Bildposition (z.B. eine X-Y-Pixelposition in einem oder mehreren aufgenommenen Bildern) eines oder mehrerer Punkte umfassen, die dem Objekt/Merkmal zugeordnet sind, oder kann eine reale 3D-Position eines oder mehrerer Punkte (z.B. bestimmt durch Structure in Motion/optische Flussverfahren, LIDAR- oder RADAR-Informationen usw.) umfassen. In einigen Ausführungsformen können die offenbarten Systeme und Verfahren so konfiguriert sein, dass sie eine Art oder Klassifizierung eines möglichen Bezugspunkts bestimmen. Wenn das Fahrzeug bestimmt, dass ein bestimmter möglicher Bezugspunkt einem vorbestimmten Typ oder einer vorbestimmten Klassifizierung entspricht, der/die in einer dünnbesetzten Karte gespeichert ist, kann es ausreichen, dass das Fahrzeug dem Server eine Angabe über den Typ oder die Klassifizierung des Bezugspunkts zusammen mit dessen Standort übermittelt. Der Server kann solche Angaben speichern. Zu einem späteren Zeitpunkt kann ein navigierendes Fahrzeug während der Navigation ein Bild aufnehmen, das eine Darstellung des Bezugspunktes enthält, das Bild verarbeiten (z.B. unter Verwendung eines Klassifizierers) und den resultierenden Bezugspunkt vergleichen, um die Erkennung des kartierten Bezugspunktes zu bestätigen und den kartierten Bezugspunkt bei der Lokalisierung des navigierenden Fahrzeugs in Bezug auf die dünnbesetzte Karte zu verwenden.
  • In einigen Ausführungsformen können mehrere autonome Fahrzeuge, die auf einem Straßenabschnitt unterwegs sind, mit einem Server kommunizieren. Die Fahrzeuge (oder Clients) können eine Kurve erzeugen, die ihre Fahrt (z.B. durch Integration der Ego-Bewegung) in einem beliebigen Koordinatenrahmen beschreibt. Die Fahrzeuge können Bezugspunkte erkennen und sie im selben Rahmen lokalisieren. Die Fahrzeuge können die Kurve und die Bezugspunkte auf den Server hochladen. Der Server kann Daten von Fahrzeugen über mehrere Fahrten sammeln und ein einheitliches Straßenmodell erstellen. Wie nachstehend in Bezug auf 19 beschrieben, kann der Server beispielsweise eine dünnbesetzte Karte mit dem vereinheitlichten Straßenmodell unter Verwendung der hochgeladenen Kurven und Bezugspunkte erzeugen.
  • Der Server kann das Modell auch an Clients (z.B. Fahrzeuge) weitergeben. So kann der Server beispielsweise die dünnbesetzte Karte an ein oder mehrere Fahrzeuge verteilen. Der Server kann das Modell kontinuierlich oder periodisch aktualisieren, wenn er neue Daten von den Fahrzeugen erhält. Beispielsweise kann der Server die neuen Daten verarbeiten, um zu bewerten, ob die Daten Informationen enthalten, die eine Aktualisierung oder eine Erstellung neuer Daten auf dem Server auslösen sollten. Der Server kann das aktualisierte Modell oder die Aktualisierungen an die Fahrzeuge weitergeben, um eine autonome Fahrzeugnavigation zu ermöglichen.
  • Der Server kann ein oder mehrere Kriterien verwenden, um zu bestimmen, ob neue von den Fahrzeugen empfangene Daten eine Aktualisierung des Modells oder die Erstellung neuer Daten auslösen sollen. Wenn die neuen Daten beispielsweise darauf hinweisen, dass ein zuvor erkannter Bezugspunkt an einem bestimmten Standort nicht mehr existiert oder durch einen anderen Bezugspunkt ersetzt wurde, kann der Server bestimmen, dass die neuen Daten eine Aktualisierung des Modells auslösen sollten. Ein weiteres Beispiel: Wenn die neuen Daten darauf hinweisen, dass ein Straßenabschnitt gesperrt wurde, und wenn dies durch von anderen Fahrzeugen empfangene Daten bestätigt wurde, kann der Server bestimmen, dass die neuen Daten eine Aktualisierung des Modells auslösen sollten.
  • Der Server kann das aktualisierte Modell (oder den aktualisierten Teil des Modells) an ein oder mehrere Fahrzeuge verteilen, die auf dem Straßenabschnitt unterwegs sind, zu dem die Aktualisierungen des Modells gehören. Der Server kann das aktualisierte Modell auch an Fahrzeuge verteilen, die den Straßenabschnitt befahren wollen, oder an Fahrzeuge, deren geplante Fahrt den Straßenabschnitt umfasst, zu dem die Aktualisierungen des Modells gehören. Wenn beispielsweise ein autonomes Fahrzeug auf einem anderen Straßenabschnitt unterwegs ist, bevor es den Straßenabschnitt erreicht, dem eine Aktualisierung zugeordnet ist, kann der Server die Aktualisierungen oder das aktualisierte Modell an das autonome Fahrzeug verteilen, bevor das Fahrzeug den Straßenabschnitt erreicht.
  • In einigen Ausführungsformen kann der entfernte Server Trajektorien und Bezugspunkte von mehreren Clients sammeln (z.B. von Fahrzeugen, die auf einem gemeinsamen Straßenabschnitt fahren). Der Server kann Kurven anhand von Bezugspunkten abgleichen und ein durchschnittliches Straßenmodell auf Grundlage der von mehreren Fahrzeugen gesammelten Trajektorien erstellen. Der Server kann zudem einen Graphen von Straßen und den wahrscheinlichsten Weg an jedem Knoten oder jeder Verbindung des Straßenabschnitts berechnen. Beispielsweise kann der entfernte Server die Trajektorien abgleichen, um aus den gesammelten Trajektorien eine durch Crowdsourcing erhaltene dünnbesetzte Karte zu erstellen.
  • Der Server kann Bezugspunkteigenschaften, die von mehreren Fahrzeugen empfangen wurden, die den gemeinsamen Straßenabschnitt befahren haben, mitteln, z.B. die von mehreren Fahrzeugen gemessenen Abstände zwischen einem Bezugspunkt und einem anderen (z.B. einem früheren entlang des Straßenabschnitts), um einen Bogenlängenparameter zu bestimmen und eine Lokalisierung entlang des Weges sowie die Geschwindigkeitskalibrierung für jedes Client-Fahrzeug zu unterstützen. Der Server kann die physischen Abmessungen eines Bezugspunkts mitteln, die von mehreren Fahrzeugen gemessen wurden, die denselben Straßenabschnitt befahren und denselben Bezugspunkt erkannt haben. Die gemittelten physischen Abmessungen können zur Unterstützung einer Abstandsschätzung verwendet werden, beispielsweise für den Abstand zwischen dem Fahrzeug und dem Bezugspunkt. Der Server kann seitliche Positionen eines Bezugspunkts (z.B. die Position von der Fahrspur, auf der die Fahrzeuge fahren, zum Bezugspunkt) mitteln, die von mehreren Fahrzeugen gemessen wurden, die auf demselben Straßenabschnitt unterwegs waren und denselben Bezugspunkt erkannt haben. Die gemittelte seitliche Position kann zur Unterstützung der Fahrspurzuweisung verwendet werden. Der Server kann die GPS-Koordinaten des Bezugspunkts mitteln, die von mehreren Fahrzeugen gemessen wurden, die denselben Straßenabschnitt befahren und denselben Bezugspunkt erkannt haben. Die gemittelten GPS-Koordinaten des Bezugspunkts können zur Unterstützung der globalen Lokalisierung oder Positionsbestimmung des Bezugspunkts im Straßenmodell verwendet werden.
  • In einigen Ausführungsformen kann der Server auf Grundlage von den Fahrzeugen empfangener Daten Modelländerungen erkennen, z.B. Bauarbeiten, Umleitungen, neue Schilder, Entfernung von Schildern usw. Der Server kann das Modell kontinuierlich oder augenblicklich aktualisieren, wenn er neue Daten von den Fahrzeugen erhält. Der Server kann Aktualisierungen des Modells oder das aktualisierte Modell an Fahrzeuge verteilen, um autonome Navigation zu ermöglichen. Wie nachstehend erläutert, kann der Server beispielsweise durch Crowdsourcing erhaltene Daten verwenden, um von Fahrzeugen erkannte „Geister“-Bezugspunkte herauszufiltern.
  • In einigen Ausführungsformen kann der Server Fahrereingriffe während des autonomen Fahrens analysieren. Der Server kann Daten analysieren, die zum Zeitpunkt und am Ort des Eingriffs vom Fahrzeug empfangen wurden, und/oder Daten, die vor dem Zeitpunkt des Eingriffs empfangen wurden. Der Server kann bestimmte Teile der Daten identifizieren, die den Eingriff verursacht haben oder in engem Zusammenhang damit stehen, z.B. Daten, die eine vorübergehende Sperrung der Fahrspur anzeigen, oder Daten, die auf einen Fußgänger auf der Straße hinweisen. Der Server kann das Modell auf Grundlage der identifizierten Daten aktualisieren. So kann der Server beispielsweise eine oder mehrere im Modell gespeicherte Trajektorien ändern.
  • 12 ist eine schematische Darstellung eines Systems, das Crowdsourcing zum Erzeugen einer dünnbesetzten Karte (sowie zur Verteilung und Navigation unter Verwendung einer durch Crowdsourcing erhaltenen dünnbesetzten Karte) verwendet. 12 zeigt einen Straßenabschnitt 1200 mit einer oder mehreren Fahrspuren. Eine Vielzahl von Fahrzeugen 1205, 1210, 1215, 1220 und 1225 kann gleichzeitig oder zu unterschiedlichen Zeiten auf dem Straßenabschnitt 1200 fahren (wenngleich sie in 12 gleichzeitig auf dem Straßensegment 1200 gezeigt sind). Mindestens eines der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 kann ein autonomes Fahrzeug sein. Zur Vereinfachung des vorliegenden Beispiels wird davon ausgegangen, dass es sich bei allen Fahrzeugen 1205, 1210, 1215, 1220 und 1225 um autonome Fahrzeuge handelt.
  • Jedes Fahrzeug kann Fahrzeugen ähneln, die in anderen Ausführungsformen offenbart sind (z.B. das Fahrzeug 200), und kann Komponenten oder Einrichtungen beinhalten, die in Fahrzeugen enthalten sind, die in anderen Ausführungsformen offenbart sind oder mit diesen verbunden sind. Jedes Fahrzeug kann mit einer Bildaufnahmeeinrichtung oder einer Kamera ausgestattet sein (z.B. der Bildaufnahmeeinrichtung 122 oder Kamera 122). Jedes Fahrzeug kann mit einem entfernten Server 1230 über ein oder mehrere Netzwerke (z.B. über ein Mobilfunknetz und/oder das Internet usw.) über drahtlose Kommunikationswege 1235 kommunizieren, wie durch die gestrichelten Linien angezeigt. Jedes Fahrzeug kann Daten an den Server 1230 übertragen und Daten vom Server 1230 empfangen. So kann der Server 1230 beispielsweise Daten von mehreren Fahrzeugen sammeln, die zu unterschiedlichen Zeiten auf dem Straßenabschnitt 1200 unterwegs sind, und die gesammelten Daten verarbeiten, um ein Straßennavigationsmodell für autonome Fahrzeuge oder eine Aktualisierung des Modells zu erzeugen. Der Server 1230 kann das Straßennavigationsmodell für autonome Fahrzeuge oder die Aktualisierung des Modells an die Fahrzeuge übertragen, die Daten an den Server 1230 gesendet haben. Der Server 1230 kann das Straßennavigationsmodell für autonome Fahrzeuge oder die Aktualisierung des Modells zu einem späteren Zeitpunkt an andere Fahrzeuge übertragen, die auf dem Straßenabschnitt 1200 unterwegs sind.
  • Während die Fahrzeuge 1205, 1210, 1215, 1220 und 1225 auf dem Straßenabschnitt 1200 fahren, können die von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 gesammelten (z.B. erkannten, erfassten oder gemessenen) Navigationsinformationen an den Server 1230 übertragen werden. In einigen Ausführungsformen können die Navigationsinformationen dem gemeinsamen Straßenabschnitt 1200 zugeordnet sein. Die Navigationsinformationen können eine Trajektorie enthalten, die jedem der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 zugeordnet ist, während jedes Fahrzeug über den Straßenabschnitt 1200 fährt. In einigen Ausführungsformen kann die Trajektorie auf Grundlage von Daten rekonstruiert werden, die von verschiedenen Sensoren und Einrichtungen erfasst werden, die am Fahrzeug 1205 bereitgestellt sind. So kann die Trajektorie beispielsweise auf Grundlage von Beschleunigungsmesserdaten und/oder Geschwindigkeitsdaten und/oder Daten zu Bezugspunkten und/oder Straßengeometrie oder -profilen und/oder Fahrzeugpositionsbestimmungsdaten und/oder Ego-Bewegungsdaten rekonstruiert werden. In einigen Ausführungsformen kann die Trajektorie auf Grundlage von Daten von Trägheitssensoren, z.B. Beschleunigungssensoren, und dem von einem Geschwindigkeitssensor erfassten Geschwindigkeitsvektor des Fahrzeugs 1205 rekonstruiert werden. Darüber hinaus kann in einigen Ausführungsforinen die Trajektorie (z.B. durch einen Prozessor an Bord jedes der Fahrzeuge 1205, 1210, 1215, 1220 und 1225) auf Grundlage einer erfassten Ego-Bewegung der Kamera bestimmt werden, die eine dreidimensionale Translation und/oder dreidimensionale Rotation (oder Rotationsbewegungen) anzeigen kann. Die Ego-Bewegung der Kamera (und damit der Fahrzeugkarosserie) kann aus einer Analyse eines oder mehrerer von der Kamera aufgenommener Bilder bestimmt werden.
  • In einigen Ausführungsforinen kann die Trajektorie des Fahrzeugs 1205 von einem an Bord des Fahrzeugs 1205 bereitgestellten Prozessor bestimmt und an den Server 1230 übertragen werden. In anderen Ausführungsformen kann der Server 1230 Daten empfangen, die von den verschiedenen Sensoren und Einrichtungen im Fahrzeug 1205 erfasst werden, und die Trajektorie auf Grundlage der vom Fahrzeug 1205 empfangenen Daten bestimmen.
  • In einigen Ausführungsforinen können die von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 an den Server 1230 übertragenen Navigationsinformationen Daten über die Straßenoberfläche, die Straßengeometrie oder das Straßenprofil beinhalten. Die Geometrie des Straßenabschnitts 1200 kann eine Fahrspurstruktur und/oder Bezugspunkte beinhalten. Die Fahrspurstruktur kann die Gesamtzahl der Fahrspuren des Straßenabschnitts 1200, die Art der Fahrspuren (z.B. Einbahnspur, Zweibahnspur, Fahrspur, Überholspur usw.), Markierungen auf den Fahrspuren, die Breite der Fahrspuren usw. umfassen. In einigen Ausführungsforinen können die Navigationsinformationen eine Fahrspurzuweisung beinhalten, z.B. welche Fahrspur einer Vielzahl von Fahrspuren ein Fahrzeug befährt. Beispielsweise kann die Fahrspurzuweisung mit einem numerischen Wert „3“ verbunden sein, der anzeigt, dass das Fahrzeug auf der dritten Fahrspur von links oder rechts fährt. Als weiteres Beispiel kann die Fahrspurzuweisung mit dem Textwert „mittlere Fahrspur“ verbunden sein, der angibt, dass das Fahrzeug auf der mittleren Fahrspur fährt.
  • Der Server 1230 kann die Navigationsinformationen auf einem nicht transienten, computerlesbaren Medium speichern, wie z.B. einer Festplatte, einer Compact Disc, einem Band, einem Speicher usw. Der Server 1230 kann (z.B. durch einen im Server 1230 enthaltenen Prozessor) zumindest einen Teil eines Straßennavigationsmodells für autonome Fahrzeuge für den gemeinsamen Straßenabschnitt 1200 auf Grundlage der von der Vielzahl von Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangenen Navigationsinformationen erzeugen und das Modell als Teil einer dünnbesetzten Karte speichern. Der Server 1230 kann eine mit jeder Spur verbundene Trajektorie auf Grundlage von durch Crowdsourcing erhaltenen Daten (z.B. Navigationsinformationen) bestimmen, die von mehreren Fahrzeugen (z.B. 1205, 1210, 1215, 1220 und 1225) empfangen werden, die zu unterschiedlichen Zeiten auf einer Spur eines Straßenabschnitts fahren. Der Server 1230 kann das Straßennavigationsmodell für autonome Fahrzeuge oder einen Teil des Modells (z.B. einen aktualisierten Teil) auf Grundlage einer Vielzahl von Trajektorien erzeugen, die auf Grundlage der durch Crowdsourcing erhaltenen Navigationsdaten bestimmt wurden. Der Server 1230 kann das Modell oder den aktualisierten Teil des Modells an eines oder mehrere der autonomen Fahrzeuge 1205, 1210, 1215, 1220 und 1225, die auf dem Straßenabschnitt 1200 fahren, oder an andere autonome Fahrzeuge, die zu einem späteren Zeitpunkt auf dem Straßenabschnitt fahren, übertragen, um ein bestehendes Straßennavigationsmodell für autonome Fahrzeuge zu aktualisieren, das in einem Navigationssystem der Fahrzeuge bereitgestellt wird. Das Straßennavigationsmodell für autonome Fahrzeuge kann von den autonomen Fahrzeugen bei der autonomen Navigation entlang des gemeinsamen Straßenabschnitts 1200 verwendet werden.
  • Wie vorstehend erläutert, kann das Straßennavigationsmodell für autonome Fahrzeuge in einer dünnbesetzten Karte enthalten sein (z.B. in der in 8 dargestellten dünnbesetzten Karte 800). Die dünnbesetzte Karte 800 kann eine spärliche Aufzeichnung von Daten in Bezug auf die Straßengeometrie und/oder Bezugspunkte entlang einer Straße enthalten, die ausreichende Informationen zur Führung der autonomen Navigation eines autonomen Fahrzeugs liefern kann, jedoch keine übermäßige Datenspeicherung erfordert. In einigen Ausführungsformen kann das Straßennavigationsmodell für autonome Fahrzeuge getrennt von der dünnbesetzten Karte 800 gespeichert werden und Kartendaten der dünnbesetzten Karte 800 verwenden, wenn das Modell zur Navigation ausgeführt wird. In einigen Ausführungsformen kann das Straßennavigationsmodell für autonome Fahrzeuge Kartendaten, die in der dünnbesetzten Karte 800 enthalten sind, zum Bestimmen von Zieltrajektorien entlang des Straßenabschnitts 1200 verwenden, um die autonome Navigation der autonomen Fahrzeuge 1205, 1210, 1215, 1220 und 1225 oder anderer Fahrzeuge zu führen, die später entlang des Straßenabschnitts 1200 fahren. Wenn das Straßennavigationsmodell für autonome Fahrzeuge beispielsweise von einem Prozessor ausgeführt wird, der in einem Navigationssystem des Fahrzeugs 1205 enthalten ist, kann das Modell den Prozessor veranlassen, die auf Grundlage der vom Fahrzeug 1205 empfangenen Navigationsinformationen bestimmten Trajektorien mit den in der dünnbesetzten Karte 800 enthaltenen vorbestimmten Trajektorien zu vergleichen, um den aktuellen Fahrkurs des Fahrzeugs 1205 zu validieren und/oder zu korrigieren.
  • In dem Straßennavigationsmodell für autonome Fahrzeuge kann die Geometrie eines Straßenmerkmals oder einer Zieltrajektorie durch eine Kurve in einem dreidimensionalen Raum codiert werden. In einer Ausführungsform kann die Kurve ein dreidimensionaler Spline sein, der ein oder mehrere verbindende dreidimensionale Polynome enthält. Wie ein Fachmann versteht, kann ein Spline eine numerische Funktion sein, die stückweise durch eine Reihe von Polynomen zur Anpassung von Daten definiert ist. Ein Spline zur Anpassung der dreidimensionalen Geometriedaten der Straße kann ein linearer Spline (erster Ordnung), ein quadratischer Spline (zweiter Ordnung), ein kubischer Spline (dritter Ordnung) oder beliebige andere Splines (anderer Ordnungen) oder eine Kombination aus diesen sein. Der Spline kann ein oder mehrere dreidimensionale Polynome unterschiedlicher Ordnung beinhalten, die Datenpunkte der dreidimensionalen Geometriedaten der Straße verbinden (z.B. anpassen). In einigen Ausführungsformen kann das Straßennavigationsmodell für autonome Fahrzeuge einen dreidimensionalen Spline beinhalten, der einer Zieltrajektorie entlang eines gemeinsamen Straßenabschnitts (z.B. des Straßenabschnitts 1200) oder einer Fahrspur des Straßenabschnitts 1200 entspricht.
  • Wie vorstehend erläutert, kann das in der dünnbesetzten Karte enthaltene Straßennavigationsmodell für autonome Fahrzeuge weitere Informationen beinhalten, z.B. die Identifizierung mindestens eines Bezugspunkts entlang des Straßenabschnitts 1200. Der Bezugspunkt kann innerhalb des Sichtfelds einer Kamera (z.B. der Kamera 122) sichtbar sein, die an jedem der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 installiert ist. In einigen Ausführungsformen kann die Kamera 122 ein Bild eines Bezugspunkts aufnehmen. Ein Prozessor (z.B. der Prozessor 180, 190 oder die Verarbeitungseinheit 110) im Fahrzeug 1205 kann das Bild des Bezugspunkts verarbeiten, um Identifikationsinformationen für den Bezugspunkt zu extrahieren. Die Bezugspunktidentifikationsinformationen können anstelle eines tatsächlichen Bilds des Bezugspunkts in der dünnbesetzten Karte 800 gespeichert werden. Die Bezugspunktidentifikationsinformationen können viel weniger Speicherplatz benötigen als ein tatsächliches Bild. Andere Sensoren oder Systeme (z.B. das GPS-System) können ebenfalls bestimmte Informationen zur Identifizierung des Bezugspunkts liefern (z.B. eine Position des Bezugspunkts). Der Bezugspunkt kann ein Verkehrszeichen und/oder eine Pfeilmarkierung und/oder eine Fahrspurmarkierung und/oder eine gestrichelte Fahrspurmarkierung und/oder eine Ampel und/oder eine Haltelinie und/oder ein Richtungsschild (z.B. ein Autobahnabfahrtschild mit einem Pfeil, der eine Richtung angibt, ein Autobahnschild mit Pfeilen, die in verschiedene Richtungen oder zu verschiedenen Orten weisen), eine Bezugspunktbake oder einen Laternenmast umfassen. Eine Bezugspunktbake bezieht sich auf eine Einrichtung (z.B. eine RFID-Einrichtung), die entlang eines Straßenabschnitts installiert ist und ein Signal an einen in einem Fahrzeug installierten Empfänger sendet oder reflektiert, so dass, wenn das Fahrzeug an der Einrichtung vorbeifährt, die vom Fahrzeug empfangene Bake und der Standort der Einrichtung (z.B. aus dem GPS-Standort der Einrichtung bestimmt) als Bezugspunkt verwendet werden können, der in das Straßennavigationsmodell für autonome Fahrzeuge und/oder die dünnbesetzte Karte 800 aufgenommen wird.
  • Die Identifizierung mindestens eines Bezugspunkts kann eine Position des mindestens einen Bezugspunkts beinhalten. Die Position des Bezugspunkts kann auf Grundlage von Positionsmessungen bestimmt werden, die mithilfe von Sensorsystemen (z.B. Global Positioning Systems, trägheitsbasierten Positionsbestimmungssystemen, Bezugspunktbaken usw.) durchgeführt werden, die mit der Vielzahl von Fahrzeugen 1205, 1210, 1215, 1220 und 1225 verbunden sind. In einigen Ausführungsformen kann die Position des Bezugspunkts durch Mitteln der Positionsmessungen bestimmt werden, die von den Sensorsystemen verschiedener Fahrzeuge 1205, 1210, 1215, 1220 und 1225 durch mehrere Fahrten erfasst, gesammelt oder empfangen wurden. Beispielsweise können die Fahrzeuge 1205, 1210, 1215, 1220 und 1225 Positionsmessdaten an den Server 1230 übertragen, der die Positionsmessungen mittelt und die gemittelte Positionsmessung als Position des Bezugspunkts verwendet. Die Position des Bezugspunkts kann durch Messungen, die von Fahrzeugen in nachfolgenden Fahrten empfangen werden, kontinuierlich verfeinert werden.
  • Die Identifizierung des Bezugspunkts kann die Größe des Bezugspunkts beinhalten. Der an einem Fahrzeug bereitgestellte Prozessor (z.B. 1205) kann die physische Größe des Bezugspunkts auf Grundlage der Analyse der Bilder schätzen. Der Server 1230 kann mehrere Schätzungen der physischen Größe desselben Bezugspunkts von verschiedenen Fahrzeugen über verschiedene Fahrten empfangen. Der Server 1230 kann die verschiedenen Schätzungen mitteln, um eine physische Größe für den Bezugspunkt zu ermitteln, und diese Größe im Straßenmodell speichern. Die Schätzung der physischen Größe kann zur weiteren Bestimmung oder Schätzung eines Abstands zwischen dem Fahrzeug und dem Bezugspunkt verwendet werden. Der Abstand zum Bezugspunkt kann auf Grundlage der aktuellen Geschwindigkeit des Fahrzeugs und eines Ausdehnungsmaßes geschätzt werden, das auf der Position des in den Bildern erscheinenden Bezugspunkts relativ zum Ausdehnungsfokus der Kamera beruht. Beispielsweise kann der Abstand zum Bezugspunkt durch Z= V*dt*R/D geschätzt werden, wobei V die Geschwindigkeit des Fahrzeugs, R der Abstand im Bild vom Bezugspunkt zum Zeitpunkt t1 bis zum Ausdehnungsfokus und D die Änderung des Abstands für den Bezugspunkt im Bild von t1 bis t2 ist. dt stellt die Differenz (t2-t1) dar. Beispielsweise kann der Abstand zum Bezugspunkt durch Z= V*dt*R/D geschätzt werden, wobei V die Geschwindigkeit des Fahrzeugs, R der Abstand im Bild zwischen dem Bezugspunkt und dem Ausdehnungsfokus, dt ein Zeitintervall und D die Bildverschiebung des Bezugspunkts entlang der Epipolarlinie ist. Auch andere Gleichungen, die der vorstehenden Gleichung entsprechen, wie z.B. Z = V * ω/Δω, können zur Schätzung des Abstands zum Bezugspunkt verwendet werden. Dabei ist V die Fahrzeuggeschwindigkeit, ω eine Bildlänge (wie die Objektbreite) und Δω die Änderung dieser Bildlänge in einer Zeiteinheit.
  • Wenn die physische Größe des Bezugspunkts bekannt ist, kann der Abstand zum Bezugspunkt auch auf Grundlage der folgenden Gleichung bestimmt werden: Z = f * W/ω, wobei f die Brennweite, W die Größe des Bezugspunkts (z.B. Höhe oder Breite) und ω die Anzahl der Pixel ist, wenn der Bezugspunkt das Bild verlässt. Aus der vorstehenden Gleichung lässt sich eine Abstandsänderung Z berechnen mit ΔZ = f * W * Δω / ω2 + f * ΔW/ω, wobei ΔW durch Mittelwertbildung auf Null abfällt und Δω die Anzahl der Pixel ist, die eine Hüllkörpergenauigkeit im Bild darstellen. Ein Wert, der die physische Größe des Bezugspunkts schätzt, kann durch Mitteln mehrerer Beobachtungen serverseitig berechnet werden. Der resultierende Fehler bei der Abstandsschätzung kann sehr gering sein. Es gibt zwei Fehlerquellen, die bei der Verwendung der vorstehenden Formel auftreten können, nämlich ΔW und Δω. Ihr Beitrag zum Abstandsfehler ist gegeben durch ΔZ = f * W * Δω / ω2 + f * ΔW/ω. ΔW zerfällt fällt durch Mittelwertbildung auf Null ab; daher wird ΔZ durch Δω bestimmt (z.B. die Ungenauigkeit des Hüllkörpers im Bild).
  • Bei Bezugspunkten unbekannter Größe kann der Abstand zum Bezugspunkt durch Verfolgen von Merkmalspunkten auf dem Bezugspunkt zwischen aufeinanderfolgenden Rahmen geschätzt werden. Zum Beispiel können bestimmte Merkmale auf einem Tempolimitschild zwischen zwei oder mehr Rahmen verfolgt werden. Auf Grundlage dieser verfolgten Merkmale kann eine Abstandsverteilung pro Merkmalspunkt erzeugt werden. Die Abstandsschätzung kann aus der Abstandsverteilung extrahiert werden. So kann beispielsweise der in der Abstandsverteilung am häufigsten auftretende Abstand als Abstandsschätzung verwendet werden. Als weiteres Beispiel kann der Durchschnitt der Abstandsverteilung als Abstandsschätzung verwendet werden.
  • 13 zeigt ein Beispiel für ein Straßennavigationsmodell für autonome Fahrzeuge, das durch eine Vielzahl von dreidimensionalen Splines 1301, 1302 und 1303 dargestellt wird. Die in 13 dargestellten Kurven 1301, 1302 und 1303 dienen nur der Veranschaulichung. Jeder Spline kann ein oder mehrere dreidimensionale Polynome enthalten, die eine Vielzahl von Datenpunkten 1310 verbinden. Jedes Polynom kann ein Polynom erster Ordnung, ein Polynom zweiter Ordnung, ein Polynom dritter Ordnung oder eine Kombination geeigneter Polynome verschiedener Ordnungen sein. Jeder Datenpunkt 1310 kann den von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangenen Navigationsinformationen zugeordnet sein. In einigen Ausführungsformen kann jeder Datenpunkt 1310 Daten zugeordnet sein, die sich auf Bezugspunkte (z.B. Größe, Standort und Identifikationsinformationen von Bezugspunkten) und/oder Straßensignaturprofile (z.B. Straßengeometrie, Straßenrauheitsprofil, Straßenkrümmungsprofil, Straßenbreitenprofil) beziehen. In einigen Ausführungsformen können einige Datenpunkte 1310 Daten zugeordnet sein, die sich auf Bezugspunkte beziehen, und andere können Daten zugeordnet sein, die sich auf Straßensignaturprofile beziehen.
  • 14 zeigt rohe Standortdaten 1410 (z.B. GPS-Daten), die von fünf verschiedenen Fahrten empfangen wurden. Eine Fahrt kann von einer anderen getrennt sein, wenn sie von verschiedenen Fahrzeugen zur gleichen Zeit, von demselben Fahrzeug zu verschiedenen Zeiten oder von verschiedenen Fahrzeugen zu verschiedenen Zeiten zurückgelegt wurde. Um Fehler in den Positionsdaten 1410 und unterschiedliche Positionen von Fahrzeugen innerhalb derselben Spur zu berücksichtigen (z.B. kann ein Fahrzeug näher an der linken Seite einer Spur fahren als ein anderes), kann der Server 1230 ein Kartengerüst 1420 unter Verwendung eines oder mehrerer statistischer Verfahren erzeugen, um zu bestimmen, ob Abweichungen in den rohen Positionsdaten 1410 tatsächliche Abweichungen oder statistische Fehler darstellen. Jeder Weg innerhalb des Gerüsts 1420 kann mit den Rohdaten 1410, die den Weg gebildet haben, verknüpft werden. Zum Beispiel ist der Weg zwischen A und B innerhalb des Gerüsts 1420 mit den Rohdaten 1410 der Fahrten 2, 3, 4 und 5 verknüpft, nicht aber der Fahrt 1. Das Gerüst 1420 ist möglicherweise nicht detailliert genug, um zur Navigation eines Fahrzeugs verwendet zu werden (z.B. weil es im Gegensatz zu den vorstehend beschriebenen Splines die Fahrten mehrerer Fahrspuren auf derselben Straße kombiniert), kann aber nützliche topologische Informationen liefern und zur Definition von Kreuzungen verwendet werden.
  • 15 veranschaulicht ein Beispiel, mit dem zusätzliche Details für eine dünnbesetzte Karte innerhalb eines Abschnitts eines Kartengerüsts (z.B. Abschnitt A bis B innerhalb des Gerüsts 1420) erzeugt werden können. Wie in 15 dargestellt, können die Daten (z.B. Ego-Bewegungsdaten, Straßenmarkierungsdaten und dergleichen) als Funktion der Position S (oder S1 oder S2) entlang der Fahrt dargestellt werden. Der Server 1230 kann Bezugspunkte für die dünnbesetzte Karte identifizieren, indem er eindeutige Übereinstimmungen zwischen den Bezugspunkten 1501, 1503 und 1505 der Fahrt 1510 und den Bezugspunkten 1507 und 1509 der Fahrt 1520 identifiziert. Ein solcher Abgleichalgorithmus kann zur Identifizierung der Bezugspunkte 1511, 1513 und 1515 führen. Ein Fachmann versteht jedoch, dass auch andere Abgleichalgorithmen verwendet werden können. So kann beispielsweise eine Wahrscheinlichkeitsoptimierung anstelle von oder in Kombination mit dem eindeutigen Abgleich verwendet werden. Der Server 1230 kann die Fahrten in Längsrichtung ausrichten, um die abgeglichenen Bezugspunkte auszurichten. Beispielsweise kann der Server 1230 eine Fahrt (z.B. die Fahrt 1520) als Referenzfahrt auswählen und dann die andere(n) Fahrt(en) (z.B. die Fahrt 1510) zur Ausrichtung verschieben und/oder elastisch dehnen.
  • 16 zeigt ein Beispiel für ausgerichtete Bezugspunktdaten zur Verwendung in einer dünnbesetzten Karte. Im Beispiel von 16 umfasst der Bezugspunkt 1610 ein Straßenschild. Das Beispiel in 16 zeigt ferner Daten einer Vielzahl von Fahrten 1601, 1603, 1605, 1607, 1609, 1611 und 1613. Im Beispiel von 16 bestehen die Daten der Fahrt 1613 aus einem „Geister“-Bezugspunkt, und der Server 1230 kann diesen als solchen identifizieren, weil keine der Fahrten 1601, 1603, 1605, 1607, 1609 und 1611 eine Identifikation eines Bezugspunkts in der Nähe des identifizierten Bezugspunkts der Fahrt 1613 enthält. Dementsprechend kann der Server 1230 mögliche Bezugspunkte akzeptieren, wenn ein Verhältnis von Bildern, in denen der Bezugspunkt vorkommt, zu Bildern, in denen der Bezugspunkt nicht vorkommt, einen Schwellenwert überschreitet, und/oder kann mögliche Bezugspunkte ablehnen, wenn ein Verhältnis von Bildern, in denen der Bezugspunkt nicht vorkommt, zu Bildern, in denen der Bezugspunkt vorkommt, einen Schwellenwert überschreitet.
  • 17 zeigt ein System 1700 zum Erzeugen von Fahrtdaten, die für Crowdsourcing einer dünnbesetzten Karte verwendet werden können. Wie in 17 dargestellt, kann das System 1700 eine Kamera 1701 und eine Ortungseinrichtung 1703 (z.B. ein GPS-Ortungsgerät) beinhalten. Die Kamera 1701 und die Ortungseinrichtung 1703 können an einem Fahrzeug (z.B. einem der Fahrzeuge 1205, 1210, 1215, 1220 und 1225) montiert sein. Die Kamera 1701 kann eine Vielzahl von Daten verschiedener Typen erzeugen, z.B. Bewegungsdaten, Verkehrszeichendaten, Straßendaten oder dergleichen. Die Kameradaten und Standortdaten können in Fahrtabschnitte 1705 unterteilt werden. Die Fahrtsegmente 1705 können zum Beispiel jeweils Kameradaten und Standortdaten von weniger als 1 km Fahrstrecke enthalten.
  • In einigen Ausführungsformen kann das System 1700 Redundanzen in den Fahrtabschnitten 1705 entfernen. Wenn beispielsweise ein Bezugspunkt in mehreren Bildern der Kamera 1701 auftritt, kann das System 1700 die redundanten Daten entfernen, so dass die Fahrtabschnitte 1705 nur eine einzige Kopie des Standorts des Bezugspunkts und aller Metadaten zu diesem Bezugspunkt enthalten. Als weiteres Beispiel kann, wenn eine Fahrspurmarkierung auf mehreren Bildern der Kamera 1701 vorkommt, das System 1700 die redundanten Daten entfernen, so dass die Fahrtabschnitte 1705 nur eine einzige Kopie des Standorts und aller Metadaten der Fahrspurmarkierung enthalten.
  • Das System 1700 beinhaltet zudem einen Server (z.B. den Server 1230). Der Server 1230 kann Fahrtabschnitte 1705 vom Fahrzeug empfangen und die Fahrtabschnitte 1705 zu einer einzigen Fahrt 1707 neu kombinieren. Eine solche Anordnung kann die Anforderungen an die Bandbreite bei der Übertragung von Daten zwischen dem Fahrzeug und dem Server verringern und gleichzeitig dem Server ermöglichen, Daten zu speichern, die sich auf eine ganze Fahrt beziehen.
  • 18 zeigt das System 1700 aus 17, das ferner für Crowdsourcing einer dünnbesetzten Karte konfiguriert ist. Wie in 17 beinhaltet das System 1700 das Fahrzeug 1810, das Fahrdaten beispielsweise mit einer Kamera (die z.B. Ego-Bewegungsdaten, Verkehrszeichendaten, Straßendaten oder dergleichen erzeugt) und einer Ortungseinrichtung (z.B. einem GPS-Ortungsgerät) erfasst. Wie in 17 unterteilt das Fahrzeug 1810 die gesammelten Daten in Fahrtabschnitte (in 18 dargestellt als „DS1 1“, „DS2 1“, „DSN 1“). Der Server 1230 empfängt dann die Fahrtabschnitte und rekonstruiert aus den empfangenen Abschnitten eine Fahrt (in 18 als „Fahrt 1“ dargestellt).
  • Wie in 18 weiter dargestellt, empfängt das System 1700 zudem Daten von zusätzlichen Fahrzeugen. Beispielsweise erfasst das Fahrzeug 1820 ebenfalls Fahrdaten beispielsweise mit einer Kamera (die z.B. Ego-Bewegungsdaten, Verkehrszeichendaten, Straßendaten oder dergleichen erzeugt) und einer Ortungseinrichtung (z.B. einem GPS-Ortungsgerät). Wie das Fahrzeug 1810 unterteilt das Fahrzeug 1820 die gesammelten Daten in Fahrtabschnitte (in 18 dargestellt als „DS1 2“, „DS2 2“, „DSN 2“). Der Server 1230 empfängt dann die Fahrtabschnitte und rekonstruiert aus den empfangenen Abschnitten eine Fahrt (in 18 als „Fahrt 2“ dargestellt). Es können beliebig viele zusätzliche Fahrzeuge eingesetzt werden. Beispielsweise beinhaltet 18 auch ein „AUTO N“, das Fahrtdaten erfasst, sie in Fahrtabschnitte unterteilt (in 18 als „DS1 N“, „DS2 N“, „DSN N“ dargestellt) und sie an den Server 1230 zur Rekonstruktion zu einer Fahrt (in 18 als „Fahrt N“ dargestellt) sendet.
  • Wie in 18 dargestellt, kann der Server 1230 eine dünnbesetzte Karte (dargestellt als „KARTE“) unter Verwendung der rekonstruierten Fahrten (z.B. „Fahrt 1“, „Fahrt 2“ und „Fahrt N“) konstruieren, die von einer Vielzahl von Fahrzeugen (z.B. „AUTO 1“ (auch als Fahrzeug 1810 bezeichnet), „AUTO 2“ (auch als Fahrzeug 1820 bezeichnet) und „AUTO N“) gesammelt wurden.
  • 19 ist ein Flussdiagramm, das einen beispielhaften Prozess 1900 zum Erzeugen einer dünnbesetzten Karte für autonome Fahrzeugnavigation entlang eines Straßenabschnitts zeigt. Der Prozess 1900 kann von einer oder mehreren im Server 1230 enthaltenen Verarbeitungseinrichtungen durchgeführt werden.
  • Der Prozess 1900 kann Empfangen einer Vielzahl von Bildern beinhalten, die erfasst werden, während ein oder mehrere Fahrzeuge den Straßenabschnitt durchfahren (Schritt 1905). Der Server 1230 kann Bilder von Kameras in einem oder mehreren der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 empfangen. Zum Beispiel kann die Kamera 122 ein oder mehrere Bilder der Umgebung des Fahrzeugs 1205 aufnehmen, während das Fahrzeug 1205 den Straßenabschnitt 1200 entlangfährt. In einigen Ausführungsformen kann der Server 1230 auch verkleinerte Bilddaten empfangen, bei denen Redundanzen von einem Prozessor im Fahrzeug 1205 entfernt wurden, wie vorstehend in Bezug auf 17 beschrieben.
  • Der Prozess 1900 kann ferner Identifizieren mindestens einer Liniendarstellung eines Straßenoberflächenmerkmals, das sich entlang des Straßensegments erstreckt, auf Grundlage der Vielzahl von Bildern beinhalten (Schritt 1910). Jede Liniendarstellung kann einen Weg entlang des Straßenabschnitts darstellen, der im Wesentlichen dem Straßenoberflächenmerkmal entspricht. Beispielsweise kann der Server 1230 die von der Kamera 122 empfangenen Umgebungsbilder analysieren, um eine Straßenkante oder eine Fahrspurmarkierung zu identifizieren und eine Fahrtrajektorie entlang des Straßenabschnitts 1200 zu bestimmen, die mit der Straßenkante oder der Fahrspurmarkierung verbunden ist. In einigen Ausführungsformen kann die Trajektorie (oder Liniendarstellung) einen Spline, eine Polynomdarstellung oder eine Kurve umfassen. Der Server 1230 kann die Fahrtrajektorie des Fahrzeugs 1205 auf Grundlage der in Schritt 1905 empfangenen Kamera-Ego-Bewegungen (z.B. dreidimensionale Translations- und/oder dreidimensionale Rotationsbewegungen) bestimmen.
  • Der Prozess 1900 kann zudem Identifizieren einer Vielzahl von Bezugspunkten, die mit dem Straßenabschnitt verbunden sind, auf Grundlage der Vielzahl von Bildern beinhalten (Schritt 1910). Beispielsweise kann der Server 1230 die von der Kamera 122 empfangenen Umgebungsbilder analysieren, um einen oder mehrere Bezugspunkte wie beispielsweise Straßenschilder entlang des Straßenabschnitts 1200 zu identifizieren. Der Server 1230 kann die Bezugspunkte anhand einer Analyse der Vielzahl von Bildern identifizieren, die erfasst werden, während ein oder mehrere Fahrzeuge den Straßenabschnitt befahren. Um Crowdsourcing zu ermöglichen, kann die Analyse Regeln für das Akzeptieren und Ablehnen möglicher Bezugspunkte im Zusammenhang mit dem Straßenabschnitt beinhalten. Beispielsweise kann die Analyse Akzeptieren möglicher Bezugspunkte, wenn ein Verhältnis von Bildern, in denen der Bezugspunkt vorkommt, zu Bildern, in denen der Bezugspunkt nicht vorkommt, einen Schwellenwert überschreitet, und/oder Ablehnen möglicher Bezugspunkte umfassen, wenn ein Verhältnis von Bildern, in denen der Bezugspunkt nicht vorkommt, zu Bildern, in denen der Bezugspunkt vorkommt, einen Schwellenwert überschreitet.
  • Der Prozess 1900 kann andere Vorgänge oder Schritte beinhalten, die vom Server 1230 durchgeführt werden. Beispielsweise können die Navigationsinformationen eine Zieltrajektorie für Fahrzeuge beinhalten, die entlang eines Straßenabschnitts befahren werden soll, und der Prozess 1900 kann durch den Server 1230 erfolgendes Clustern von Fahrzeugtrajektorien, die sich auf mehrere Fahrzeuge beziehen, die auf dem Straßenabschnitt fahren, und Bestimmen der Zieltrajektorie auf Grundlage der geclusterten Fahrzeugtrajektorien umfassen, wie nachstehend ausführlicher erläutert. Das Clustern von Fahrzeugtrajektorien kann beinhalten, dass der Server 1230 die mehreren Trajektorien, die sich auf die auf dem Straßenabschnitt fahrenden Fahrzeuge beziehen, basierend auf der absoluten Fahrtrichtung der Fahrzeuge und/oder der Spurenzuweisung der Fahrzeuge in eine Vielzahl von Clustern gruppiert. Das Erzeugen der Zieltrajektorie kann Mitteln der geclusterten Trajektorien durch den Server 1230 beinhalten. Als weiteres Beispiel kann der Prozess 1900 Ausrichten der in Schritt 1905 empfangenen Daten beinhalten. Andere Prozesse oder Schritte, die vom Server 1230 durchgeführt werden, wie vorstehend beschrieben, können ebenfalls im Prozess 1900 enthalten sein.
  • Die offenbarten Systeme und Verfahren können auch andere Merkmale beinhalten. Beispielsweise können die offenbarten Systeme lokale Koordinaten anstelle von globalen Koordinaten verwenden. Für das autonome Fahren können einige Systeme Daten in Weltkoordinaten darstellen. Zum Beispiel können Längen- und Breitenkoordinaten auf der Erdoberfläche verwendet werden. Um die Karte für die Lenkung zu nutzen, kann das Host-Fahrzeug seine Position und Orientierung relativ zur Karte bestimmen. Es liegt nahe, eine GPS-Einrichtung an Bord zu verwenden, um die Position des Fahrzeugs auf der Karte zu bestimmen und die Rotationstransformation zwischen dem Karosserie-Bezugsrahmen und dem Welt-Bezugsrahmen (z.B. Nord, Ost und Unten) zu bestimmen. Sobald der Karosseriebezugsrahmen mit dem Kartenbezugsrahmen ausgerichtet ist, kann die gewünschte Route im Karosseriebezugsrahmen ausgedrückt und die Lenkbefehle berechnet oder generiert werden.
  • Die offenbarten Systeme und Verfahren können autonome Fahrzeugnavigation (z.B. Lenksteuerung) mit Modellen mit geringem Footprint ermöglichen, die von den autonomen Fahrzeugen selbst ohne die Hilfe teurer Vermessungsgeräte erfasst werden können. Zur Unterstützung der autonomen Navigation (z.B. bei Lenkanwendungen) kann das Straßenmodell eine dünnbesetzte Karte mit der Geometrie der Straße, ihrer Fahrspurstruktur und Bezugspunkten beinhalten, die zur Bestimmung des Standorts oder der Position von Fahrzeugen entlang einer im Modell enthaltenen Trajektorie verwendet werden können. Wie vorstehend beschrieben, kann die Erzeugung der dünnbesetzten Karte von einem entfernten Server durchgeführt werden, der mit den auf der Straße fahrenden Fahrzeugen kommuniziert und Daten von den Fahrzeugen empfängt. Die Daten können erfasste Daten, auf Grundlage der erfassten Daten rekonstruierte Trajektorien und/oder empfohlene Trajektorien beinhalten, die modifizierte rekonstruierte Trajektorien darstellen können. Wie nachstehend erläutert, kann der Server das Modell an die Fahrzeuge oder andere Fahrzeuge, die später auf der Straße fahren, zurücksenden, um autonome Navigation zu unterstützen.
  • 20 veranschaulicht ein Blockdiagramm des Servers 1230. Der Server 1230 kann eine Kommunikationseinheit 2005 beinhalten, die sowohl Hardwarekomponenten (z.B. Kommunikationssteuerschaltungen, Schalter und Antenne) als auch Softwarekomponenten (z.B. Kommunikationsprotokolle, Computercodes) beinhalten kann. Die Kommunikationseinheit 2005 kann zum Beispiel mindestens eine Netzwerkschnittstelle beinhalten. Der Server 1230 kann über die Kommunikationseinheit 2005 mit den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 kommunizieren. Zum Beispiel kann der Server 1230 über die Kommunikationseinheit 2005 Navigationsinformationen empfangen, die von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 übertragen werden. Der Server 1230 kann über die Kommunikationseinheit 2005 das Straßennavigationsmodell für autonome Fahrzeuge an ein oder mehrere autonome Fahrzeuge verteilen.
  • Der Server 1230 kann mindestens ein nicht transientes Speichermedium 2010 beinhalten, wie beispielsweise eine Festplatte, eine Compact Disc, ein Band usw. Die Speichereinrichtung 1410 kann so konfiguriert sein, dass sie Daten speichert, wie beispielsweise von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangene Navigationsinformationen und/oder das Straßennavigationsmodell für autonome Fahrzeuge, das der Server 1230 auf Grundlage der Navigationsinformationen erstellt. Die Speichereinrichtung 2010 kann so konfiguriert sein, dass sie beliebige andere Informationen speichert, wie beispielsweise eine dünnbesetzte Karte (z.B. die dünnbesetzte Karte 800, die vorstehend in Bezug auf 8 beschrieben wurde).
  • Zusätzlich zu oder anstelle der Speichereinrichtung 2010 kann der Server 1230 einen Speicher 2015 beinhalten. Der Speicher 2015 kann dem Speicher 140 oder 150 ähneln oder sich von diesem unterscheiden. Bei dem Speicher 2015 kann es sich um einen nicht transienten Speicher handeln, beispielsweise einen Flash-Speicher, einen Direktzugriffsspeicher usw. Der Speicher 2015 kann so konfiguriert sein, dass er Daten wie beispielsweise Computercodes oder Anweisungen, die von einem Prozessor (z.B. dem Prozessor 2020) ausgeführt werden können, Kartendaten (z.B. Daten der dünnbesetzten Karte 800), das Straßennavigationsmodell für autonome Fahrzeuge und/oder von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangene Navigationsinformationen speichert.
  • Der Server 1230 kann mindestens eine Verarbeitungseinrichtung 2020 beinhalten, die so konfiguriert ist, dass sie im Speicher 2015 gespeicherte Computercodes oder Anweisungen ausführt, um verschiedene Funktionen zu erfüllen. Beispielsweise kann die Verarbeitungseinrichtung 2020 die von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangenen Navigationsinformationen analysieren und das Straßennavigationsmodell für autonome Fahrzeuge auf Grundlage der Analyse erzeugen. Die Verarbeitungseinrichtung 2020 kann die Kommunikationseinheit 1405 so steuern, dass sie das Straßennavigationsmodell für autonome Fahrzeuge an ein oder mehrere autonome Fahrzeuge (z.B. eines oder mehrere der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 oder jedes Fahrzeug, das zu einem späteren Zeitpunkt auf dem Straßenabschnitt 1200 unterwegs ist) verteilt. Die Verarbeitungseinrichtung 2020 kann dem Prozessor 180, 190 oder der Verarbeitungseinheit 110 ähneln oder sich von diesen unterscheiden.
  • 21 zeigt ein Blockdiagramm des Speichers 2015, der Computercode oder Anweisungen zum Durchführen einer oder mehrerer Operationen zum Erzeugen eines Straßennavigationsmodells zur Verwendung für autonome Fahrzeugnavigation speichern kann. Wie in 21 gezeigt, kann der Speicher 2015 ein oder mehrere Module zur Durchführung der Operationen zur Verarbeitung von Fahrzeugnavigationsinformationen speichern. Der Speicher 2015 kann zum Beispiel ein Modellerzeugungsmodul 2105 und ein Modellverteilungsmodul 2110 beinhalten. Der Prozessor 2020 kann die Anweisungen ausführen, die in jedem der Module 2105 und 2110 im Speicher 2015 gespeichert sind.
  • Das Modellerzeugungsmodul 2105 kann Anweisungen speichern, die bei Ausführung durch den Prozessor 2020 zumindest einen Teil eines Straßennavigationsmodells für autonome Fahrzeuge für einen gemeinsamen Straßenabschnitt (z.B. den Straßenabschnitt 1200) auf Grundlage der von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangenen Navigationsinformationen erzeugen können. Zum Beispiel kann der Prozessor 2020 beim Erzeugen des Straßennavigationsmodells für autonome Fahrzeuge die Fahrzeugtrajektorien entlang des gemeinsamen Straßenabschnitts 1200 in verschiedene Cluster gruppieren. Der Prozessor 2020 kann eine Zieltrajektorie entlang des gemeinsamen Straßenabschnitts 1200 basierend auf den geclusterten Fahrzeugtrajektorien für jeden der verschiedenen Cluster bestimmen. Ein solcher Vorgang kann Ermitteln einer mittleren oder durchschnittlichen Trajektorie der geclusterten Fahrzeugtrajektorien (z.B. durch Mitteln von Daten, die die geclusterten Fahrzeugtrajektorien darstellen) in jedem Cluster beinhalten. In einigen Ausführungsformen kann die Zieltrajektorie einer einzelnen Fahrspur des gemeinsamen Straßenabschnitts 1200 zugeordnet sein.
  • Das Straßenmodell und/oder die dünnbesetzte Karte können Trajektorien speichern, die einem Straßenabschnitt zugeordnet sind. Diese Trajektorien können als Zieltrajektorien bezeichnet werden, die autonomen Fahrzeugen zur autonomen Navigation zur Verfügung gestellt werden. Die Zieltrajektorien können von mehreren Fahrzeugen empfangen oder auf Grundlage tatsächlicher Trajektorien oder empfohlener Trajektorien (tatsächliche Trajektorien mit einigen Änderungen), die von mehreren Fahrzeugen empfangen wurden, erzeugt werden. Die im Straßenmodell oder in der dünnbesetzten Karte enthaltenen Zieltrajektorien können laufend mit neuen, von anderen Fahrzeugen empfangenen Trajektorien aktualisiert (z.B. gemittelt) werden.
  • Fahrzeuge, die auf einem Straßenabschnitt unterwegs sind, können mit verschiedenen Sensoren Daten sammeln. Die Daten können Bezugspunkte, Straßensignaturprofile, Fahrzeugbewegungen (z.B. Beschleunigungsmesserdaten, Geschwindigkeitsdaten) und Fahrzeugposition (z.B. GPS-Daten) beinhalten und können entweder die tatsächlichen Trajektorien selbst rekonstruieren oder die Daten an einen Server übertragen, der die tatsächlichen Trajektorien für die Fahrzeuge rekonstruiert. In einigen Ausführungsformen können die Fahrzeuge Daten in Bezug auf eine Trajektorie (z.B. eine Kurve in einem beliebigen Referenzrahmen), Daten zu Bezugspunkten und eine Fahrspurzuweisung entlang des Fahrwegs an den Server 1230 übertragen. Verschiedene Fahrzeuge, die auf demselben Straßenabschnitt auf mehreren Fahrten unterwegs sind, können unterschiedliche Trajektorien aufweisen. Der Server 1230 kann aus den von den Fahrzeugen empfangenen Trajektorien durch einen Clustering-Prozess mit jeder Fahrspur verbundene Routen oder Trajektorien identifizieren.
  • 22 veranschaulicht einen Prozess zum Clustern von Fahrzeugtrajektorien, die den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 zugeordnet sind, um eine Zieltrajektorie für den gemeinsamen Straßenabschnitt (z.B. den Straßenabschnitt 1200) zu bestimmen. Die Zieltrajektorie oder eine Vielzahl von Zieltrajektorien, die aus dem Clustering-Prozess bestimmt wurden, können in das Straßennavigationsmodell für autonome Fahrzeuge oder die dünnbesetzte Karte 800 aufgenommen werden. In einigen Ausführungsformen können Fahrzeuge 1205, 1210, 1215, 1220 und 1225, die auf dem Straßenabschnitt 1200 fahren, eine Vielzahl von Trajektorien 2200 an den Server 1230 übertragen. In einigen Ausführungsformen kann der Server 1230 Trajektorien auf Grundlage von Informationen über Bezugspunkte, Straßengeometrie und Fahrzeugbewegungen erzeugen, die von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangen werden. Um das Straßennavigationsmodell für autonome Fahrzeuge zu erzeugen, kann der Server 1230 die Fahrzeugtrajektorien 1600 in eine Vielzahl von Clustern 2205, 2210, 2215, 2220, 2225 und 2230 gruppieren, wie in 22 gezeigt.
  • Das Clustern kann nach verschiedenen Kriterien durchgeführt werden. In einigen Ausführungsformen können alle Fahrten in einem Cluster in Bezug auf den absoluten Kurs entlang des Straßenabschnitts 1200 ähnlich sein. Der absolute Kurs kann aus GPS-Signalen gewonnen werden, die von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangen werden. In einigen Ausführungsformen kann der absolute Kurs durch Koppelnavigation erhalten werden. Die Koppelnavigation kann, wie ein Fachmann versteht, zur Bestimmung der aktuellen Position und damit des Kurses der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 verwendet werden, indem die zuvor ermittelte Position, die geschätzte Geschwindigkeit usw. verwendet werden. Nach absolutem Kurs geclusterte Trajektorien können für die Identifizierung von Routen entlang der Straßen nützlich sein.
  • In einigen Ausführungsformen können alle Fahrten in einem Cluster in Bezug auf die Fahrspurzuweisung (z.B. auf der gleichen Fahrspur vor und nach einer Kreuzung) entlang der Fahrt auf dem Straßenabschnitt 1200 ähnlich sein. Nach Fahrspurzuweisung geclusterte Trajektorien können für das Identifizieren von Fahrspuren entlang der Straßen nützlich sein. In einigen Ausführungsformen können beide Kriterien (z.B. absoluter Kurs und Fahrspurzuweisung) für die Clusterbildung verwendet werden.
  • In jedem Cluster 2205, 2210, 2215, 2220, 2225 und 2230 können Trajektorien gemittelt werden, um eine dem spezifischen Cluster zugehörige Zieltrajektorie zu erhalten. Zum Beispiel können die Trajektorien mehrerer Fahrten, die demselben Fahrspurcluster zugeordnet sind, gemittelt werden. Die gemittelte Trajektorie kann eine Zieltrajektorie sein, die einer bestimmten Fahrspur zugeordnet ist. Um einen Cluster aus Trajektorien zu mitteln, kann der Server 1230 einen Referenzrahmen für eine beliebige Trajektorie C0 auswählen. Für alle anderen Trajektorien (C1, ..., Cn) kann der Server 1230 eine starre Transformation ermitteln, die Ci auf C0 abbildet, wobei i = 1, 2, ..., n, wobei n eine positive ganze Zahl ist, die der Gesamtanzahl der im Cluster enthaltenen Trajektorien entspricht. Der Server 1230 kann eine mittlere Kurve oder Trajektorie im C0-Referenzrahmen berechnen.
  • In einigen Ausführungsformen können die Bezugspunkte eine Bogenlänge definieren, die zwischen verschiedenen Fahrten übereinstimmt, was für die Ausrichtung von Trajektorien mit Fahrspuren verwendet werden kann. In einigen Ausführungsformen können Fahrspurmarkierungen vor und nach einer Kreuzung für die Ausrichtung von Trajektorien mit Fahrspuren verwendet werden.
  • Um Fahrspuren aus den Trajektorien zusammenzusetzen, kann der Server 1230 einen Referenzrahmen einer beliebigen Fahrspur auswählen. Der Server 1230 kann teilweise überlappende Fahrspuren auf dem ausgewählten Referenzrahmen abbilden. Der Server 1230 kann die Abbildung fortsetzen, bis sich alle Fahrspuren im selben Referenzrahmen befinden. Nebeneinander liegende Fahrspuren können so ausgerichtet werden, als wären sie dieselbe Fahrspur, und später können sie seitlich verschoben werden.
  • Entlang des Straßenabschnitts erkannte Bezugspunkte können auf den gemeinsamen Referenzrahmen abgebildet werden, zunächst auf Fahrspurebene, dann auf Kreuzungsebene. So können beispielsweise dieselben Bezugspunkte von mehreren Fahrzeugen bei mehreren Fahrten mehrfach erkannt werden. Die Daten für dieselben Bezugspunkte, die auf verschiedenen Fahrten empfangen werden, können leicht unterschiedlich sein. Solche Daten können gemittelt und auf denselben Referenzrahmen, z.B. den C0-Referenzrahmen, abgebildet werden. Zusätzlich oder alternativ kann die Varianz der Daten desselben Bezugspunkts, die auf mehreren Fahrten empfangen wurden, berechnet werden.
  • In einigen Ausführungsformen kann jede Spur des Straßenabschnitts 120 mit einer Zieltrajektorie und bestimmten Bezugspunkten verbunden sein. Die Zieltrajektorie oder eine Vielzahl solcher Zieltrajektorien kann in das Straßennavigationsmodell für autonome Fahrzeuge aufgenommen werden, das später von anderen autonomen Fahrzeugen verwendet werden kann, die auf demselben Straßenabschnitt 1200 fahren. Landmarken, die von den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 identifiziert werden, während die Fahrzeuge den Straßenabschnitt 1200 befahren, können in Verbindung mit der Zieltrajektorie aufgezeichnet werden. Die Daten der Zieltrajektorien und Bezugspunkten können kontinuierlich oder periodisch mit neuen Daten aktualisiert werden, die von anderen Fahrzeugen bei nachfolgenden Fahrten empfangen werden.
  • Für die Lokalisierung eines autonomen Fahrzeugs können die offenbarten Systeme und Verfahren einen erweiterten Kalman-Filter verwenden. Der Standort des Fahrzeugs kann auf Grundlage dreidimensionaler Positionsdaten und/oder dreidimensionaler Orientierungsdaten bestimmt werden, wobei der künftige Standort vor dem aktuellen Standort des Fahrzeugs durch Integration der Ego-Bewegung vorhergesagt wird. Die Lokalisierung des Fahrzeugs kann durch Bildbeobachtungen von Bezugspunkten korrigiert oder angepasst werden. Wenn das Fahrzeug beispielsweise einen Bezugspunkt in einem von der Kamera aufgenommenen Bild erkennt, kann der Bezugspunkt mit einem bekannten Bezugspunkt verglichen werden, der im Straßenmodell oder in der dünnbesetzten Karte 800 gespeichert ist. Der bekannte Bezugspunkt kann einen bekannten Standort (z.B. GPS-Daten) entlang einer Zieltrajektorie aufweisen, die im Straßenmodell und/oder der dünnbesetzten Karte 800 gespeichert ist. Anhand der aktuellen Geschwindigkeit und der Bilder des Bezugspunkts kann der Abstand des Fahrzeugs zum Bezugspunkt geschätzt werden. Der Standort des Fahrzeugs entlang einer Zieltrajektorie kann auf Grundlage des Abstands zum Bezugspunkt und des bekannten Standorts des Bezugspunkts (der im Straßenmodell oder in der dünnbesetzten Karte 800 gespeichert ist) angepasst werden. Die im Straßenmodell und/oder in der dünnbesetzten Karte 800 gespeicherten Positions-/Standortdaten des Bezugspunkts (z.B. Mittelwerte aus mehreren Fahrten) können als genau angenommen werden.
  • In einigen Ausführungsformen kann das offenbarte System ein Teilsystem mit geschlossenem Regelkreis bilden, in dem eine Schätzung des Standorts des Fahrzeugs mit sechs Freiheitsgraden (z.B. dreidimensionale Positionsdaten plus dreidimensionale Orientierungsdaten) zur Navigation (z.B. Steuerung des Lenkrads) des autonomen Fahrzeugs verwendet werden kann, um einen gewünschten Punkt zu erreichen (z.B. 1,3 Sekunden voraus). Die von der Lenkung und der tatsächlichen Navigation gemessenen Daten können wiederum zur Schätzung des Standorts mit sechs Freiheitsgraden verwendet werden.
  • In einigen Ausführungsformen können Masten entlang einer Straße, wie z.B. Laternenmasten und Strom- oder Kabelleitungsmasten, als Bezugspunkte für die Lokalisierung der Fahrzeuge verwendet werden. Andere Bezugspunkte wie Verkehrszeichen, Ampeln, Pfeile auf der Straße, Haltelinien sowie statische Merkmale oder Signaturen eines Objekts entlang des Straßenabschnitts können ebenfalls als Bezugspunkte für die Lokalisierung des Fahrzeugs verwendet werden. Wenn Masten zur Lokalisierung verwendet werden, kann die x-Beobachtung der Masten (d.h. der Blickwinkel vom Fahrzeug aus) anstelle der y-Beobachtung (d.h. der Abstand zum Mast) verwendet werden, da die Unterseiten der Masten verdeckt sein können und diese sich manchmal nicht auf der Straßenebene befinden.
  • 23 zeigt ein Navigationssystem für ein Fahrzeug, das für autonome Navigation unter Verwendung einer durch Crowdsourcing erhaltenen dünnbesetzten Karte verwendet werden kann. Zur Veranschaulichung wird das Fahrzeug als Fahrzeug 1205 bezeichnet. Bei dem in 23 dargestellten Fahrzeug kann es sich um jedes andere vorliegend beschriebene Fahrzeug handeln, einschließlich beispielsweise der Fahrzeuge 1210, 1215, 1220 und 1225 sowie des in anderen Ausführungsformen dargestellten Fahrzeugs 200. Wie in 12 dargestellt, kann das Fahrzeug 1205 mit dem Server 1230 kommunizieren. Das Fahrzeug 1205 kann eine Bildaufnahmeeinrichtung 122 (z.B. eine Kamera 122) beinhalten. Das Fahrzeug 1205 kann ein Navigationssystem 2300 beinhalten, das so konfiguriert ist, dass es Navigationsanweisungen für das Fahrzeug 1205 zur Fahrt auf einer Straße (z.B. dem Straßenabschnitt 1200) bereitstellt. Das Fahrzeug 1205 kann zudem andere Sensoren beinhalten, z.B. einen Geschwindigkeitssensor 2320 und einen Beschleunigungsmesser 2325. Der Geschwindigkeitssensor 2320 kann so konfiguriert sein, dass er die Geschwindigkeit des Fahrzeugs 1205 erfasst. Der Beschleunigungsmesser 2325 kann so konfiguriert sein, dass er eine Beschleunigung oder eine Verlangsamung des Fahrzeugs 1205 erkennt. Das in 23 dargestellte Fahrzeug 1205 kann ein autonomes Fahrzeug sein, und das Navigationssystem 2300 kann zur Bereitstellung von Navigationsführung für autonomes Fahren verwendet werden. Alternativ kann das Fahrzeug 1205 auch ein nicht-autonomes, von einem Menschen gesteuertes Fahrzeug sein, und das Navigationssystem 2300 kann auch hier für Navigationsführung verwendet werden.
  • Das Navigationssystem 2300 kann eine Kommunikationseinheit 2305 beinhalten, die so konfiguriert ist, dass sie mit dem Server 1230 über den Kommunikationsweg 1235 kommuniziert. Das Navigationssystem 2300 kann zudem eine GPS-Einheit 2310 beinhalten, die für den Empfang und die Verarbeitung von GPS-Signalen konfiguriert ist. Das Navigationssystem 2300 kann ferner mindestens einen Prozessor 2315 beinhalten, der so konfiguriert ist, dass er Daten wie beispielsweise GPS-Signale, Kartendaten der dünnbesetzten Karte 800 (die auf einer Speichereinrichtung an Bord des Fahrzeugs 1205 gespeichert und/oder vom Server 1230 empfangen werden können), eine von einem Straßenprofilsensor 2330 erfasste Straßengeometrie, von der Kamera 122 aufgenommene Bilder und/oder das vom Server 1230 empfangene Straßennavigationsmodell für autonome Fahrzeuge verarbeitet. Der Straßenprofilsensor 2330 kann verschiedene Arten von Einrichtungen zum Messen verschiedener Arten von Straßenprofilen beinhalten, wie beispielsweise eine Rauheit der Straßenoberfläche, eine Straßenbreite, eine Straßenhöhe, eine Straßenkrümmung usw. Der Straßenprofilsensor 2330 kann beispielsweise eine Einrichtung umfassen, die die Bewegung einer Aufhängung des Fahrzeugs 2305 misst, um das Straßenrauheitsprofil abzuleiten. In einigen Ausführungsformen kann der Straßenprofilsensor 2330 Radarsensoren enthalten, um den Abstand zwischen dem Fahrzeug 1205 und Straßenrändern (z.B. Barrieren an den Straßenrändern) zu messen und so die Breite der Straße zu messen. In einigen Ausführungsformen kann der Straßenprofilsensor 2330 eine Einrichtung beinhalten, die zum Messen des Höhenverlaufs der Straße konfiguriert ist. In einigen Ausführungsformen kann der Straßenprofilsensor 2330 eine Einrichtung beinhalten, die zum Messen der Straßenkrümmung konfiguriert ist. Beispielsweise kann eine Kamera (z.B. die Kamera 122 oder eine andere Kamera) verwendet werden, um Bilder von der Straße aufzunehmen, die die Straßenkrümmungen zeigen. Das Fahrzeug 1205 kann solche Bilder verwenden, um Straßenkrümmungen zu erkennen.
  • Der mindestens eine Prozessor 2315 kann so programmiert sein, dass er von der Kamera 122 mindestens ein dem Fahrzeug 1205 zugeordnetes Umgebungsbild empfängt. Der mindestens eine Prozessor 2315 kann das mindestens eine Umgebungsbild analysieren, um Navigationsinformationen in Bezug auf das Fahrzeug 1205 zu bestimmen. Die Navigationsinformationen können eine Trajektorie beinhalten, die sich auf die Fahrt des Fahrzeugs 1205 entlang des Straßenabschnitts 1200 bezieht. Der mindestens eine Prozessor 2315 kann die Trajektorie auf Grundlage von Bewegungen der Kamera 122 (und damit des Fahrzeugs) bestimmen, beispielsweise von dreidimensionalen Translations- und dreidimensionalen Rotationsbewegungen. In einigen Ausführungsformen kann der mindestens eine Prozessor 2315 die Translations- und Rotationsbewegungen der Kamera 122 auf Grundlage einer Analyse einer Vielzahl von Bildern bestimmen, die von der Kamera 122 aufgenommen wurden. In einigen Ausführungsformen können die Navigationsinformationen Spurzuweisungsinformationen beinhalten (z.B. auf welcher Spur das Fahrzeug 1205 auf dem Straßenabschnitt 1200 unterwegs ist). Die vom Fahrzeug 1205 an den Server 1230 übertragenen Navigationsinformationen können vom Server 1230 verwendet werden, um ein Straßennavigationsmodell für autonome Fahrzeuge zu erzeugen und/oder zu aktualisieren, das vom Server 1230 zurück an das Fahrzeug 1205 übertragen werden kann, um autonome Navigationsführung für das Fahrzeug 1205 bereitzustellen.
  • Der mindestens eine Prozessor 2315 kann zudem so programmiert sein, dass er die Navigationsinformationen vom Fahrzeug 1205 an den Server 1230 überträgt. In einigen Ausführungsformen können die Navigationsinformationen zusammen mit Straßeninformationen an den Server 1230 übertragen werden. Die Straßenstandortinformationen können das von der GPS-Einheit 2310 empfangene GPS-Signal und/oder Informationen über Bezugspunkte und/oder eine Straßengeometrie und/oder Fahrspurinformationen usw. beinhalten. Der mindestens eine Prozessor 2315 kann vom Server 1230 das Straßennavigationsmodell für autonome Fahrzeuge oder einen Teil des Modells empfangen. Das vom Server 1230 empfangene Straßennavigationsmodell für autonome Fahrzeuge kann mindestens eine Aktualisierung beinhalten, die auf den vom Fahrzeug 1205 an den Server 1230 übertragenen Navigationsinformationen basiert. Der vom Server 1230 an das Fahrzeug 1205 übertragene Teil des Modells kann einen aktualisierten Teil des Modells beinhalten. Der mindestens eine Prozessor 2315 kann mindestens ein Navigationsmanöver (z.B. Lenken wie etwa Abbiegen, Bremsen, Beschleunigen, Überholen eines anderen Fahrzeugs usw.) durch das Fahrzeug 1205 auf Grundlage des empfangenen Straßennavigationsmodells für autonome Fahrzeuge oder des aktualisierten Teils des Modells bewirken.
  • Der mindestens eine Prozessor 2315 kann so konfiguriert sein, dass er mit verschiedenen Sensoren und Komponenten im Fahrzeug 1205 kommuniziert, einschließlich der Kommunikationseinheit 1705, der GPS-Einheit 2315, der Kamera 122, des Geschwindigkeitssensors 2320, des Beschleunigungsmessers 2325 und des Straßenprofilsensors 2330. Der mindestens eine Prozessor 2315 kann Informationen oder Daten von verschiedenen Sensoren und Komponenten sammeln und die Informationen oder Daten über die Kommunikationseinheit 2305 an den Server 1230 übertragen. Alternativ oder zusätzlich können verschiedene Sensoren oder Komponenten des Fahrzeugs 1205 zudem mit dem Server 1230 kommunizieren und Daten oder Informationen, die von den Sensoren oder Komponenten gesammelt wurden, an den Server 1230 übertragen.
  • In einigen Ausführungsformen können die Fahrzeuge 1205, 1210, 1215, 1220 und 1225 miteinander kommunizieren und Navigationsinformationen miteinander teilen, so dass mindestens eines der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 das Straßennavigationsmodell für autonome Fahrzeuge unter Verwendung von Crowdsourcing, z.B. auf Grundlage von Informationen, die von anderen Fahrzeugen geteilt werden, erzeugen kann. In einigen Ausführungsformen können die Fahrzeuge 1205, 1210, 1215, 1220 und 1225 Navigationsinformationen untereinander teilen und jedes Fahrzeug kann sein eigenes, im Fahrzeug vorhandenes autonomes Straßennavigationsmodell für autonome Fahrzeuge aktualisieren. In einigen Ausführungsformen kann mindestens eines der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 (z.B. Fahrzeug 1205) als Hub-Fahrzeug fungieren. Der mindestens eine Prozessor 2315 des Hub-Fahrzeugs (z.B. des Fahrzeugs 1205) kann einige oder alle Funktionen des Servers 1230 ausführen. Zum Beispiel kann der mindestens eine Prozessor 2315 des Hub-Fahrzeugs mit anderen Fahrzeugen kommunizieren und Navigationsinformationen von anderen Fahrzeugen empfangen. Der mindestens eine Prozessor 2315 des Hub-Fahrzeugs kann das Straßennavigationsmodell für autonome Fahrzeuge oder eine Aktualisierung des Modells auf Grundlage der von anderen Fahrzeugen empfangenen geteilten Informationen erzeugen. Der mindestens eine Prozessor 2315 des Hub-Fahrzeugs kann das Straßennavigationsmodell für autonome Fahrzeuge oder die Aktualisierung des Modells an andere Fahrzeuge übertragen, um autonome Navigationsführung bereitzustellen.
  • Navigation auf Grundlage dünnbesetzter Karten
  • Wie bereits erwähnt, kann das Straßennavigationsmodell für autonome Fahrzeuge einschließlich der dünnbesetzten Karte 800 eine Vielzahl von kartierten Fahrspurmarkierungen und eine Vielzahl kartierter Objekte/Merkmale beinhalten, die mit einem Straßenabschnitt verbunden sind. Wie im Folgenden näher erläutert, können diese kartierten Fahrspurmarkierungen, Objekte und Merkmale bei der Navigation des autonomen Fahrzeugs verwendet werden. In einigen Ausführungsformen können die kartierten Objekte und Merkmale beispielsweise verwendet werden, um ein Host-Fahrzeug in Bezug auf die Karte zu lokalisieren (z.B. in Bezug auf eine kartierte Zieltrajektorie). Die kartierten Fahrspurmarkierungen können (z.B. als Kontrolle) verwendet werden, um eine seitliche Position und/oder Orientierung in Bezug auf eine geplante oder Zieltrajektorie zu bestimmen. Anhand dieser Positionsinformationen kann das autonome Fahrzeug eine Kursrichtung so anpassen, dass sie mit einer Richtung einer Zieltrajektorie an der bestimmten Position übereinstimmt.
  • Das Fahrzeug 200 kann so konfiguriert sein, dass es Fahrspurmarkierungen auf einem bestimmten Straßenabschnitt erkennt. Der Straßenabschnitt kann beliebige Markierungen auf einer Straße umfassen, die den Fahrzeugverkehr auf einer Fahrbahn leiten. Die Fahrspurmarkierungen können zum Beispiel durchgehende oder gestrichelte Linien sein, die den Rand einer Fahrspur markieren. Die Fahrspurmarkierungen können auch Doppellinien beinhalten, z.B. doppelte durchgezogene Linien, doppelte gestrichelte Linien oder eine Kombination aus durchgezogenen und gestrichelten Linien, die z. B. anzeigen, ob das Überholen auf einer benachbarten Fahrspur erlaubt ist. Zu den Fahrspurmarkierungen können auch Markierungen für Autobahnein- und -ausfahrten gehören, die z.B. eine Verzögerungsspur für eine Ausfahrt oder gestrichelte Linien anzeigen, die darauf hinweisen, dass eine Spur nur zum Abbiegen dient oder dass die Spur endet. Die Markierungen können außerdem eine Arbeitszone, eine vorübergehende Fahrspurverschiebung, einen Fahrweg durch eine Kreuzung, einen Mittelstreifen, eine Sonderspur (z.B. Fahrradspur, HOV-Spur usw.) oder sonstige Markierungen (z.B. Fußgängerüberweg, Geschwindigkeitsschwelle, Bahnübergang, Haltelinie usw.) anzeigen.
  • Das Fahrzeug 200 kann Kameras wie die in der Bilderfassungseinheit 120 enthaltenen Bildaufnahmeeinrichtungen 122 und 124 verwenden, um Bilder der umgebenden Fahrspurmarkierungen aufzunehmen. Das Fahrzeug 200 kann die Bilder analysieren, um auf der Grundlage von Merkmalen, die in einem oder mehreren der aufgenommenen Bilder identifiziert wurden, Punktpositionen zu erkennen, die mit den Fahrspurmarkierungen verbunden sind. Diese Punktpositionen können auf einen Server hochgeladen werden, um die Fahrspurmarkierungen in der dünnbesetzten Karte 800 darzustellen. Je nach Position und Sichtfeld der Kamera können Fahrspurmarkierungen für beide Seiten des Fahrzeugs gleichzeitig aus einem einzigen Bild erkannt werden. In anderen Ausführungsformen können verschiedene Kameras verwendet werden, um Bilder von mehreren Seiten des Fahrzeugs aufzunehmen. Anstatt tatsächliche Bilder der Fahrspurmarkierungen hochzuladen, können die Markierungen in der dünnbesetzten Karte 800 als Spline oder eine Reihe von Punkten gespeichert werden, wodurch die Größe der dünnbesetzten Karte 800 und/oder der Daten, die vom Fahrzeug aus der Ferne hochgeladen werden müssen, reduziert werden.
  • 24A bis 24D zeigen beispielhafte Punktpositionen, die vom Fahrzeug 200 erkannt werden können, um jeweilige Fahrspurmarkierungen darzustellen. Ähnlich wie bei den vorstehend beschriebenen Bezugspunkten kann das Fahrzeug 200 verschiedene Bilderkennungsalgorithmen oder - software verwenden, um Punktpositionen innerhalb eines aufgenommenen Bilds zu identifizieren. Beispielsweise kann das Fahrzeug 200 eine Reihe von Randpunkten, Eckpunkten oder verschiedenen anderen Punktpositionen erkennen, die mit einer bestimmten Fahrspurmarkierung verbunden sind. 24A zeigt eine durchgehende Fahrspurmarkierung 2410, die vom Fahrzeug 200 erkannt werden kann. Die Fahrspurmarkierung 2410 kann den äußeren Rand einer Fahrbahn darstellen, der durch eine durchgehende weiße Linie repräsentiert wird. Wie in 24A gezeigt, kann das Fahrzeug 200 so konfiguriert sein, dass es eine Vielzahl von Randpositionspunkten 2411 entlang der Fahrspurmarkierung erkennt. Positionspunkte 2411 zum Darstellen der Fahrspurmarkierung können in beliebigen Intervallen gesammelt werden, die ausreichen, um eine kartierte Fahrspurmarkierung in der dünnbesetzten Karte zu erstellen. Die Fahrspurmarkierung kann beispielsweise durch einen Punkt pro Meter des erfassten Rands, einen Punkt alle fünf Meter des erfassten Rands oder in anderen geeigneten Abständen dargestellt werden. In einigen Ausführungsformen kann der Abstand durch andere Faktoren als durch festgelegte Intervalle bestimmt werden, z.B. auf Grundlage von Punkten, bei denen das Fahrzeug 200 eine höchste Konfidenzbewertung der Position der erkannten Punkte hat. Wenngleich in 24A Randpositionspunkte an einem Innenrand der Fahrspurmarkierung 2410 dargestellt sind, können Punkte auch am Außenrand der Linie oder entlang beider Ränder gesammelt werden. Auch wenn ferner in 24A eine einzelne Linie dargestellt ist, können ähnliche Randpunkte auch bei einer doppelten durchgehenden Linie erkannt werden. So können beispielsweise Punkte 2411 entlang eines Randes einer oder beider durchgehender Linien erkannt werden.
  • Das Fahrzeug 200 kann zudem Fahrspurmarkierungen je nach Art oder Form der Fahrspurmarkierung unterschiedlich darstellen. 24B zeigt eine beispielhafte gestrichelte Fahrspurmarkierung 2420, die vom Fahrzeug 200 erkannt werden kann. Anstatt Randpunkte wie in 24A zu identifizieren, kann das Fahrzeug eine Reihe von Eckpunkten 2421 erkennen, die Ecken der Fahrspurstreifen darstellen, um die gesamte Umgrenzung des Streifens zu definieren. Während in 24B jede Ecke einer bestimmten Strichmarkierung geortet wird, kann das Fahrzeug 200 eine Teilmenge der in der Figur gezeigten Punkte erkennen oder hochladen. So kann das Fahrzeug 200 beispielsweise den vorderen Rand oder die vordere Ecke einer bestimmten Strichmarkierung erkennen oder die beiden Eckpunkte, die dem Inneren der Fahrspur am nächsten liegen. Darüber hinaus wird gegebenenfalls nicht jede Strichmarkierung erfasst, beispielsweise kann das Fahrzeug 200 Punkte erfassen und/oder aufzeichnen, die eine Probe von Strichmarkierungen (z.B. jede zweite, jede dritte, jede fünfte usw.) oder Strichmarkierungen in einem vordefinierten Abstand (z.B. jeden Meter, alle fünf Meter, alle 10 Meter usw.) darstellen. Eckpunkte können auch für ähnliche Fahrspurmarkierungen erfasst werden, wie beispielsweise Markierungen, die anzeigen, dass eine Fahrspur für eine Ausfahrt bestimmt ist, dass eine bestimmte Fahrspur endet, oder andere verschiedene Fahrspurmarkierungen, die erkennbare Eckpunkte aufweisen können. Eckpunkte können auch für Fahrspurmarkierungen erkannt werden, die aus doppelten gestrichelten Linien oder einer Kombination aus durchgehenden und gestrichelten Linien bestehen.
  • In einigen Ausführungsformen können die Punkte, die zum Server hochgeladen werden, um die kartierten Fahrspurmarkierungen zu erzeugen, andere Punkte als die erkannten Rand- oder Eckpunkte darstellen. 24C zeigt eine Reihe von Punkten, die eine Mittellinie einer bestimmten Fahrspurmarkierung darstellen können. Zum Beispiel kann eine durchgehende Fahrspur 2410 durch Mittellinienpunkte 2441 entlang einer Mittellinie 2440 der Fahrspurmarkierung dargestellt werden. In einigen Ausführungsformen kann das Fahrzeug 200 so konfiguriert sein, dass es diese Mittelpunkte mithilfe verschiedener Bilderkennungsmethoden erkennt, wie z.B. neuronale Faltungsnetze (CNN, convolutional neural networks), skaleninvariante Merkmalstransformation (SIFT, scale-invariant feature transform), Histogramm orientierter Gradienten (HOG) oder andere Methoden. Alternativ kann das Fahrzeug 200 auch andere Punkte erkennen, wie beispielsweise die in 24A dargestellten Randpunkte 2411, und die Mittellinienpunkte 2441 berechnen, indem es beispielsweise Punkte entlang jedes Randes erfasst und einen Mittelpunkt zwischen den Randpunkten bestimmt. Ebenso kann eine gestrichelte Fahrspurmarkierung 2420 durch Mittellinienpunkte 2451 entlang einer Mittellinie 2450 der Fahrspurmarkierung dargestellt werden. Die Mittellinienpunkte können sich am Rand eines Strichs befinden, wie in 24C gezeigt, oder an verschiedenen anderen Stellen entlang der Mittellinie. So kann beispielsweise jeder Strich durch einen einzigen Punkt in der geometrischen Mitte des Strichs dargestellt werden. Die Punkte können auch in einem vorbestimmten Intervall entlang der Mittellinie angeordnet sein (z.B. alle Meter, 5 Meter, 10 Meter usw.). Die Mittellinienpunkte 2451 können direkt vom Fahrzeug 200 erkannt oder auf Grundlage anderer erkannter Referenzpunkte wie beispielsweise der Eckpunkte 2421 berechnet werden, wie in 24B gezeigt. Eine Mittellinie kann auch zur Darstellung anderer Fahrspurmarkierungstypen, wie etwa einer Doppellinie, verwendet werden, wobei ähnliche Methoden wie vorstehend angewandt werden.
  • In einigen Ausführungsformen kann das Fahrzeug 200 Punkte identifizieren, die andere Merkmale darstellen, beispielsweise einen Scheitelpunkt zwischen zwei sich schneidenden Fahrbahnmarkierungen. 24D zeigt beispielhafte Punkte, die eine Überschneidung zweier Fahrspurmarkierungen 2460 und 2465 darstellen. Das Fahrzeug 200 kann einen Scheitelpunkt 2466 berechnen, der einen Schnittpunkt zwischen den beiden Fahrspurmarkierungen darstellt. Beispielsweise kann eine der Fahrspurmarkierungen 2460 oder 2465 einen Bahnübergang oder einen anderen Überquerungsbereich auf dem Straßenabschnitt darstellen. Die Fahrspurmarkierungen 2460 und 2465 sind zwar so dargestellt, dass sie sich senkrecht kreuzen, es können aber auch andere Konfigurationen erkannt werden. Beispielsweise können sich die Fahrspurmarkierungen 2460 und 2465 in anderen Winkeln kreuzen, oder eine oder beide Fahrspurmarkierungen können am Scheitelpunkt 2466 enden. Ähnliche Methoden können auch für Überschneidungen zwischen gestrichelten oder anderen Fahrbahnmarkierungen angewendet werden. Neben dem Scheitelpunkt 2466 können auch verschiedene andere Punkte 2467 erkannt werden, die weitere Informationen über die Ausrichtung der Fahrspurmarkierungen 2460 und 2465 liefern.
  • Das Fahrzeug 200 kann jedem erkannten Punkt der Fahrspurmarkierung reale Koordinaten zuordnen. So können beispielsweise Standortkennungen einschließlich der Koordinaten für jeden Punkt erzeugt werden, die auf einen Server hochgeladen werden, um die Fahrspurmarkierung zu kartieren. Die Standortkennungen können auch andere Informationen zur Identifizierung der Punkte beinhalten, beispielsweise ob der Punkt einen Eckpunkt, einen Randpunkt, einen Mittelpunkt usw. darstellt. Das Fahrzeug 200 kann daher so konfiguriert sein, dass es auf Grundlage der Analyse der Bilder eine reale Position jedes Punktes bestimmt. Das Fahrzeug 200 kann zum Beispiel andere Merkmale im Bild erkennen, wie die verschiedenen vorstehend beschriebenen Bezugspunkte, um die reale Position der Fahrspurmarkierungen zu bestimmen. Dies kann Bestimmen der Position der Fahrspurmarkierungen im Bild in Bezug auf den erkannten Bezugspunkt oder Bestimmen der Position des Fahrzeugs auf Grundlage des erkannten Bezugspunkts und anschließendes Bestimmen eines Abstands zwischen dem Fahrzeug (oder der Zieltrajektorie des Fahrzeugs) und der Fahrspurmarkierung beinhalten. Steht kein Bezugspunkt zur Verfügung, kann die Position der Fahrspurmarkierungspunkte in Bezug auf eine Position des Fahrzeugs bestimmt werden, die auf Grundlage von Koppelnavigation bestimmt wurde. Die in den Standortkennungen enthaltenen realen Koordinaten können als absolute Koordinaten (z.B. Breiten-/Längenkoordinaten) oder relativ zu anderen Merkmalen dargestellt werden, beispielsweise auf Grundlage einer Längsposition entlang einer Zieltrajektorie und eines seitlichen Abstands von der Zieltrajektorie. Die Standortkennungen können dann auf einen Server hochgeladen werden, um die kartierten Fahrspurmarkierungen im Navigationsmodell (z.B. der dünnbesetzten Karte 800) zu erzeugen. In einigen Ausführungsformen kann der Server einen Spline erstellen, der die Fahrspurmarkierungen eines Straßenabschnitts darstellt. Alternativ kann das Fahrzeug 200 den Spline erzeugen und auf den Server hochladen, um ihn im Navigationsmodell zu speichern.
  • 24E zeigt ein beispielhaftes Navigationsmodell oder eine dünnbesetzte Karte für einen entsprechenden Straßenabschnitt, der kartierte Fahrspurmarkierungen enthält. Die dünnbesetzte Karte kann eine Zieltrajektorie 2475 enthalten, der ein Fahrzeug entlang eines Straßenabschnitts folgen soll. Wie vorstehend beschrieben, kann die Zieltrajektorie 2475 einen idealen Weg für ein Fahrzeug auf dem entsprechenden Straßenabschnitt darstellen oder sich an einer anderen Stelle auf der Straße befinden (z.B. auf einer Mittellinie der Straße usw.). Die Zieltrajektorie 2475 kann wie in den verschiedenen vorstehend beschriebenen Verfahren beispielsweise auf Grundlage einer Aggregation (z.B. einer gewichteten Kombination) von zwei oder mehr rekonstruierten Trajektorien von Fahrzeugen, die denselben Straßenabschnitt befahren, berechnet werden.
  • In einigen Ausführungsformen kann die Zieltrajektorie für alle Fahrzeugtypen und für alle Straßen-, Fahrzeug- und/oder Umgebungsbedingungen gleichermaßen erzeugt werden. In anderen Ausführungsformen können jedoch auch verschiedene andere Faktoren oder Variablen beim Erzeugen der Zieltrajektorie berücksichtigt werden. Für verschiedene Fahrzeugtypen (z.B. einen Pkw, einen Kleinlastwagen und einen voll beladenen Anhänger) kann eine unterschiedliche Zieltrajektorie erzeugt werden. So kann beispielsweise für einen kleinen Pkw eine Zieltrajektorie mit relativ engeren Kurvenradien erzeugt werden als für einen größeren Sattelschlepper. In einigen Ausführungsformen können auch Straßen-, Fahrzeug- und Umweltbedingungen berücksichtigt werden. So kann beispielsweise für unterschiedliche Straßenverhältnisse (z.B. nass, verschneit, vereist, trocken usw.), Fahrzeugzustände (z.B. Reifenzustand oder geschätzter Reifenzustand, Bremsenzustand oder geschätzter Bremsenzustand, verbleibende Kraftstoffmenge usw.) oder Umgebungsfaktoren (z.B. Tageszeit, Sicht, Wetter usw.) eine unterschiedliche Zieltrajektorie erstellt werden. Die Zieltrajektorie kann auch von einem oder mehreren Aspekten oder Merkmalen eines bestimmten Straßenabschnitts abhängen (z.B. Tempolimit, Häufigkeit und Größe von Kurven, Steigung usw.). In einigen Ausführungsformen können auch verschiedene Benutzereinstellungen zur Bestimmung der Zieltrajektorie herangezogen werden, wie z.B. ein eingestellter Fahrmodus (z.B. gewünschte Fahraggressivität, Sparmodus usw.).
  • Die dünnbesetzte Karte kann auch kartierte Fahrspurmarkierungen 2470 und 2480 beinhalten, die Fahrspurmarkierungen entlang des Straßenabschnitts darstellen. Die kartierten Fahrspurmarkierungen können durch eine Vielzahl von Standortkennungen 2471 und 2481 dargestellt werden. Wie vorstehend beschrieben, können die Standortkennungen Standorte an realen Koordinaten von Punkten enthalten, die mit einer erkannten Fahrspurmarkierung verbunden sind. Ähnlich wie die Zieltrajektorie im Modell können die Fahrspurmarkierungen auch Höhendaten enthalten und als Kurve im dreidimensionalen Raum dargestellt werden. Bei der Kurve kann es sich beispielsweise um einen Spline handeln, der dreidimensionale Polynome geeigneter Ordnung verbindet, und die Kurve kann auf Grundlage der Standortkennungen berechnet werden. Die kartierten Fahrspurmarkierungen können auch andere Informationen oder Metadaten über die Fahrspurmarkierung enthalten, beispielsweise eine Kennung für die Art der Fahrspurmarkierung (z.B. zwischen zwei Fahrspuren mit derselben Fahrtrichtung, zwischen zwei Fahrspuren mit entgegengesetzter Fahrtrichtung, am Rand einer Fahrbahn usw.) und/oder andere Eigenschaften der Fahrspurmarkierung (z.B. durchgehend, gestrichelt, Einzellinie, Doppellinie, gelb, weiß usw.). In einigen Ausführungsformen können die kartierten Fahrspurmarkierungen innerhalb des Modells kontinuierlich aktualisiert werden, z.B. durch Crowdsourcing-Methoden. Ein und dasselbe Fahrzeug kann bei mehreren Fahrten auf demselben Straßenabschnitt Standortkennungen hochladen, oder es können Daten von mehreren Fahrzeugen (z.B. 1205, 1210, 1215, 1220 und 1225) ausgewählt werden, die den Straßenabschnitt zu unterschiedlichen Zeiten befahren. Die dünnbesetzte Karte 800 kann dann auf Grundlage der von den Fahrzeugen empfangenen und im System gespeicherten Standortkennungen aktualisiert oder verfeinert werden. Wenn die kartierten Fahrspurmarkierungen aktualisiert und verfeinert werden, kann das aktualisierte Straßennavigationsmodell und/oder die dünnbesetzte Karte an eine Vielzahl autonomer Fahrzeuge verteilt werden.
  • Das Erzeugen der kartierten Fahrspurmarkierungen in der dünnbesetzten Karte kann zudem Erkennen und/oder Abschwächen von Fehlern beinhalten, die auf Anomalien in den Bildern oder in den eigentlichen Fahrspurmarkierungen selbst beruhen. 24F zeigt eine beispielhafte Anomalie 2495 in Verbindung mit dem Erkennen einer Fahrspurmarkierung 2490. Die Anomalie 2495 kann in dem vom Fahrzeug 200 aufgenommenen Bild beispielsweise durch ein Objekt, das die Sicht der Kamera auf die Fahrspurmarkierung behindert, durch Schmutz auf dem Objektiv usw. auftreten. In einigen Fällen kann die Anomalie auf die Fahrspurmarkierung selbst zurückzuführen sein, die beschädigt oder abgenutzt oder teilweise verdeckt sein kann, z.B. durch Schmutz, Schutt, Wasser, Schnee oder andere Materialien auf der Straße. Die Anomalie 2495 kann dazu führen, dass ein fehlerhafter Punkt 2491 vom Fahrzeug 200 erkannt wird. Die dünnbesetzte Karte 800 kann die korrekt kartierte Fahrspurmarkierung liefern und den Fehler ausschließen. In einigen Ausführungsformen kann das Fahrzeug 200 den fehlerhaften Punkt 2491 beispielsweise durch Erkennen einer Anomalie 2495 im Bild oder durch Identifizieren des Fehlers anhand der erkannten Fahrspurmarkierungspunkte vor und nach der Anomalie erkennen. Basierend auf der Erkennung der Anomalie kann das Fahrzeug den Punkt 2491 auslassen oder ihn so anpassen, dass er mit anderen erkannten Punkten übereinstimmt. In anderen Ausführungsformen kann der Fehler korrigiert werden, nachdem der Punkt hochgeladen wurde, beispielsweise durch Bestimmen, dass der Punkt außerhalb eines erwarteten Schwellenwerts liegt, und zwar auf Grundlage anderer Punkte, die während derselben Fahrt hochgeladen wurden, oder auf Grundlage einer Zusammenstellung von Daten aus früheren Fahrten entlang desselben Straßenabschnitts.
  • Die im Navigationsmodell und/oder in der dünnbesetzten Karte kartierten Fahrspurmarkierungen können zudem von einem autonomen Fahrzeug, das die entsprechende Fahrbahn befährt, zur Navigation verwendet werden. Beispielsweise kann ein Fahrzeug, das entlang einer Zieltrajektorie navigiert, regelmäßig die kartierten Fahrspurmarkierungen in der dünnbesetzten Karte verwenden, um sich an der Zieltrajektorie auszurichten. Wie bereits erwähnt, kann das Fahrzeug zwischen den Bezugspunkten auf Grundlage von Koppelnavigation navigieren, bei der das Fahrzeug seine Ego-Bewegung mit Hilfe von Sensoren bestimmt und seine Position in Bezug auf die Zieltrajektorie schätzt. Mit der Zeit können sich Fehler akkumulieren und die Positionsbestimmungen des Fahrzeugs in Bezug auf die Zieltrajektorie wird immer ungenauer. Entsprechend kann das Fahrzeug in der dünnbesetzten Karte 800 vorkommende Fahrspurmarkierungen (und deren bekannte Standorte) verwenden, um die durch die Koppelnavigation verursachten Fehler bei der Positionsbestimmung zu verringern. Auf diese Weise können die identifizierten Fahrspurmarkierungen, die in der dünnbesetzten Karte 800 enthalten sind, als Navigationsanker dienen, anhand derer eine genaue Position des Fahrzeugs relativ zu einer Zieltrajektorie bestimmt werden kann.
  • 25A zeigt ein beispielhaftes Bild 2500 einer Umgebung eines Fahrzeugs, das für Navigation auf Grundlage der kartierten Fahrspurmarkierungen verwendet werden kann. Das Bild 2500 kann beispielsweise vom Fahrzeug 200 über die in der Bilderfassungseinheit 120 enthaltenen Bildaufnahmeeinrichtungen 122 und 124 aufgenommen werden. Das Bild 2500 kann ein Bild von mindestens einer Fahrspurmarkierung 2510 umfassen, wie in 25A gezeigt. Das Bild 2500 kann auch einen oder mehrere Bezugspunkte 2521 wie etwa ein Straßenschild beinhalten, die wie vorstehend beschrieben für die Navigation verwendet werden. Einige in 25A gezeigte Elemente, beispielsweise die Elemente 2511, 2530 und 2520, die nicht in dem aufgenommenen Bild 2500 auftreten, aber vom Fahrzeug 200 erkannt und/oder bestimmt werden, sind ebenfalls als Referenz dargestellt.
  • Unter Verwendung der verschiedenen Methoden, die vorstehend in Bezug auf 24A bis D und 24F beschrieben wurden, kann ein Fahrzeug das Bild 2500 analysieren, um die Fahrspurmarkierung 2510 zu identifizieren. Es können verschiedene Punkte 2511 erkannt werden, die Merkmalen der Fahrspurmarkierung im Bild entsprechen. Die Punkte 2511 können zum Beispiel einem Rand der Fahrspurmarkierung, einer Ecke der Fahrspurmarkierung, einem Mittelpunkt der Fahrspurmarkierung, einem Scheitelpunkt zwischen zwei sich schneidenden Fahrspurmarkierungen oder verschiedenen anderen Merkmalen oder Positionen entsprechen. Die Punkte 2511 können als einer Position von Punkten entsprechend erkannt werden, die in einem von einem Server empfangenen Navigationsmodell gespeichert ist. Wenn zum Beispiel eine dünnbesetzte Karte empfangen wird, die Punkte enthält, die eine Mittellinie einer kartierten Fahrspurmarkierung darstellen, können die Punkte 2511 auch auf Grundlage einer Mittellinie der Fahrspurmarkierung 2510 erkannt werden.
  • Das Fahrzeug kann zudem eine Längsposition bestimmen, die durch das Element 2520 dargestellt wird und sich entlang einer Zieltrajektorie befindet. Die Längsposition 2520 kann beispielsweise aus dem Bild 2500 bestimmt werden, indem der Bezugspunkt 2521 im Bild 2500 erkannt und ein gemessener Standort mit einem bekannten Standort des Bezugspunkts verglichen wird, der im Straßenmodell oder in der dünnbesetzten Karte 800 gespeichert ist. Die Position des Fahrzeugs entlang einer Zieltrajektorie kann dann auf Grundlage des Abstands zum Bezugspunkt und des bekannten Standorts des Bezugspunkts bestimmt werden. Die Längsposition 2520 kann auch aus anderen Bildern als denen, die zur Bestimmung der Position einer Fahrspurmarkierung verwendet werden, bestimmt werden. Beispielsweise kann die Längsposition 2520 durch Erkennen von Bezugspunkten in Bildern anderer Kameras innerhalb der Bilderfassungseinheit 120 bestimmt werden, die gleichzeitig oder nahezu gleichzeitig mit Bild 2500 aufgenommen wurden. In einigen Fällen befindet sich das Fahrzeug möglicherweise nicht in der Nähe von Bezugs- oder anderen Referenzpunkten zur Bestimmung der Längsposition 2520. In solchen Fällen kann das Fahrzeug auf Grundlage von Koppelnavigation navigieren und somit Sensoren verwenden, um seine Ego-Bewegung zu bestimmen und eine Längsposition 2520 relativ zur Zieltrajektorie zu schätzen. Das Fahrzeug kann auch einen Abstand 2530 bestimmen, der den tatsächlichen Abstand zwischen dem Fahrzeug und der Fahrspurmarkierung 2510 darstellt, die in dem/den aufgenommenen Bild(ern) beobachtet wurde. Bei der Bestimmung des Abstands 2530 können der Kamerawinkel, die Geschwindigkeit des Fahrzeugs, die Breite des Fahrzeugs oder verschiedene andere Faktoren berücksichtigt werden.
  • 25B veranschaulicht eine seitliche Lokalisierungskorrektur des Fahrzeugs auf Grundlage der kartierten Fahrspurmarkierungen in einem Straßennavigationsmodell. Wie vorstehend beschrieben, kann das Fahrzeug 200 einen Abstand 2530 zwischen dem Fahrzeug 200 und einer Fahrspurmarkierung 2510 anhand eines oder mehrerer vom Fahrzeug 200 aufgenommener Bilder bestimmen. Das Fahrzeug 200 kann auch auf ein Straßennavigationsmodell zugreifen, wie etwa die dünnbesetzte Karte 800, die eine kartierte Fahrspurmarkierung 2550 und eine Zieltrajektorie 2555 enthalten kann. Die kartierte Fahrspurmarkierung 2550 kann mit den vorstehend beschriebenen Methoden modelliert werden, beispielsweise unter Verwendung durch Crowdsourcing erhaltener Standortkennungen, die von einer Vielzahl von Fahrzeugen erfasst werden. Die Zieltrajektorie 2555 kann auch mit den verschiedenen zuvor beschriebenen Methoden erzeugt werden. Das Fahrzeug 200 kann zudem eine Längsposition 2520 entlang der Zieltrajektorie 2555 bestimmen oder schätzen, wie vorstehend in Bezug auf 25A beschrieben. Das Fahrzeug 200 kann dann einen erwarteten Abstand 2540 bestimmen, der auf einem seitlichen Abstand zwischen der Zieltrajektorie 2555 und der kartierten Fahrspurmarkierung 2550 basiert, die der Längsposition 2520 entspricht. Die seitliche Lokalisierung des Fahrzeugs 200 kann korrigiert oder angepasst werden, indem der tatsächliche Abstand 2530, der anhand des oder der aufgenommenen Bilder gemessen wurde, mit dem erwarteten Abstand 2540 aus dem Modell verglichen wird.
  • 25C und 25D zeigen Darstellungen zu einem weiteren Beispiel zum Lokalisieren eines Host-Fahrzeugs während der Navigation auf Grundlage von kartierten Bezugspunkten/Objekten/Merkmalen in einer dünn besetzten Karte. 25C stellt konzeptionell eine Serie von Bildern dar, die von einem Fahrzeug aufgenommen wurden, das entlang eines Straßenabschnitts 2560 navigiert. In diesem Beispiel beinhaltet der Straßenabschnitt 2560 ein gerades Teilstück einer zweispurigen, geteilten Autobahn, der durch Straßenkanten 2561 und 2562 und eine mittlere Fahrspurmarkierung 2563 abgegrenzt ist. Wie gezeigt, fährt das Host-Fahrzeug entlang einer Spur 2564, die einer kartierten Zieltrajektorie 2565 zugeordnet ist. In einer idealen Situation (und ohne Einflussfaktoren wie das Vorhandensein von Zielfahrzeugen oder Objekten auf der Fahrbahn usw.) sollte das Host-Fahrzeug die kartierte Zieltrajektorie 2565 genau verfolgen, während es entlang der Fahrspur 2564 des Straßenabschnitts 2560 navigiert. In der Realität kann am Host-Fahrzeug bei der Navigation entlang der kartierten Zieltrajektorie 2565 Drift auftreten. Für eine effektive und sichere Navigation sollte diese Drift innerhalb akzeptabler Grenzen gehalten werden (z.B. +/- 10 cm seitliche Abweichung von der Zieltrajektorie 2565 oder ein anderer geeigneter Grenzwert). Um die Drift regelmäßig zu berücksichtigen und alle erforderlichen Kurskorrekturen vorzunehmen, um sicherzustellen, dass das Host-Fahrzeug der Zieltrajektorie 2565 folgt, können die offenbarten Navigationssysteme in der Lage sein, das Host-Fahrzeug entlang der Zieltrajektorie 2565 zu lokalisieren (z.B. eine seitliche und Längsposition des Host-Fahrzeugs in Bezug auf die Zieltrajektorie 2565 zu bestimmen), indem sie ein oder mehrere kartierte Merkmale/Objekte verwenden, die in der dünnbesetzten Karte enthalten sind.
  • Als einfaches Beispiel zeigt 25C ein Tempolimitschild 2566, wie es in fünf verschiedenen, nacheinander aufgenommenen Bildern erscheinen kann, während das Host-Fahrzeug entlang des Straßenabschnitts 2560 navigiert. Zu einem ersten Zeitpunkt t0 kann beispielsweise das Schild 2566 in einem aufgenommenen Bild in der Nähe des Horizonts erscheinen. Wenn sich das Host-Fahrzeug dem Schild 2566 nähert, erscheint das Schild 2566 in den nacheinander aufgenommenen Bildern zu den Zeitpunkten t1, t2, t3 und t4 an verschiedenen 2D-X-Y-Pixelpositionen der aufgenommenen Bilder. Beispielsweise bewegt sich das Schild 2566 im erfassten Bildraum entlang der Kurve 2567 (z.B. einer Kurve, die sich in jedem der fünf aufgenommenen Bildrahmen durch die Mitte des Schilds erstreckt) nach unten und nach rechts. Das Schild 2566 nimmt scheinbar auch an Größe zu, während es sich dem Host-Fahrzeug nähert (d.h. es nimmt in später aufgenommenen Bildern eine große Anzahl von Pixeln ein).
  • Diese Änderungen in den Bildraumdarstellungen eines Objekts, wie z.B. des Schilds 2566, können zur Bestimmung einer lokalisierten Position des Host-Fahrzeugs entlang einer Zieltrajektorie genutzt werden. Wie in der vorliegenden Offenbarung beschrieben, kann beispielsweise jedes erkennbare Objekt oder Merkmal, wie ein semantisches Merkmal wie das Schild 2566 oder ein erkennbares nicht-semantisches Merkmal, von einem oder mehreren Sammelfahrzeugen identifiziert werden, die zuvor einen Straßenabschnitt (z.B. den Straßenabschnitt 2560) befahren haben. Ein Kartenerstellungsserver kann die gesammelten Fahrinformationen von einer Vielzahl von Fahrzeugen sammeln, diese Informationen zusammenfassen und korrelieren und eine dünnbesetzte Karte erstellen, die beispielsweise eine Zieltrajektorie 2565 für die Fahrspur 2564 des Straßenabschnitts 2560 enthält. In der dünnbesetzten Karte kann auch ein Standort des Schilds 2566 (zusammen mit Typeninformationen usw.) gespeichert werden. Während der Navigation (z.B. vor der Einfahrt in den Straßenabschnitt 2560) kann ein Host-Fahrzeug mit einer Kartenkachel versorgt werden, die eine dünnbesetzte Karte für den Straßenabschnitt 2560 enthält. Um auf der Fahrspur 2564 des Straßenabschnitts 2560 zu navigieren, kann das Host-Fahrzeug der kartierten Zieltrajektorie 2565 folgen.
  • Die kartierte Darstellung des Schilds 2566 kann vom Host-Fahrzeug verwendet werden, um sich selbst in Bezug auf die Zieltrajektorie zu lokalisieren. Beispielsweise nimmt eine Kamera am Host-Fahrzeug ein Bild 2570 der Umgebung des Host-Fahrzeugs auf, und dieses aufgenommene Bild 2570 kann eine Bilddarstellung des Schilds 2566 mit einer bestimmten Größe und einer bestimmten X-Y-Bildposition enthalten, wie in 25D gezeigt. Anhand dieser Größe und der X-Y-Bildposition kann die Position des Host-Fahrzeugs in Bezug zur Zieltrajektorie 2565 bestimmt werden. Beispielsweise kann ein Navigationsprozessor des Host-Fahrzeugs auf Grundlage der dünnbesetzten Karte, die eine Darstellung des Schilds 2566 enthält, bestimmen, dass in Reaktion auf die Fahrt des Host-Fahrzeugs entlang der Zieltrajektorie 2565 eine Darstellung des Zeichens 2566 in aufgenommenen Bildern derart erscheinen sollte, dass sich ein Mittelpunkt des Schilds 2566 (im Bildraum) entlang der Linie 2567 bewegt. Wenn ein aufgenommenes Bild wie das Bild 2570 zeigt, dass der Mittelpunkt (oder ein anderer Referenzpunkt) von der Linie 2567 (z.B. der erwarteten Bildraumtrajektorie) verschoben ist, kann das Navigationssystem des Host-Fahrzeugs bestimmen, dass es sich zum Zeitpunkt der Bildaufnahme nicht auf der Zieltrajektorie 2565 befand. Anhand des Bildes kann der Navigationsprozessor jedoch eine geeignete Navigationskorrektur bestimmen, um das Host-Fahrzeug auf die Zieltrajektorie 2565 zurückzuführen. Zeigt die Analyse beispielsweise eine Bildposition des Schilds 2566, die im Bild um einen Abstand 2572 nach links von der erwarteten Bildraumposition auf der Linie 2567 verschoben ist, kann der Navigationsprozessor eine Kursänderung des Host-Fahrzeugs veranlassen (z.B. den Lenkwinkel der Räder ändern), um das Host-Fahrzeug um einen Abstand 2573 nach links zu bewegen. Auf diese Weise kann jedes aufgenommene Bild als Teil eines Rückkopplungsschleifenprozesses verwendet werden, so dass eine Differenz zwischen einer beobachteten Bildposition des Schilds 2566 und der erwarteten Bildtrajektorie 2567 minimiert werden kann, um sicherzustellen, dass das Host-Fahrzeug die Zieltrajektorie 2565 mit geringer oder keiner Abweichung verfolgt. Je mehr kartierte Objekte zur Verfügung stehen, desto häufiger kann natürlich die beschriebene Lokalisierungstechnik eingesetzt werden, die driftbedingte Abweichungen von der Zieltrajektorie 2565 reduzieren oder eliminieren kann.
  • Das oben beschriebene Verfahren kann nützlich sein, um eine seitliche Ausrichtung oder Verschiebung des Host-Fahrzeugs relativ zu einer Zieltrajektorie zu erkennen. Die Lokalisierung des Host-Fahrzeugs in Bezug auf die Zieltrajektorie 2565 kann auch eine Bestimmung einer Längsposition des Zielfahrzeugs entlang der Zieltrajektorie umfassen. Das aufgenommene Bild 2570 enthält zum Beispiel eine Darstellung des Schilds 2566 mit einer bestimmten Bildgröße (z.B. 2D-X-Y-Pixelfläche). Diese Größe kann mit einer erwarteten Bildgröße des kartierten Schilds 2566 verglichen werden, während es sich entlang der Linie 2567 durch den Bildraum bewegt (z.B. während die Größe des Schilds fortschreitend zunimmt, wie in 25C gezeigt). Auf Grundlage der Bildgröße des Schilds 2566 im Bild 2570 und des erwarteten Größenverlaufs im Bildraum in Bezug zur kartierten Zieltrajektorie 2565 kann das Host-Fahrzeug seine Längsposition (zum Zeitpunkt der Aufnahme des Bildes 2570) in Bezug auf die Zieltrajektorie 2565 bestimmen. Diese Längsposition in Verbindung mit einer eventuellen seitlichen Verschiebung relativ zur Zieltrajektorie 2565 ermöglicht, wie vorstehend beschrieben, eine vollständige Lokalisierung des Host-Fahrzeugs in Bezug auf die Zieltrajektorie 2565, während das Host-Fahrzeug auf der Straße 2560 navigiert.
  • 25C und 25D zeigen nur ein Beispiel für die offenbarte Lokalisierungsmethode unter Verwendung eines einzelnen kartierten Objekts und einer einzelnen Zieltrajektorie. In anderen Beispielen kann es viel mehr Zieltrajektorien geben (z.B. eine Zieltrajektorie für jede verwendbare Spur einer mehrspurigen Autobahn, einer städtischen Straße, einer komplexen Kreuzung usw.), und es können viel mehr Karten für die Lokalisierung verfügbar sein. Zum Beispiel kann eine dünnbesetzte Karte, die eine städtische Umgebung darstellt, viele Objekte pro Meter enthalten, die für die Lokalisierung verfügbar sind.
  • 26A ist ein Flussdiagramm, das einen beispielhaften Prozess 2600A zum Kartieren einer Fahrspurmarkierung zur Verwendung für autonome Fahrzeugnavigation gemäß offenbarten Ausführungsformen zeigt. In Schritt 2610 kann der Prozess 2600A Empfangen von zwei oder mehr Standortkennungen in Verbindung mit einer erkannten Fahrspurmarkierung beinhalten. Der Schritt 2610 kann beispielsweise vom Server 1230 oder einem oder mehreren dem Server zugehörigen Prozessoren durchgeführt werden. Die Standortkennungen können Standorte an realen Koordinaten von Punkten enthalten, die der erkannten Fahrspurmarkierung zugeordnet sind, wie vorstehend in Bezug auf 24E beschrieben. In einigen Ausführungsformen können die Standortkennungen zudem andere Daten enthalten, z.B. zusätzliche Informationen über den Straßenabschnitt oder die Fahrspurmarkierung. In Schritt 2610 können zudem zusätzliche Daten empfangen werden, beispielsweise Beschleunigungsmesserdaten, Geschwindigkeitsdaten, Daten zu Bezugspunkten, Straßengeometrie oder - profilen, Fahrzeugpositionsdaten, Ego-Bewegungsdaten oder verschiedene andere vorstehend beschriebene Datenarten. Die Standortkennungen können von einem Fahrzeug, wie beispielsweise den Fahrzeugen 1205, 1210, 1215, 1220 und 1225, auf Grundlage der vom Fahrzeug aufgenommenen Bilder generiert werden. Die Kennungen können beispielsweise auf Grundlage einer Erfassung mindestens eines Bilds, das für die Umgebung des Host-Fahrzeugs repräsentativ ist, durch eine mit dem Host-Fahrzeug verbundene Kamera, einer Analyse des mindestens einen Bildes zur Erkennung der Fahrspurmarkierung in der Umgebung des Host-Fahrzeugs und einer Analyse des mindestens einen Bilds zur Bestimmung einer Position der erkannten Fahrspurmarkierung in Bezug auf einen dem Host-Fahrzeug zugeordneten Standort bestimmt werden. Wie vorstehend beschrieben, kann die Fahrspurmarkierung eine Vielzahl verschiedener Markierungstypen umfassen, und die Standortkennungen können einer Vielzahl von Punkten in Bezug auf die Fahrspurmarkierung entsprechen. Wenn die erkannte Fahrspurmarkierung beispielsweise Teil einer gestrichelten Linie ist, die eine Fahrspurbegrenzung markiert, können die Punkte erkannten Ecken der Fahrspurmarkierung entsprechen. Wenn die erkannte Fahrspurmarkierung Teil einer durchgehenden Linie ist, die eine Fahrspurbegrenzung markiert, können die Punkte einem erkannten Rand der Fahrspurmarkierung entsprechen, mit verschiedenen Abständen wie vorstehend beschrieben. In einigen Ausführungsformen können die Punkte der Mittellinie der erkannten Fahrspurmarkierung entsprechen, wie in 24C gezeigt, oder sie können einem Scheitelpunkt zwischen zwei sich kreuzenden Fahrspurmarkierungen und mindestens zwei weiteren Punkten entsprechen, die den sich kreuzenden Fahrspurmarkierungen zugeordnet sind, wie in 24D gezeigt.
  • In Schritt 2612 kann der Prozess 2600A Zuordnen der erkannten Fahrspurmarkierung zu einem entsprechenden Straßenabschnitt beinhalten. Beispielsweise kann der Server 1230 die realen Koordinaten oder andere in Schritt 2610 empfangene Informationen analysieren und die Koordinaten oder die anderen Informationen mit in einem Straßennavigationsmodell für autonome Fahrzeuge gespeicherten Standortinformationen vergleichen. Der Server 1230 kann einen Straßenabschnitt im Modell bestimmen, der dem realen Straßenabschnitt entspricht, auf dem die Fahrspurmarkierung erkannt wurde.
  • In Schritt 2614 kann der Prozess 2600A Aktualisieren eines Straßennavigationsmodells für autonome Fahrzeuge in Bezug auf den entsprechenden Straßenabschnitt auf Grundlage der zwei oder mehr Standortkennungen, die der erkannten Fahrspurmarkierung zugeordnet sind, beinhalten. Das Straßennavigationsmodell für autonome Fahrzeuge kann zum Beispiel eine dünnbesetzte Karte 800 sein, und der Server 1230 kann die dünnbesetzte Karte aktualisieren, um eine kartierte Fahrspurmarkierung in das Modell aufzunehmen oder anzupassen. Der Server 1230 kann das Modell auf Grundlage der verschiedenen Verfahren oder Prozesse aktualisieren, die vorstehend in Bezug auf 24E beschrieben wurden. In einigen Ausführungsformen kann das Aktualisieren des Straßennavigationsmodells für autonome Fahrzeuge Speichern eines oder mehrerer Indikatoren einer Position der erkannten Fahrspurmarkierung in realen Koordinaten beinhalten. Das Straßennavigationsmodell für autonome Fahrzeuge kann zudem mindestens eine Zieltrajektorie enthalten, der ein Fahrzeug entlang des entsprechenden Straßenabschnitts folgen soll, wie in 24E gezeigt.
  • In Schritt 2616 kann der Prozess 2600A Verteilen des aktualisierten Straßennavigationsmodells für autonome Fahrzeuge an eine Vielzahl autonomer Fahrzeuge beinhalten. Zum Beispiel kann der Server 1230 das aktualisierte Straßennavigationsmodell für autonome Fahrzeuge an die Fahrzeuge 1205, 1210, 1215, 1220 und 1225 verteilen, die das Modell für die Navigation verwenden können. Das Straßennavigationsmodell für autonome Fahrzeuge kann über ein oder mehrere Netzwerke (z.B. über ein Mobilfunknetz und/oder das Internet usw.) über drahtlose Kommunikationswege 1235 verteilt werden, wie in 12 dargestellt.
  • In einigen Ausführungsformen können die Fahrspurmarkierungen unter Verwendung von Daten kartiert werden, die von einer Vielzahl von Fahrzeugen empfangen wurden, beispielsweise durch eine Crowdsourcing-Methode, wie vorstehend in Bezug auf 24E beschrieben. Zum Beispiel kann der Prozess 2600A Empfangen einer ersten Mitteilung von einem ersten Host-Fahrzeug, die Standortkennungen enthält, die mit einer erkannten Fahrspurmarkierung verbunden sind, und Empfangen einer zweiten Mitteilung von einem zweiten Host-Fahrzeug beinhalten, die zusätzliche Standortkennungen enthält, die mit der erkannten Fahrspurmarkierung verbunden sind. Die zweite Mitteilung kann beispielsweise von einem nachfolgenden Fahrzeug, das auf demselben Straßenabschnitt fährt, oder von demselben Fahrzeug auf einer nachfolgenden Fahrt auf demselben Straßenabschnitt empfangen werden. Der Prozess 2600A kann ferner Verfeinern einer Bestimmung von mindestens einer Position, die mit der erkannten Fahrspurmarkierung verbunden ist, auf Grundlage der in der ersten Mitteilung empfangenen Standortkennungen und auf Grundlage der in der zweiten Mitteilung empfangenen zusätzlichen Standortkennungen beinhalten. Dazu kann Verwenden eines Durchschnitts aus mehreren Standortkennungen und/oder Herausfiltern von „Geister“-Kennungen gehören, die möglicherweise nicht die reale Position der Fahrspurmarkierung widerspiegeln.
  • 26B ist ein Flussdiagramm, das einen beispielhaften Prozess 2600B für autonomes Navigieren eines Host-Fahrzeugs entlang eines Straßenabschnitts unter Verwendung kartierter Fahrspurmarkierungen zeigt. Der Prozess 2600B kann zum Beispiel von der Verarbeitungseinheit 110 des autonomen Fahrzeugs 200 durchgeführt werden. In Schritt 2620 kann der Prozess 2600B Empfangen eines Straßennavigationsmodells für autonome Fahrzeuge von einem serverbasierten System beinhalten. In einigen Ausführungsformen kann das Straßennavigationsmodell für autonome Fahrzeuge eine Zieltrajektorie für das Host-Fahrzeug entlang des Straßenabschnitts und Standortkennungen beinhalten, die einer oder mehreren Fahrspurmarkierungen zugeordnet sind, die zu dem Straßenabschnitt gehören. Zum Beispiel kann das Fahrzeug 200 die dünnbesetzte Karte 800 oder ein anderes Straßennavigationsmodell empfangen, das mit dem Prozess 2600A entwickelt wurde. In einigen Ausführungsformen kann die Zieltrajektorie als dreidimensionaler Spline dargestellt werden, beispielsweise wie in 9B gezeigt. Wie vorstehend in Bezug auf 24A bis F beschrieben, können die Ortskennungen die Positionen an realen Koordinaten von Punkten enthalten, die der Fahrspurmarkierung zugeordnet sind (z.B. Eckpunkte einer gestrichelten Fahrspurmarkierung, Randpunkte einer durchgehenden Fahrspurmarkierung, ein Scheitelpunkt zwischen zwei sich kreuzenden Fahrspurmarkierungen und andere Punkte, die den sich kreuzenden Fahrspurmarkierungen zugeordnet sind, eine der Fahrspurmarkierung zugeordnete Mittellinie usw.).
  • In Schritt 2621 kann der Prozess 2600B Empfangen mindestens eines Bilds beinhalten, das eine Umgebung des Fahrzeugs darstellt. Das Bild kann von einer Bildaufnahmeeinrichtung des Fahrzeugs empfangen werden, beispielsweise durch die Bildaufnahmeeinrichtungen 122 und 124, die in der Bilderfassungseinheit 120 enthalten sind. Das Bild kann ein Bild von einer oder mehreren Fahrspurmarkierungen beinhalten, ähnlich wie das vorstehend beschriebene Bild 2500.
  • In Schritt 2622 kann der Prozess 2600B Bestimmen einer Längsposition des Host-Fahrzeugs entlang der Zieltrajektorie beinhalten. Wie vorstehend in 25A beschrieben, kann dies auf Grundlage anderer Informationen im aufgenommenen Bild (z.B. Bezugspunkte usw.) oder durch Koppelnavigation des Fahrzeugs zwischen erkannten Bezugspunkten erfolgen.
  • In Schritt 2623 kann der Prozess 2600B Bestimmen eines erwarteten seitlichen Abstands zur Fahrspurmarkierung auf Grundlage der bestimmten Längsposition des Host-Fahrzeugs entlang der Zieltrajektorie und auf Grundlage der zwei oder mehr Standortkennungen, die mit der mindestens einen Fahrspurmarkierung verbunden sind, beinhalten. Beispielsweise kann das Fahrzeug 200 die dünnbesetzte Karte 800 verwenden, um einen erwarteten seitlichen Abstand zur Fahrspurmarkierung zu bestimmen. Wie in 25B gezeigt, kann in Schritt 2622 die Längsposition 2520 entlang einer Zieltrajektorie 2555 bestimmt werden. Anhand der dünnbesetzten Karte 800 kann das Fahrzeug 200 einen erwarteten Abstand 2540 zur kartierten Fahrspurmarkierung 2550 bestimmen, der der Längsposition 2520 entspricht.
  • In Schritt 2624 kann der Prozess 2600B Analysieren des mindestens einen Bilds beinhalten, um die mindestens eine Fahrspurmarkierung zu identifizieren. Das Fahrzeug 200 kann beispielsweise verschiedene Bilderkennungsmethoden oder -algorithmen verwenden, um die Fahrspurmarkierung im Bild zu identifizieren, wie vorstehend beschrieben. Beispielsweise kann die Fahrspurmarkierung 2510 durch Bildanalyse des Bilds 2500 erkannt werden, wie in 25A gezeigt.
  • In Schritt 2625 kann der Prozess 2600B Bestimmen eines tatsächlichen seitlichen Abstands zu der mindestens einen Fahrspurmarkierung auf Grundlage einer Analyse des mindestens einen Bilds beinhalten. Zum Beispiel kann das Fahrzeug einen Abstand 2530 bestimmen, wie in 25A gezeigt, der den tatsächlichen Abstand zwischen dem Fahrzeug und der Fahrspurmarkierung 2510 darstellt. Der Kamerawinkel, die Geschwindigkeit des Fahrzeugs, die Breite des Fahrzeugs, die Position der Kamera relativ zum Fahrzeug oder verschiedene andere Faktoren können bei der Bestimmung des Abstands 2530 berücksichtigt werden.
  • In Schritt 2626 kann der Prozess 2600B Bestimmen einer autonomen Lenkaktion für das Host-Fahrzeug auf Grundlage einer Differenz zwischen dem erwarteten seitlichen Abstand zu der mindestens einen Fahrspurmarkierung und dem bestimmten tatsächlichen seitlichen Abstand zu der mindestens einen Fahrspurmarkierung beinhalten. Beispielsweise kann das Fahrzeug 200, wie vorstehend in 25B beschrieben, einen tatsächlichen Abstand 2530 mit einem erwarteten Abstand 2540 vergleichen. Die Differenz zwischen dem tatsächlichen und dem erwarteten Abstand kann auf einen Fehler (und dessen Größe) zwischen der tatsächlichen Position des Fahrzeugs und der vom Fahrzeug zu verfolgenden Zieltrajektorie hinweisen. Dementsprechend kann das Fahrzeug auf Grundlage der Differenz eine autonome Lenkaktion oder eine andere autonome Aktion bestimmen. Wenn beispielsweise der tatsächliche Abstand 2530 geringer ist als der erwartete Abstand 2540, wie in 25B dargestellt, kann das Fahrzeug eine autonome Lenkaktion durchführen, um das Fahrzeug nach links, weg von der Fahrspurmarkierung 2510, zu lenken. Auf diese Weise kann die Position des Fahrzeugs relativ zur Zieltrajektorie korrigiert werden. Der Prozess 2600B kann zum Beispiel dazu verwendet werden, die Navigation des Fahrzeugs zwischen Bezugspunkten zu verbessern.
  • Die Verfahren 2600A und 2600B stellen nur Beispiele für Methoden dar, die für die Navigation eines Host-Fahrzeugs unter Verwendung der offenbarten dünnbesetzten Karten verwendet werden können. In anderen Beispielen können auch Verfahren gemäß den in 25C und 25D beschriebenen verwendet werden.
  • Kartenverwaltung unter Verwendung eines elektronischen Horizonts
  • Wenngleich Verarbeitungsleistung und Speicherkapazität zugenommen haben und weniger kostspielig geworden sind, kann es dennoch wünschenswert sein, sie effizienter zu nutzen. Die vorliegend offenbarten Systeme und Verfahren können es einem Fahrzeug ermöglichen, dynamisch Kartendaten zu empfangen und zu laden, die für seine Fahrtroute relevant sind, anstatt einen großen Satz von Kartendaten zu laden, die das Fahrzeug während einer Fahrt möglicherweise nicht verwendet. Auf diese Weise können die Systeme und Verfahren Hardwareanforderungen eines Fahrzeugs reduzieren, indem sie die Kartendaten empfangen und verarbeiten, die das Fahrzeug mit hoher Wahrscheinlichkeit benötigt. Darüber hinaus können die Systeme und Verfahren auch eine Senkung der Übertragungskosten für Daten ermöglichen, die zwischen einem Fahrzeug und beispielsweise einem zentralen Server, der die Kartendaten bereitstellt, ausgetauscht werden. Des Weiteren können die vorgestellten Systeme und Verfahren es dem Fahrzeug ermöglichen, die neuesten Kartendaten zu empfangen, die das Fahrzeug möglicherweise häufiger benötigt. Beispielsweise können die Systeme und Verfahren ein mögliches Fahrgebiet (oder eine mögliche Fahrenveloppe) für das Fahrzeug auf Grundlage von Navigationsinformationen wie dem Standort des Fahrzeugs, der Geschwindigkeit, der Fahrtrichtung usw. bestimmen. Die Systeme und Verfahren können zudem so konfiguriert sein, dass sie einen oder mehrere Straßenabschnitte bestimmen, die mit dem möglichen Fahrgebiet des Fahrzeugs verbunden sind, und die Kartendaten zu den Straßenabschnitten an das Fahrzeug übertragen. Das Fahrzeug (und/oder der Fahrer) kann anhand der empfangenen Kartendaten navigieren.
  • 27 veranschaulicht ein beispielhaftes System 2700 zum Bereitstellen eines oder mehrerer Kartenabschnitte für ein oder mehrere Fahrzeuge gemäß den offenbarten Ausführungsformen. Wie in 27 dargestellt, kann das System 2700 einen Server 2701, ein oder mehrere Fahrzeuge 2702 und eine oder mehrere Fahrzeugeinrichtungen 2703, die einem Fahrzeug zugeordnet sind, eine Datenbank 2704, ein Netzwerk 2705 und eine Verarbeitungseinheit 2706, die mit einer oder mehreren auf dem Fahrzeug montierbaren Bildaufnahmeeinrichtungen verbunden ist, umfassen. Der Server 2701 kann so konfiguriert sein, dass er einem oder mehreren Fahrzeugen einen oder mehrere Kartenabschnitte auf Grundlage von Navigationsinformationen bereitstellt, die von einem oder mehreren Fahrzeugen (und/oder einer oder mehreren Fahrzeugeinrichtungen, die einem Fahrzeug zugeordnet sind) empfangen wurden. Beispielsweise kann die Verarbeitungseinheit 2706 und/oder die Fahrzeugeinrichtung 2703 so konfiguriert sein, dass sie Navigationsinformationen sammeln und diese an den Server 2701 übertragen. Der Server 2701 kann auf Grundlage der empfangenen Navigationsinformationen einen oder mehrere Kartenabschnitte mit Karteninformationen für eine geografische Region an die Verarbeitungseinheit 2706 und/oder die Fahrzeugeinrichtung 2703 senden. Die Datenbank 2704 kann so konfiguriert sein, dass sie Informationen für die Komponenten des Systems 2700 (z.B. den Server 2701, die Fahrzeugeinrichtung 2703 und/oder die Verarbeitungseinheit 2706) speichert. Das Netzwerk 2705 kann so konfiguriert sein, dass es Kommunikation zwischen den Komponenten des Systems 2700 erleichtert.
  • Der Server 2701 kann so konfiguriert sein, dass er Navigationsinformationen von der Fahrzeugeinrichtung 2703 und/oder der Verarbeitungseinheit 2706 empfängt. In einigen Ausführungsformen können die Navigationsinformationen den Standort des Fahrzeugs 2702, die Geschwindigkeit des Fahrzeugs 2702 und die Fahrtrichtung des Fahrzeugs 2702 beinhalten. Der Server 2701 kann zudem so konfiguriert sein, dass er die empfangenen Navigationsinformationen analysiert und eine mögliche Fahrenveloppe für das Fahrzeug 2702 bestimmt. Eine mögliche Fahrenveloppe eines Fahrzeugs kann ein das Fahrzeug umgebender Bereich sein. Beispielsweise kann eine mögliche Fahrenveloppe eines Fahrzeugs einen Bereich umfassen, der einen ersten vorbestimmten Abstand vom Fahrzeug in Fahrtrichtung des Fahrzeugs, einen zweiten vorbestimmten Abstand vom Fahrzeug in einer Richtung entgegengesetzt zur Fahrtrichtung des Fahrzeugs, einen dritten vorbestimmten Abstand vom Fahrzeug zur Linken des Fahrzeugs und einen vierten vorbestimmten Abstand vom Fahrzeug zur Rechten des Fahrzeugs umfasst. In einigen Ausführungsformen kann der erste vorbestimmte Abstand vom Fahrzeug in Fahrtrichtung des Fahrzeugs einen vorbestimmten Abstand vor dem Fahrzeug beinhalten, der einen elektronischen Horizont des Fahrzeugs darstellen kann. In einigen Ausführungsformen kann eine mögliche Fahrenveloppe eines Fahrzeugs einen oder mehrere Abstände (einen, zwei, drei, ..., n) oder beliebige Äquivalente von Abständen (z.B. eine bestimmte Zeitspanne bei einem Geschwindigkeitsparameter usw.) vom Fahrzeug in einer oder mehreren (oder allen) möglichen Fahrtrichtungen des Fahrzeugs in Bezug auf seine aktuelle Position beinhalten. In einigen Ausführungsformen kann eine mögliche Fahrenveloppe eines Fahrzeugs einen oder mehrere Abstände (einen, zwei, drei, ..., n) von dem Fahrzeug in einer oder mehreren (oder allen) möglichen Fahrtrichtungen für das Fahrzeug in Bezug auf seine aktuelle Position und in einer Richtung, in der das Fahrzeug in Bezug auf seine aktuelle Position fahren kann, beinhalten (z.B. kann eine Fahrtrichtung in die mögliche Fahrenveloppe des Fahrzeugs einbezogen werden, wenn das Fahrzeug in dieser Fahrtrichtung in Bezug auf seine aktuelle Position fahren kann. Beispielsweise kann auf einer Straße, auf der ein Fahrzeug wenden kann, die mögliche Fahrenveloppe des Fahrzeugs zusätzlich zu einem vorbestimmten Abstand in zumindest der Vorwärtsrichtung einen vorbestimmten Abstand vom Fahrzeug in der entgegengesetzten Richtung umfassen, da das Fahrzeug wenden und in eine Richtung navigieren kann, die (im Allgemeinen) entgegengesetzt zu seiner aktuellen Bewegungsrichtung liegt. Ein weiteres Beispiel: Wenn eine Fahrt in die entgegengesetzte Richtung am aktuellen Standort nicht möglich ist (z.B. weil ein physisches Hindernis vorhanden ist) und für eine gewisse Entfernung vor dem aktuellen Standort keine Wendemöglichkeit besteht, kann eine mögliche Fahrenveloppe möglicherweise keinen Abstand in die entgegengesetzte Richtung beinhalten. Wenn die mögliche Fahrenveloppe eines Fahrzeugs beispielsweise 1000 Meter beträgt und eine Wende 800 Meter vor dem aktuellen Standort des Fahrzeugs beginnt, kann die mögliche Fahrenveloppe einen Abstand von 1000 Metern in der aktuellen Fahrtrichtung des Fahrzeugs und 200 Meter in der umgekehrten Fahrtrichtung (nach der Wende) umfassen, ausgehend von 800 Metern vor dem aktuellen Standort des Fahrzeugs (in seiner Fahrtrichtung). Wenn 350 Meter vom aktuellen Standort entfernt beginnend ein Wenden möglich ist und die mögliche Fahrenveloppe einen Abstand von 500 Metern umfasst, kann die mögliche Fahrenveloppe einen Abstand von 500 Metern in der aktuellen Fahrtrichtung des Fahrzeugs und 150 Meter in der umgekehrten Fahrtrichtung (nach der Wende) umfassen, ausgehend von 350 Metern vor dem aktuellen Standort des Fahrzeugs (in seiner Fahrtrichtung). Mehrere Wendemanöver können in verschiedenen (möglichen) Richtungen innerhalb der möglichen Fahrenveloppe möglich sein, und für jedes dieser Wendemanöver kann ein Abstand in Fahrtrichtung nach dem Wendemanöver in die mögliche Fahrenveloppe einbezogen werden. Ähnlich wie ein tatsächlicher Horizont in der realen Welt kann der elektronische Horizont mit einer möglichen Fahrstrecke des Fahrzeugs innerhalb eines bestimmten Zeitparameters, z.B. eines Zeitfensters (30 Sekunden, 1 Minute, 3 Minuten, 15 Minuten, 1 Stunde, 2 Stunden usw.) und auf Grundlage von Geschwindigkeitsparametern, z.B. auf Grundlage einer aktuellen Geschwindigkeit, einer geschätzten Geschwindigkeit, einer typischen Geschwindigkeit für die relevanten Straßenabschnitte in der möglichen Fahrenveloppe des Host-Fahrzeugs und einer aktuellen Fahrtrichtung, korreliert werden. Der Server 2701 kann ferner so konfiguriert sein, dass er an die Fahrzeugeinrichtung 2703 und/oder die Verarbeitungseinheit 2706 einen oder mehrere Kartenabschnitte mit Karteninformationen für eine geografische Region sendet, die sich zumindest teilweise mit der möglichen Fahrenveloppe des Fahrzeugs 2702 überlappt.
  • In einigen Ausführungsformen kann der Server 2701 ein Cloud-Server sein, der die vorliegend offenbarten Funktionen ausführt. Der Begriff „Cloud-Server“ bezieht sich auf eine Computerplattform, die Dienste über ein Netzwerk wie das Internet bereitstellt. In dieser Beispielkonfiguration kann der Server 2701 virtuelle Maschinen verwenden, die nicht unbedingt individueller Hardware entsprechen. So können beispielsweise Rechen- und/oder Speicherkapazitäten implementiert werden, indem geeignete Teile der gewünschten Rechen-/Speicherleistung von einem skalierbaren Repository, z.B. einem Datenzentrum oder einer verteilten Rechenumgebung, zugewiesen werden. In einem Beispiel kann der Server 2701 die vorliegend beschriebenen Verfahren unter Verwendung von individualisierter, fest verdrahteter Logik, einer oder mehreren anwendungsspezifischen integrierten Schaltungen (ASICs) oder frei programmierbaren Gate-Arrays (FPGAs), Firmware und/oder Programmlogik implementieren, die in Kombination mit dem Computersystem den Server 2701 zu einer Spezialmaschine machen.
  • Die Verarbeitungseinheit 2706 und/oder die Fahrzeugeinrichtung 2703 können so konfiguriert sein, dass sie Navigationsinformationen sammeln und diese an den Server 2701 übertragen. Beispielsweise kann die Verarbeitungseinheit 2706 und/oder die Fahrzeugeinrichtung 2703 so konfiguriert sein, dass sie Daten von einem oder mehreren Sensoren empfängt und auf Grundlage der empfangenen Daten Navigationsinformationen wie den Standort des Fahrzeugs, die Geschwindigkeit und/oder die Fahrtrichtung bestimmt. In einigen Ausführungsformen können Navigationsinformationen Sensordaten beinhalten, die von einem oder mehreren dem Fahrzeug 2702 zugeordneten Sensoren empfangen werden (z.B. von einer GPS-Einrichtung, einem Geschwindigkeitssensor, einem Beschleunigungsmesser, einem Aufhängungssensor, einer Kamera, einer LIDAR-Einrichtung, einer VIDAR- (Visual Detection and Ranging) Einrichtung oder ähnlichem oder einer Kombination aus diesen). Die Verarbeitungseinheit 2706 und/oder die Fahrzeugeinrichtung 2703 können zudem so konfiguriert sein, dass sie die Navigationsinformationen an den Server 2705 über beispielsweise das Netzwerk 2705 übertragen. Alternativ oder zusätzlich können die Verarbeitungseinheit 2706 und/oder die Fahrzeugeinrichtung 2703 so konfiguriert sein, dass sie Sensordaten an den Server 2701 übertragen. Die Verarbeitungseinheit 2706 und/oder die Fahrzeugeinrichtung 2703 können zudem so konfiguriert sein, dass sie Karteninformationen vom Server 2701 über beispielsweise das Netzwerk 2705 empfangen. In einem Beispiel kommuniziert die Verarbeitungseinheit 2706 mit dem Server 2701, um die Karteninformationen zu beziehen und anschließend relevante Karteninformationen an die Fahrzeugeinrichtung 2703 zu übermitteln. Zu den Karteninformationen können Daten zählen, die sich auf die Position verschiedener Elemente in einem Referenzkoordinatensystem beziehen, z.B. Straßen, Wassermerkmale, geografische Merkmale, Unternehmen, Sehenswürdigkeiten, Restaurants, Tankstellen, ein dünnbesetztes Datenmodell mit Polynomdarstellungen bestimmter Straßenmerkmale (z.B. Fahrspurmarkierungen), Zieltrajektorien für das Host-Fahrzeug oder dergleichen oder eine Kombination aus diesen. In einigen Ausführungsformen können die Verarbeitungseinheit 2706 und/oder die Fahrzeugeinrichtung 2703 so konfiguriert sein, dass sie einen Routenweg planen und/oder das Fahrzeug 2702 gemäß den Karteninformationen navigieren. Beispielsweise können die Verarbeitungseinheit 2706 und/oder die Fahrzeugeinrichtung 2703 so konfiguriert sein, dass sie eine Route zu einem Zielort auf Grundlage der Karteninformationen bestimmen. Alternativ oder zusätzlich können die Verarbeitungseinheit 2706 und/oder die Fahrzeugeinrichtung 2703 so konfiguriert sein, dass sie mindestens eine Navigationsaktion (z.B. Abbiegen, Anhalten an einem Standort usw.) auf Grundlage der empfangenen Karteninformationen bestimmen. In einigen Ausführungsformen kann die Verarbeitungseinheit 2706 eine Einrichtung beinhalten, die eine ähnliche Konfiguration aufweist und/oder ähnliche Funktionen wie die vorstehend beschriebene Verarbeitungseinheit 110 ausführt. Alternativ oder zusätzlich kann die Fahrzeugeinrichtung 2703 das Gasregelsystem 220 und/oder das Bremssystem 230 und/oder das Lenksystem 240 steuern oder mit diesen kommunizieren.
  • Die Datenbank 2704 kann eine spärliche Datenkarte beinhalten, die so konfiguriert ist, dass sie Kartendaten für die Komponenten des Systems 2700 (z.B. den Server 2701, die Verarbeitungseinheit 2706 und/oder die Fahrzeugeinrichtung 2703) speichert. In einigen Ausführungsformen können der Server 2701, die Verarbeitungseinheit 2706 und/oder die Fahrzeugeinrichtung 2703 so konfiguriert sein, dass sie auf die Datenbank 2704 zugreifen und über das Netzwerk 2705 gespeicherte Daten beziehen und/oder Daten in die Datenbank 2704 hochladen. So kann der Server 2701 beispielsweise Daten über Karteninformationen zur Speicherung an die Datenbank 2704 übertragen. Die Verarbeitungseinheit 2706 und/oder die Fahrzeugeinrichtung 2703 können Karteninformationen und/oder Daten aus der Datenbank 2704 herunterladen. In einigen Ausführungsformen kann die Datenbank 2704 Daten beinhalten, die sich auf die Position verschiedener Elemente in einem Referenzkoordinatensystem beziehen, darunter Straßen, Wassermerkmale, geografische Merkmale, Unternehmen, Sehenswürdigkeiten, Restaurants, Tankstellen oder dergleichen oder eine Kombination aus diesen. In einigen Ausführungsformen kann die Datenbank 2704 eine ähnliche Datenbank wie die an anderer Stelle beschriebene Kartendatenbank 160 beinhalten.
  • Bei dem Netzwerk 2705 kann es sich um jede Art von Netzwerk (einschließlich Infrastruktur) handeln, das Kommunikation ermöglicht, Informationen austauscht und/oder den Informationsaustausch zwischen den Komponenten des Systems 2700 erleichtert. Das Netzwerk 2705 kann beispielsweise das Internet, ein lokales Netzwerk, ein drahtloses Netzwerk (z.B. ein Wi-Fi-/302.11-Netzwerk) oder andere geeignete Verbindungen beinhalten oder Teil davon sein. In anderen Ausführungsformen können eine oder mehrere Komponenten des Systems 2700 direkt über dedizierte Kommunikationsverbindungen kommunizieren, beispielsweise über ein Telefonnetz, ein Extranet, ein Intranet, das Internet, Satellitenkommunikation, Offline-Kommunikation, drahtlose Kommunikation, Transponder-Kommunikation, ein lokales Netzwerk (LAN), ein Weitverkehrsnetz (WAN), ein virtuelles privates Netzwerk (VPN) und so weiter.
  • Wie an anderer Stelle in dieser Offenbarung beschrieben, kann die Verarbeitungseinheit 2706 Navigationsinformationen in Verbindung mit dem Fahrzeug 2702 über das Netzwerk 2705 an den Server 2701 übertragen. Der Server 2701 kann die von der Verarbeitungseinheit 2706 empfangenen Navigationsinformationen analysieren und auf Grundlage der Analyse der Navigationsinformationen eine mögliche Fahrenveloppe für das Fahrzeug 2702 bestimmen. Eine mögliche Fahrenveloppe kann den Standort des Fahrzeugs 2702 umfassen. In einigen Ausführungsformen kann die mögliche Fahrenveloppe eine beliebige Form annehmen und wird durch einen Abstand zwischen zwei Punkten in einer beliebigen Fahrtrichtung in Bezug auf die aktuelle Position des Fahrzeugs und die aktuelle Fahrtrichtung des Fahrzeugs bestimmt. In einigen Ausführungsformen kann eine mögliche Fahrenveloppe eine Begrenzung beinhalten. Die Begrenzung der möglichen Fahrenveloppe kann eine Form aufweisen, z.B. dreieckig, vierseitig, parallelogrammförmig, rechteckig, quadratisch (oder im Wesentlichen quadratisch), trapezförmig, rautenförmig, sechseckig, achteckig, kreisförmig (oder im Wesentlichen kreisförmig), oval, eiförmig, unregelmäßig oder dergleichen oder eine Kombination aus diesen. 28A bis 28D veranschaulichen beispielhafte mögliche Fahrenveloppen für ein Fahrzeug in einem Bereich 2800 gemäß offenbarten Ausführungsformen. Wie in 28A dargestellt, kann der Server 2701 eine mögliche Fahrenveloppe mit einer Begrenzung 2811, die eine Trapezform beinhalten kann, für das Fahrzeug 2702 bestimmen. Als weiteres Beispiel kann, wie in 28B dargestellt, der Server 2701 eine mögliche Fahrenveloppe mit einer Begrenzung 2812, die eine ovale Form beinhalten kann, für das Fahrzeug 2702 bestimmen. Als weiteres Beispiel kann, wie in 28C dargestellt, der Server 2701 eine mögliche Fahrenveloppe mit einer Begrenzung 2813, die eine Dreiecksform beinhalten kann, für das Fahrzeug 2702 bestimmen. Als weiteres Beispiel kann, wie in 28D dargestellt, der Server 2701 eine mögliche Fahrenveloppe mit einer Begrenzung 2814, die eine rechteckige Form beinhalten kann, für das Fahrzeug 2702 bestimmen. Alternativ oder zusätzlich kann die Form der möglichen Fahrenveloppe eine Begrenzung aufweisen, die durch einen oder mehrere mögliche Wege bestimmt wird, auf denen das Fahrzeug ausgehend von einem Standort (z.B. einem aktuellen Standort) des Fahrzeugs fahren kann. Ein Fachmann versteht, dass die Form einer möglichen Fahrenveloppe nicht auf die in dieser Offenbarung beschriebenen beispielhaften Formen beschränkt ist. Andere Formen sind ebenfalls möglich. Eine mögliche Fahrenveloppe kann beispielsweise mit nicht-entfernungsbezogenen Einschränkungen (wie Ländern, Staaten, Landkreisen, Städten und/oder Straßen) und Straßenende-Einschränkungen verbunden sein. Die mögliche Fahrenveloppe kann beispielsweise eine unregelmäßige Form haben, um solche nicht-entfernungsbezogenen Einschränkungen und/oder einen Teil der vorliegend beschriebenen Formen zu berücksichtigen.
  • Wie vorliegend an anderer Stelle beschrieben, kann der Server 2701 ferner so konfiguriert sein, dass er an die Verarbeitungseinheit 2706 einen oder mehrere Kartenabschnitte mit Karteninformationen für eine geografische Region sendet, die sich zumindest teilweise mit der möglichen Fahrenveloppe des Fahrzeugs überlappt. In einigen Ausführungsformen können der eine oder die mehreren Kartenabschnitte, die an die Verarbeitungseinheit 2706 und/oder die Fahrzeugeinrichtung 2703 gesendet werden, eine oder mehrere Kacheln enthalten, die eine Region mit einer vorbestimmten Abmessung darstellen. Die Größe und/oder Form einer Kachel kann variieren. In einigen Ausführungsformen kann die Größe einer Kachel in einer Region in einem Bereich von 0,25 bis 100 Quadratkilometern liegen, der in einen Teilbereich von 0,25 Quadratkilometern bis 1 Quadratkilometer, 1 Quadratkilometer bis 10 Quadratkilometer und 10 bis 25 Quadratkilometer, 25 bis 50 Quadratkilometer und 50 bis 100 Quadratkilometer eingeschränkt werden kann. In einigen Ausführungsformen kann die vorbestimmte Abmessung der Kachel(n) weniger als oder gleich zehn Quadratkilometer betragen. Alternativ kann die vorbestimmte Abmessung der Kachel(n) weniger als oder gleich einem Quadratkilometer betragen. Alternativ kann die vorbestimmte Abmessung der Kachel(n) auch weniger als oder gleich zehn Quadratkilometer betragen. Alternativ oder zusätzlich kann die Größe einer Kachel je nach Art der Region, in der sich die Kachel befindet, variieren. So kann beispielsweise die Größe einer Kachel in einem ländlichen Gebiet oder einem Gebiet mit weniger Straßen größer sein als die Größe einer Kachel in einem städtischen Gebiet oder einem Gebiet mit mehr Straßen. In einigen Ausführungsformen kann die Größe der Kachel auf Grundlage der Informationsdichte in der Umgebung eines aktuellen Standorts des Fahrzeugs (oder des Standorts, an dem die Daten gewonnen werden), möglicher Wege für das Fahrzeug, der Anzahl möglicher Routen in dem Gebiet, der Art der Routen (z.B. Haupt-, Stadt-, Land-, unbefestigte Wege usw.) in dem Gebiet und allgemeiner Navigationsmuster und/oder Trends in dem betreffenden Gebiet bestimmt werden. Wenn beispielsweise in einem bestimmten Gebiet oder einer bestimmten Region ein großer Prozentsatz der Fahrzeuge auf einer Hauptstraße verbleibt, können Karteninformationen für eine kleine Strecke entlang von Nebenstraßen abgerufen werden. Wenn ein Fahrzeug tatsächlich auf eine weniger befahrene Nebenstraße abbiegt, können mehr Karteninformationen für die Nebenstraße (z.B. für eine größere Strecke entlang der Nebenstraße) eingeholt und/oder an das Fahrzeug übertragen werden. In einigen Ausführungsformen kann eine Kachel die Form eines Rechtecks, eines Quadrats, eines Sechsecks oder eine ähnliche Form oder eine Kombination aus diesen aufweisen. Ein Fachmann versteht, dass die Form einer Kachel nicht auf die in dieser Offenbarung beschriebenen Formen beschränkt ist. So kann eine Kachel beispielsweise eine unregelmäßige Form aufweisen (z.B. bestimmt durch mindestens eine Grenze einer Gerichtsbarkeit (Bundesstaaten, Landkreise, Städte oder Gemeinden) oder andere Regionen (z.B. Straßen, Autobahnen) und Einschränkungen). Alternativ oder zusätzlich kann eine Kachel einen Teil jeder vorliegend offenbarten Form enthalten.
  • 28E bis 28H veranschaulichen beispielhafte Kartenkacheln für mögliche Fahrenveloppen für ein Fahrzeug gemäß offenbarten Ausführungsformen. Wie in 28E bis 28H dargestellt, kann der Server 2701 den Bereich 2800 (oder einen kleineren oder größeren Bereich) in mehrere Kacheln 2811 unterteilen. Der Server 2701 kann auch so konfiguriert sein, dass er eine oder mehrere Kacheln bestimmt, die sich zumindest teilweise mit der möglichen Fahrenveloppe des Fahrzeugs 2702 überlappen. Wie in 28E dargestellt, kann der Server 2701 beispielsweise einen Bereich 2831 mit Kacheln bestimmen, die sich mit der Begrenzung 2821 einer möglichen Fahrenveloppe für das Fahrzeug 2702 schneiden oder innerhalb dieser Begrenzung liegen. Wie in 28F dargestellt, kann der Server 2701 als weiteres Beispiel einen Bereich 2832 mit Kacheln bestimmen, die sich mit der Begrenzung 2822 einer möglichen Fahrenveloppe für das Fahrzeug 2702 schneiden oder innerhalb dieser Begrenzung liegen. Wie in 28G dargestellt, kann der Server 2701 als weiteres Beispiel einen Bereich 2833 mit Kacheln bestimmen, die sich mit der Begrenzung 2823 einer möglichen Fahrenveloppe für das Fahrzeug 2702 schneiden oder innerhalb dieser Begrenzung liegen. Wie in 28H dargestellt, kann der Server 2701 als weiteres Beispiel einen Bereich 2834 mit Kacheln bestimmen, die sich mit der Begrenzung 2824 einer möglichen Fahrenveloppe für das Fahrzeug 2702 schneiden oder innerhalb dieser Begrenzung liegen. In einigen Ausführungsformen kann der Server 2701 die Karteninformationen und/oder Daten zu einem oder mehreren Straßenabschnitten in dem bestimmten Gebiet an das Fahrzeug 2702 übertragen.
  • 29A und 29B veranschaulichen beispielhafte Kartenkacheln gemäß offenbarten Ausführungsformen. Wie in 29A dargestellt, kann ein Gebiet (oder eine Karte) auf verschiedenen Ebenen in eine Vielzahl von Kacheln unterteilt werden. In einigen Ausführungsformen kann ein Gebiet beispielsweise in eine Vielzahl von Kacheln auf Ebene 1 unterteilt werden, von denen jede wiederum in eine Vielzahl von Kacheln auf Ebene 2 unterteilt werden kann. Jede der Kacheln auf Ebene 2 kann in eine Vielzahl von Kacheln auf Ebene 3 unterteilt werden usw. 29B veranschaulicht eine Vielzahl von Kacheln in einer Region. Alternativ oder zusätzlich kann eine Region oder ein Land auf Grundlage von Gerichtsbarkeiten (z.B. Bundesstaaten, Bezirken, Städten, Gemeinden) und/oder anderen Regionen (z.B. Straßen, Autobahnen) in eine Vielzahl von Kacheln unterteilt werden. In einigen Ausführungsformen können die Abmessungen einer Kachel variieren. Wie in 29A und 29B dargestellt, kann ein Gebiet (oder eine Karte) beispielsweise in verschiedene Ebenen unterteilt sein, und eine Kachel auf einer bestimmten Ebene kann eine bestimmte Abmessung aufweisen.
  • In einigen Ausführungsformen kann eine Kachel in einem Datenblob dargestellt werden, der einen Metadatenblock (z.B. 64 Bytes), einen Signaturblock (z.B. 256 Bytes) und einen codierten Kartendatenblock (z.B. in verschiedenen Größen im MapBox-Format) beinhalten kann.
  • In einigen Ausführungsformen kann der Server 2701 Daten zu einer oder mehreren Kacheln in einer Region abrufen und die Daten beispielsweise über das Netzwerk 2705 an die Verarbeitungseinheit 2706 übertragen.
  • Alternativ oder zusätzlich kann die Verarbeitungseinheit 2706 die Daten zu einer oder mehreren Kacheln von einer Speichereinrichtung abrufen. Zum Beispiel kann die Verarbeitungseinheit 2706 einen oder mehrere Straßenabschnitte vom Server 2701 empfangen, wie vorliegend an anderer Stelle beschrieben. Die Verarbeitungseinheit 2706 kann den einen oder die mehreren empfangenen Straßenabschnitte zudem in einem lokalen Speicher ablegen und eine oder mehrere in dem einen oder den mehreren Straßenabschnitten enthaltene Kacheln zur Verarbeitung in einen Speicher laden. Anstatt einen oder mehrere Straßenabschnitte vom Server 2701 zu empfangen, kann die Verarbeitungseinheit 2706 auch mit einem lokalen Speicher kommunizieren, der so konfiguriert ist, dass er einen oder mehrere Straßenabschnitte speichert, und die Daten zu dem einen oder den mehreren Straßenabschnitten aus dem lokalen Speicher abrufen.
  • In einigen Ausführungsformen kann die Verarbeitungseinheit 2706 die Daten (z.B. Karteninformationen) in Bezug auf eine oder mehrere Kacheln basierend auf dem Standort des Fahrzeugs abrufen. Beispielsweise kann die Verarbeitungseinheit 2706 den aktuellen Standort des Fahrzeugs bestimmen (wie vorliegend an anderer Stelle beschrieben) und eine erste Kachel bestimmen, in der sich der aktuelle Standort befindet. Die Verarbeitungseinheit 2706 kann zudem die erste Kachel und eine oder mehrere (oder alle) an die erste Kachel angrenzende Kacheln abrufen. Alternativ oder zusätzlich kann die Verarbeitungseinheit 2706 eine oder mehrere (oder alle) Kacheln innerhalb eines vorgegebenen Abstands von der ersten Kachel abrufen. Alternativ oder zusätzlich kann die Verarbeitungseinheit 2706 eine oder mehrere (oder alle) Kacheln innerhalb eines vorbestimmten Trennungsgrads von der ersten Kachel abrufen (z.B. eine oder mehrere (oder alle) Kacheln, die innerhalb des zweiten Trennungsgrads liegen, d.h. eine oder mehrere (oder alle) Kacheln, die an die erste Kachel oder an eine Kachel angrenzen, die an die erste Kachel angrenzt). Wenn sich das Fahrzeug 2702 zu einer zweiten Kachel bewegt, kann die Verarbeitungseinheit 2706 die zweite Kachel abrufen. Die Verarbeitungseinheit 2706 kann zudem die erste Kachel und eine oder mehrere (oder alle) an die zweite Kachel angrenzende Kacheln abrufen. Alternativ oder zusätzlich kann die Verarbeitungseinheit 2706 eine oder mehrere (oder alle) Kacheln innerhalb eines vorgegebenen Abstands von der zweiten Kachel abrufen. Alternativ oder zusätzlich kann die Verarbeitungseinheit 2706 eine oder mehrere (oder alle) Kacheln innerhalb eines vorbestimmten Trennungsgrads von der zweiten Kachel abrufen (z.B. eine oder mehrere (oder alle) Kacheln, die innerhalb des zweiten Trennungsgrads liegen, d.h. eine oder mehrere (oder alle) Kacheln, die an die zweite Kachel oder an eine Kachel angrenzen, die an die zweite Kachel angrenzt). In einigen Ausführungsformen kann die Verarbeitungseinheit 2706 zudem die erste Kachel und/oder die zuvor abgerufenen Kacheln, die nicht an die zweite Kachel angrenzen, löschen (oder überschreiben). Alternativ oder zusätzlich kann die Verarbeitungseinheit 2706 eine oder mehrere zuvor abgerufenen Kacheln löschen (oder überschreiben), die nicht innerhalb eines vorbestimmten Abstands von der zweiten Kachel liegen. Alternativ oder zusätzlich kann die Verarbeitungseinheit 2706 eine oder mehrere (oder alle) zuvor abgerufenen Kacheln löschen (oder überschreiben), die nicht innerhalb eines vorbestimmten Trennungsgrades von der zweiten Kachel liegen.
  • 30 zeigt ein beispielhaftes Verfahren zum Abrufen einer oder mehrerer Kacheln. Wie in 30 dargestellt, kann die Verarbeitungseinheit 2706 (und/oder der Server 2701) so konfiguriert sein, dass sie bestimmt, dass sich der Standort des Fahrzeugs 2702 zum Zeitpunkt 1 in Kachel 5 befindet. Die Verarbeitungseinheit 2706 kann zudem so konfiguriert sein, dass sie angrenzende Kacheln 1-4 und 6-9 abruft (oder lädt). Zum Zeitpunkt 2 kann die Verarbeitungseinheit 2706 (und/oder der Server 2701) so konfiguriert sein, dass sie feststellt, dass sich der Standort des Fahrzeugs 2702 von Kachel 5 nach Kachel 3 bewegt. Die Verarbeitungseinheit 2706 kann so konfiguriert sein, dass sie neue Kacheln 10-14 abruft (oder lädt), die an die Kachel 3 angrenzen. Die Verarbeitungseinheit 2706 kann zudem so konfiguriert sein, dass sie die Kacheln 2, 3, 5 und 6 behält und Kacheln 1, 4 und 7-9 löscht. Somit kann die Verarbeitungseinheit 2706 jeweils einen Teilsatz der Kacheln (z.B. 9 Kacheln) abrufen (oder laden), um die Speichemutzung und/oder die Rechenlast zu verringern. In einigen Ausführungsformen kann die Verarbeitungseinheit 2706 so konfiguriert sein, dass sie eine Kachel decodiert, bevor sie die Daten in den Speicher lädt.
  • Alternativ oder zusätzlich kann die Verarbeitungseinheit 2706 einen Teilbereich einer Kachel so bestimmen, dass seine Position innerhalb der Kachel liegt, und die an den Teilbereich angrenzenden Kacheln laden. Wie in 31A dargestellt, kann die Verarbeitungseinheit 2706 beispielsweise bestimmen, dass sich der Standort des Fahrzeugs 2702 in einer Teilkachel befindet (einer Teilkachel mit einem Punktmuster in Kachel 5) und die Kartendaten der an die Teilkachel angrenzenden Kacheln (d.h. der Kacheln 4, 7 und 9) zur Verarbeitung in den Speicher laden. Als weiteres Beispiel, wie in 31B dargestellt, kann die Verarbeitungseinheit 2706 bestimmen, dass sich der Standort des Fahrzeugs 2702 in der linken oberen Teilkachel von Kachel 5 befindet. Die Verarbeitungseinheit 2706 kann zudem die Kacheln laden, die an die linke obere Teilkachel von Kachel 5 angrenzen (d.h. die Kacheln 1, 2 und 4). Somit kann die Verarbeitungseinheit 2706 jeweils einen Teilsatz der Kacheln (z.B. 4 Kacheln) abrufen (oder laden), um die Speichemutzung und/oder die Rechenlast zu verringern. Als weiteres Beispiel kann, wie in 31C dargestellt, die Verarbeitungseinheit 2706 beispielsweise bestimmen, dass sich der Standort des Fahrzeugs 2702 in der rechten oberen Teilkachel befindet, und Kartendaten der an die Teilkachel angrenzenden Kacheln (d.h. der Kacheln 2, 3 und 6) zur Verarbeitung in den Speicher laden. Als weiteres Beispiel kann, wie in 31D dargestellt, die Verarbeitungseinheit 2706 beispielsweise bestimmen, dass sich der Standort des Fahrzeugs 2702 in der rechten unteren Teilkachel befindet, und Kartendaten der an die Teilkachel angrenzenden Kacheln (d.h. der Kacheln 6, 8 und 9) zur Verarbeitung in den Speicher laden. In einigen Ausführungsformen kann die Verarbeitungseinheit 2706 so konfiguriert sein, dass sie eine Kachel decodiert, bevor sie die Daten in den Speicher lädt.
  • 32 ist ein Flussdiagramm, das einen beispielhaften Prozess zum Bereitstellen eines oder mehrerer Kartenabschnitte an ein oder mehrere Fahrzeuge gemäß den offenbarten Ausführungsformen zeigt. Ein oder mehrere Schritte des Prozesses 3200 können von einer Verarbeitungseinrichtung (z.B. der Verarbeitungseinheit 2706), einer dem Host-Fahrzeug zugeordneten Einrichtung (z.B. der Fahrzeugeinrichtung 2703) und/oder einem Server (z.B. dem Server 2701) durchgeführt werden. Auch wenn die nachstehenden Beschreibungen des Prozesses 3200 den Server 2701 als Beispiel verwenden, versteht ein Fachmann, dass ein oder mehrere Schritte des Prozesses 3200 von einer Verarbeitungseinrichtung (z.B. der Verarbeitungseinheit 2706) und einer Fahrzeugeinrichtung (z.B. der Fahrzeugeinrichtung 2703) durchgeführt werden können. Zum Beispiel kann die Verarbeitungseinheit 2706 auf Grundlage von Navigationsinformationen eine mögliche Fahrenveloppe bestimmen. Zusätzlich oder alternativ zum Empfangen von Kartendaten vom Server 2701 kann die Verarbeitungseinheit 2706 einen Teil der Kartendaten, der sich auf die mögliche Fahrenveloppe bezieht, aus einem lokalen Speicher abrufen und die abgerufenen Daten zur Verarbeitung in einen Speicher laden.
  • In Schritt 3201 können Navigationsinformationen von einem Fahrzeug empfangen werden. So kann der Server 2701 beispielsweise Navigationsinformationen von der Verarbeitungseinheit 2706 über das Netzwerk 2705 empfangen. In einigen Ausführungsformen können die von der Verarbeitungseinheit 2706 empfangenen Navigationsinformationen einen Indikator für einen Standort des Fahrzeugs, einen Indikator für eine Geschwindigkeit des Fahrzeugs und einen Indikator für eine Fahrtrichtung des Fahrzeugs beinhalten. Beispielsweise kann die Verarbeitungseinheit 2706 so konfiguriert sein, dass sie Daten von der Fahrzeugeinrichtung 2703 oder direkt von einem oder mehreren Sensoren empfängt, beispielsweise von einer GPS-Einrichtung, einem Geschwindigkeitssensor, einem Beschleunigungsmesser, einem Aufhängungssensor oder dergleichen oder einer Kombination aus diesen. Die Verarbeitungseinheit 2706 kann zudem so konfiguriert sein, dass sie auf Grundlage der empfangenen Daten Navigationsinformationen wie den Standort des Fahrzeugs, die Geschwindigkeit und/oder die Fahrtrichtung bestimmt. Die Verarbeitungseinheit 2706 kann zudem so konfiguriert sein, dass sie die Navigationsinformationen an den Server 2701 über beispielsweise das Netzwerk 2705 überträgt. Alternativ oder zusätzlich kann die Verarbeitungseinheit 2706 so konfiguriert sein, dass sie die Sensordaten an den Server 2701 überträgt. Der Server 2701 kann so konfiguriert sein, dass er auf Grundlage der empfangenen Sensordaten Navigationsinformationen bestimmt, die den Standort des Fahrzeugs 2702, die Geschwindigkeit des Fahrzeugs 2702 und/oder die Fahrtrichtung des Fahrzeugs 2702 beinhalten können.
  • In einigen Ausführungsformen kann die Verarbeitungseinheit 2706 die Navigationsinformationen (und/oder Sensordaten) kontinuierlich an den Server 2701 übertragen. Alternativ kann die Verarbeitungseinheit 2706 die Navigationsinformationen (und/oder Sensordaten) intermittierend an den Server 2701 übertragen. Beispielsweise kann die Verarbeitungseinheit 2706 die Navigationsinformationen (und/oder Sensordaten) über einen Zeitraum hinweg mehrmals an den Server 2701 übertragen. Beispielsweise kann die Verarbeitungseinheit 2706 die Navigationsinformationen (und/oder Sensordaten) einmal pro Minute an den Server 2701 übertragen. Alternativ kann die Verarbeitungseinheit 2706 die Navigationsinformationen übertragen, wenn sie Zugang zu einem zuverlässigeren und/oder schnelleren Netzwerk hat (z.B. bei einem stärkeren Funksignal, über eine WIFI-Verbindung usw.).
  • In Schritt 3202 können die empfangenen Navigationsinformationen analysiert und eine mögliche Fahrenveloppe für das Fahrzeug bestimmt werden. Beispielsweise kann der Server 2701 den Standort, die Geschwindigkeit und/oder die Fahrtrichtung des Fahrzeugs 2702 analysieren und eine mögliche Fahrenveloppe bestimmen, die einen bestimmten Bereich in Bezug auf das Fahrzeug 2702 beinhalten kann. Wie in 28A dargestellt, kann der Server 2701 beispielsweise ein Gebiet bestimmen, das den Standort des Fahrzeugs 2702 umfasst, und eine mögliche Fahrenveloppe mit einer Grenze 2811 auf Grundlage des bestimmten Gebiets bestimmen.
  • In einigen Ausführungsformen kann der Server 2701 so konfiguriert sein, dass er eine mögliche Fahrenveloppe bestimmt, die sich vom Standort des Fahrzeugs 2702 aus erstreckt und den Standort des Fahrzeugs 2702 umgibt. Wie in 28A dargestellt, kann der Server 2701 zum Beispiel eine Linie 2802 bestimmen, die durch den Standort des Fahrzeugs 2702 (oder den Schwerpunkt des Fahrzeugs 2702) verläuft. Der Server 2701 kann zudem so konfiguriert sein, dass er eine Seite der Begrenzung der möglichen Fahrenveloppe in Fahrtrichtung des Fahrzeugs 2702 und eine andere Seite der Begrenzung der möglichen Fahrenveloppe in einer der Fahrtrichtung entgegengesetzten Richtung bestimmt. Beispielsweise kann der Server 2701 die obere Begrenzung der möglichen Fahrenveloppe in Fahrtrichtung des Fahrzeugs 2702 und die untere Begrenzung der möglichen Fahrenveloppe in der der Fahrtrichtung des Fahrzeugs 2702 entgegengesetzten Richtung bestimmen. In einigen Ausführungsformen kann sich die mögliche Fahrhüllkurve weiter entlang der Fahrtrichtung des Fahrzeugs erstrecken als in einer Richtung, die der Fahrtrichtung des Fahrzeugs entgegengesetzt ist. Wie in 28A dargestellt, kann beispielsweise die obere Begrenzung der möglichen Fahrenveloppe einen Abstand 2803 von der Linie 2802 (oder einen ersten Abstand vom Standort des Fahrzeugs 2702) und die untere Begrenzung der möglichen Fahrenveloppe einen Abstand 2804 von der Linie 2802 (oder einen zweiten Abstand vom Standort des Fahrzeugs 2702) aufweisen. Der Abstand 2803 kann größer sein als der Abstand 2804 (und/oder der erste Abstand kann größer sein als der zweite Abstand). In einigen Ausführungsformen kann der Standort eines Schwerpunkts der Begrenzung zum Standort des Fahrzeugs 2702 entlang der Fahrtrichtung des Fahrzeugs 2702 versetzt sein.
  • Alternativ oder zusätzlich kann der Server 2701 beim Bestimmen der möglichen Fahrenveloppe für das Fahrzeug 2702 eine mögliche Fahrstrecke über einen bestimmten Zeitraum (oder ein Zeitfenster) berücksichtigen. Beispielsweise kann der Server 2701 eine mögliche Fahrstrecke über eine vorbestimmte Zeitspanne bestimmen und die mögliche Fahrenveloppe einschließlich der möglichen Fahrstrecke bestimmen. In einigen Ausführungsformen kann die mögliche Fahrstrecke über die vorbestimmte Zeitspanne auf Grundlage des Standorts des Fahrzeugs 2702 und/oder der Geschwindigkeit des Fahrzeugs 2702 bestimmt werden. In einigen Ausführungsformen kann der Server 2701 die mögliche Fahrenveloppe ferner auf Grundlage eines ausgewählten oder vorbestimmten Zeitfensters bestimmen. Das Zeitfenster kann auf Grundlage des Indikators für die Geschwindigkeit des Fahrzeugs ausgewählt oder bestimmt werden. Die vorbestimmte Zeitspanne (oder ein Zeitfenster) kann im Bereich von 0,1 Sekunden bis 24 Stunden liegen. In einigen Ausführungsformen kann die vorbestimmte Zeitspanne (oder das Zeitfenster) in Teilbereiche von 0,1 Sekunden bis 1 Sekunde, 1 Sekunde bis 5 Sekunden, 5 bis 10 Sekunden, 7,5 bis 50 Sekunden, 15 bis 60 Sekunden, 1 Minute bis 5 Minuten, 5 bis 10 Minuten, 10 bis 60 Minuten, 1 Stunde bis 5 Stunden, 5 bis 10 Stunden und 10 bis 24 Stunden unterteilt werden. In einigen Ausführungsformen kann die vorbestimmte Zeitspanne (oder ein Zeitfenster) auf Grundlage der Übertragungshäufigkeit der Navigationsinformationen vom Fahrzeug 2702 zum Server 2701 bestimmt werden. Beispielsweise kann der Server 2701 die vorbestimmte Zeitspanne (oder ein Zeitfenster) auf Grundlage des Intervalls zwischen zwei Übertragungen der Navigationsinformationen vom Fahrzeug 2702 bestimmen. Der Server 2701 kann einen längeren Zeitraum zum Bestimmen der möglichen Fahrstrecke für ein längeres Übertragungsintervall bestimmen.
  • In einigen Ausführungsformen kann eine mögliche Fahrenveloppe eine Begrenzung beinhalten. Die Begrenzung der möglichen Fahrenveloppe kann eine Form aufweisen, z.B. dreieckig, vierseitig, parallelogrammförmig, rechteckig, quadratisch (oder im Wesentlichen quadratisch), trapezförmig, rautenförmig, sechseckig, achteckig, kreisförmig (oder im Wesentlichen kreisförmig), oval, eiförmig, unregelmäßig oder dergleichen oder eine Kombination aus diesen. 28A bis 28D veranschaulichen beispielhafte mögliche Fahrenveloppen für ein Fahrzeug in einem Bereich 2800 gemäß offenbarten Ausführungsformen. Wie in 28A dargestellt, kann der Server 2701 eine mögliche Fahrenveloppe mit einer Begrenzung 2811, die eine Trapezform beinhalten kann, für das Fahrzeug 2702 bestimmen. Als weiteres Beispiel kann, wie in 28B dargestellt, der Server 2701 eine mögliche Fahrenveloppe mit einer Begrenzung 2812, die eine ovale Form beinhalten kann, für das Fahrzeug 2702 bestimmen. Als weiteres Beispiel kann, wie in 28 dargestellt, der Server 2701 eine mögliche Fahrenveloppe mit einer Begrenzung 2813, die eine Dreiecksform beinhalten kann, für das Fahrzeug 2702 bestimmen. Als weiteres Beispiel kann, wie in 28 dargestellt, der Server 2701 eine mögliche Fahrenveloppe mit einer Begrenzung 2814, die eine rechteckige Form beinhalten kann, für das Fahrzeug 2702 bestimmen.
  • In anderen Ausführungsformen kann die Verarbeitungseinheit 2706 (und/oder die Fahrzeugeinrichtung 2703) eine mögliche Fahrenveloppe auf Grundlage der Navigationsinformationen bestimmen.
  • In Schritt 3203 können ein oder mehrere Kartenabschnitte an das Fahrzeug 2702 gesendet werden. In einigen Ausführungsformen können der oder die Kartenabschnitte Karteninformationen für eine geografische Region enthalten, die sich zumindest teilweise mit der möglichen Fahrenveloppe des Fahrzeugs 2702 überlappt. Beispielsweise kann der Server 2701 über das Netzwerk 2705 einen oder mehrere Kartenabschnitte mit Kartendaten einer geografischen Region, die sich zumindest teilweise mit der möglichen Fahrenveloppe des Fahrzeugs 2702 überlappt, an die Verarbeitungseinheit 2706 senden.
  • In einigen Ausführungsformen beinhalten der eine oder die mehreren Kartenabschnitte eine oder mehrere Kacheln, die eine Region mit einer vorbestimmten Abmessung darstellen. Wie in 28E dargestellt, kann der Server 2701 beispielsweise eine oder mehrere Kacheln 2831 bestimmen, die sich zumindest teilweise mit der möglichen Fahrenveloppe des Fahrzeugs 2702 (d.h. der möglichen Fahrenveloppe mit der Begrenzung 2821) überlappen, und Kartendaten bezüglich der Kacheln 2831 über das Netzwerk 2705 an das Fahrzeug 2702 übertragen.
  • In einigen Ausführungsformen kann die Abmessung einer an die Verarbeitungseinheit 2706 gesendeten Kachel variieren. Wie in 29A und 29B dargestellt, kann ein Gebiet (oder eine Karte) beispielsweise in verschiedene Ebenen unterteilt sein, und eine Kachel auf einer bestimmten Ebene kann eine bestimmte Abmessung aufweisen. In einigen Ausführungsformen kann die vorbestimmte Abmessung der an die Verarbeitungseinheit 2706 gesendeten Kachel(n) in einem Bereich von 0,25 bis 100 Quadratkilometern liegen, der in einen Teilbereich von 0,25 Quadratkilometern bis 1 Quadratkilometer, 1 Quadratkilometer bis 10 Quadratkilometer und 10 bis 25 Quadratkilometer, 25 bis 50 Quadratkilometer und 50 bis 100 Quadratkilometer eingeschränkt werden kann. In einigen Ausführungsformen kann die vorbestimmte Abmessung der Kachel(n) weniger als oder gleich zehn Quadratkilometer betragen. Alternativ kann die vorbestimmte Abmessung der Kachel(n) weniger als oder gleich einem Quadratkilometer betragen. Alternativ kann die vorbestimmte Abmessung der Kachel(n) auch weniger als oder gleich zehn Quadratkilometer betragen. In einigen Ausführungsformen kann eine Kachel die Form eines Rechtecks, eines Quadrats, eines Sechsecks oder eine ähnliche Form oder eine Kombination aus diesen aufweisen.
  • In einigen Ausführungsformen können die an die Verarbeitungseinheit 2706 gesendeten Karteninformationen eine Polynomdarstellung einer Zieltrajektorie entlang des einen oder der mehreren Straßenabschnitte beinhalten, wie vorliegend an anderer Stelle beschrieben. Die Karteninformationen können beispielsweise eine Polynomdarstellung eines Teils eines Straßenabschnitts gemäß den in 9A, 9B und 11A dargestellten Ausführungsformen beinhalten. Die Karteninformationen können beispielsweise eine Polynomdarstellung einer Zieltrajektorie beinhalten, die auf Grundlage von zwei oder mehr rekonstruierten Trajektorien früherer Durchfahrten von Fahrzeugen auf dem einen oder den mehreren Straßenabschnitten bestimmt wird.
  • In einigen Ausführungsformen können die Verarbeitungseinheit 2706 und/oder die Fahrzeugeinrichtung 2703 nach dem Empfangen des einen oder der mehreren Straßenabschnitte das Fahrzeug 2702 gemäß dem einen oder den mehreren Straßenabschnitten navigieren, wie vorliegend an anderer Stelle beschrieben. Beispielsweise kann das Fahrzeug 2702 so konfiguriert sein, dass es eine oder mehrere Navigationsaktionen (z.B. Abbiegen, Anhalten an einem Standort usw.) auf Grundlage der empfangenen Straßenabschnitte durchführt. Alternativ oder zusätzlich kann das Fahrzeug 2702 so konfiguriert sein, dass es eine oder mehrere Navigationsaktionen auf Grundlage der Polynomdarstellung einer Zieltrajektorie entlang des einen oder der mehreren Straßenabschnitte durchführt.
  • In einigen Ausführungsformen kann die Verarbeitungseinheit 2706 den einen oder die mehreren Straßenabschnitte empfangen und den einen oder die mehreren Straßenabschnitte in einer Speichereinrichtung speichern. Die Verarbeitungseinheit 2706 kann zudem eine oder mehrere in dem einen oder den mehreren Straßenabschnitten enthaltene Kacheln zur Verarbeitung in einen Speicher laden. Zum Beispiel kann, wie in 30 dargestellt, die Verarbeitungseinheit 2706 (und/oder der Server 2701) so konfiguriert sein, dass sie bestimmt, dass sich der Standort des Fahrzeugs 2702 zum Zeitpunkt 1 in Kachel 5 befindet. Die Verarbeitungseinheit 2706 kann zudem so konfiguriert sein, dass sie angrenzende Kacheln 1-4 und 6-9 abruft (oder lädt). Zum Zeitpunkt 2 kann die Verarbeitungseinheit 2706 (und/oder der Server 2701) so konfiguriert sein, dass sie feststellt, dass sich der Standort des Fahrzeugs 2702 von Kachel 5 nach Kachel 3 bewegt. Die Verarbeitungseinheit 2706 kann so konfiguriert sein, dass sie neue Kacheln 10-14 abruft (oder lädt), die an die Kachel 3 angrenzen. Die Verarbeitungseinheit 2702 kann zudem so konfiguriert sein, dass sie die Kacheln 2, 3, 5 und 6 behält und Kacheln 1, 4 und 7-9 löscht.
  • Alternativ oder zusätzlich kann die Verarbeitungseinheit 2706 einen Teilbereich einer Kachel so bestimmen, dass seine Position innerhalb einer Kachel liegt, und die an den Teilbereich angrenzenden Kacheln laden. Wie in 31A dargestellt, kann die Verarbeitungseinheit 2706 beispielsweise bestimmen, dass sich der Standort des Fahrzeugs 2702 in einer Teilkachel befindet (einer Teilkachel mit einem Punktmuster in Kachel 5) und die Kartendaten der an die Teilkachel angrenzenden Kacheln (d.h. der Kacheln 4, 7 und 9) zur Verarbeitung in den Speicher laden. Als weiteres Beispiel, wie in 31B dargestellt, kann die Verarbeitungseinheit 2706 bestimmen, dass sich der Standort des Fahrzeugs 2702 in der linken oberen Teilkachel von Kachel 5 befindet. Die Verarbeitungseinheit 2706 kann zudem die Kacheln laden, die an die linke obere Teilkachel von Kachel 5 angrenzen (d.h. die Kacheln 1, 2 und 4). In einigen Ausführungsformen kann die Verarbeitungseinheit 2706 so konfiguriert sein, dass sie die Kacheln decodiert, bevor sie die Daten in den Speicher lädt.
  • In einigen Ausführungsformen kann die Verarbeitungseinheit 2706, anstatt den einen oder die mehreren Straßenabschnitte vom Server 2701 über das Netzwerk 2705 zu empfangen, den einen oder die mehreren Straßenabschnitte aus einem lokalen Speicher abrufen. Beispielsweise kann die Verarbeitungseinheit 2706 die mögliche Fahrenveloppe auf Grundlage der Analyse der Navigationsinformationen bestimmen und einen oder mehrere Straßenabschnitte mit Karteninformationen für eine geografische Region bestimmen, die sich zumindest teilweise mit der möglichen Fahrenveloppe des Fahrzeugs 2702 überlappt. Die Verarbeitungseinheit 2706 kann zudem die Daten des einen oder der mehreren Straßenabschnitte aus einem lokalen Speicher abrufen. In einigen Ausführungsformen kann die Verarbeitungseinheit 2706 die Daten des einen oder der mehreren Straßenabschnitte zur Verarbeitung in ihren Speicher laden.
  • Elektronischer Horizont: Fahrspurinformationen
  • Gemäß der vorliegenden Offenbarung liefert das offenbarte System Fahrzeugen relevante Informationen, die auf jedes einzelne Fahrzeug zugeschnitten sind. Beispielsweise kann der Server 2701 eine oder mehrere Kacheln 2831 bestimmen, die sich zumindest teilweise mit der möglichen Fahrenveloppe des Fahrzeugs 2702 überlappen, aber anstatt Kartendaten bezüglich der Kacheln 2831 an die Verarbeitungseinheit 2706 zu übertragen (oder zusätzlich dazu), kann der Server 2701 relevante Fahrspurinformationen übertragen. Alternativ kann, wie vorstehend erörtert, der Server 2701 Daten zu einer oder mehreren Kacheln in einer Region abrufen und die Kartendaten beispielsweise über das Netzwerk 2705 an die Verarbeitungseinheit 2706 übertragen. Danach kann die Verarbeitungseinheit 2706 aus den empfangenen Kartendaten relevante Fahrspurinformationen bestimmen, die auf jedes einzelne Fahrzeug zugeschnitten sind, und die relevanten Fahrspurinformationen an die Fahrzeugeinrichtung 2703 übermitteln. Die relevanten Fahrspurinformationen können Details zu Objekten enthalten, denen das Fahrzeug 2702 auf seinem Fahrweg begegnen kann (z.B. Spline, Straßengeometrien, Straßenstrukturen und -merkmale usw.). In einer Ausführungsform können die relevanten Informationen auf Grundlage des Standorts und/oder der Fahrtrichtung eines jeweiligen Fahrzeugs bestimmt werden. Beispielsweise kann die Verarbeitungseinheit 2706 (oder der Server 2701) bestimmen, auf welcher der verfügbaren Fahrspuren sich das Fahrzeug 2702 gerade befindet (d.h. auf der Ego-Spur), und mit dieser Fahrspur verbundene Informationen an die Fahrzeugeinrichtung 2703 weitergeben. Die Verarbeitungseinheit 2706 (oder der Server 2701) kann zudem die Position entlang eines Splines, der einen Zielfahrweg in der Fahrspur darstellt, bestimmen und an die Fahrzeugeinrichtung 2703 übermitteln. Die relevanten Informationen können in einer individuell angepassten Form geliefert werden. Zum Beispiel können verschiedene Fahrzeughersteller verlangen, dass unterschiedliche Daten an ihre Fahrzeuge geliefert werden. Darüber hinaus können die relevanten Informationen, die an die Fahrzeugeinrichtung 2703 geliefert werden, zur einfacheren Löschung und Verwaltung in Teilsegmente unterteilt werden. In einer anderen Ausführungsform kann die Verarbeitungseinheit 2706 (oder der Server 2701) bei der Übertragung von Daten an die Fahrzeugeinrichtung 2703 ein dynamisches Datenfeld (z.B. einen dynamischen Kopf/Header) verwenden. Das dynamische Datenfeld kann relevante Karteninformationen und/oder relevante Fahrspurinformationen für das Fahrzeug 2702 beinhalten. Insbesondere können die relevanten Informationen, die der Fahrzeugeinrichtung 2703 bereitgestellt werden, während einer Fahrsitzung dynamisch auf Grundlage der erlebten Szenarien variiert werden. Um die Änderungen in den relevanten Informationen zu berücksichtigen, kann die Verarbeitungseinheit 2706 (oder der Server 2701) ein dynamisches Datenfeld in den an die Fahrzeugeinrichtung 2703 gesendeten Datenpaketen verwenden. Das dynamische Datenfeld kann es der Verarbeitungseinheit 2706 (oder dem Server 2701) ermöglichen, die in den übertragenen Datenpaketen enthaltenen Informationen so zu variieren, dass die Fahrzeugeinrichtung 2703 weiß, was gesendet wird, wo es sich im Paket befindet, wie lang usw.
  • Unter erneuter Bezugnahme auf 32 können in Schritt 3204 Fahrspurinformationen an die Fahrzeugeinrichtung 2703 bereitgestellt werden. In einigen Ausführungsformen können die Fahrspurinformationen spezifisch für eine oder mehrere Straßen sein, die innerhalb der möglichen Fahrenveloppe des Fahrzeugs 2702 liegen. Beispielsweise kann die Verarbeitungseinheit 2706 (oder der Server 2701) Fahrspurinformationen für Straßen bereitstellen, die innerhalb der möglichen Fahrenveloppe des Fahrzeugs 2702 liegen. Anstatt die Fahrspurinformationen durch die Fahrzeugeinrichtung 2703 auf Grundlage in einem lokalen Speicher gespeicherter Daten berechnen und bestimmen zu lassen, kann gemäß einigen Ausführungsformen die Fahrzeugeinrichtung 2703 die relevanten Fahrspurinformationen von der Verarbeitungseinheit 2706 (oder dem Server 2701) empfangen. Beispielsweise kann der Server 2701 die mögliche Fahrenveloppe auf Grundlage der Analyse der Navigationsinformationen bestimmen, und die Verarbeitungseinheit 2706 kann Fahrspurinformationen bestimmen, die eine Fahrspurzuweisung und/oder eine Beschreibung der Fahrspuren auf einem beliebigen Teil der Straßen innerhalb einer geografischen Region enthalten können, die sich zumindest teilweise mit der möglichen Fahrenveloppe des Fahrzeugs 2702 überlappt. Das Empfangen der relevanten Fahrspurinformationen von der Verarbeitungseinheit 2706 (oder dem Server 2701) kann es der Fahrzeugeinrichtung 2703 ersparen, eine große Menge an Daten für einen oder mehrere Kartenabschnitte zu empfangen und zu speichern und die Daten zu verarbeiten, um die relevanten Fahrspurinformationen zu bestimmen. Darüber hinaus können die von der Verarbeitungseinheit 2706 bestimmten Fahrspurinformationen genauer sein als von der Fahrzeugeinrichtung 2703 lokal bestimmte Fahrspurinformationen.
  • Gemäß einem ersten Aspekt der Offenbarung können die Fahrspurinformationen Fahrspurzuweisungsinformationen beinhalten, die für das Fahrzeug 2702 relevant sind. Gemäß der vorliegenden Offenbarung können die Fahrspurzuweisungsinformationen eine Beschreibung der Fahrspuren in einem bestimmten Abstand vor dem Fahrzeug 2702 beinhalten. Der bestimmte Abstand kann im Bereich zwischen 1 Meter und 5 Kilometern liegen. In einigen Ausführungsformen kann der Abstand in beliebige Teilbereiche eingeteilt werden, z.B. 1 bis 50 Meter, 5 bis 500 Meter, 10 bis 200 Meter, 10 bis 750 Meter, 5 Meter bis 1 Kilometer, 50 Meter bis 2 Kilometer, 100 Meter bis 2,5 Kilometer und mehr. Der Abstand kann auch aus einem Zeitparameter und einem Geschwindigkeitsparameter abgeleitet werden, wie vorstehend im Abschnitt „Kartenverwaltung unter Verwendung eines elektronischem Horizonts“ beschrieben. Insbesondere können die Fahrspurinformationen eine Liste der Fahrspuren auf dem Teil der Straße, den das Fahrzeug 2702 gerade befährt, und eine Angabe darüber enthalten, welche Fahrspur die Ego-Spur ist. Jede Spur kann eine Liste von rechten Nachbarspuren, eine Liste von linken Nachbarspuren und eine Liste von Nachfolgern enthalten. Jede Fahrspur kann auch eine boolesche Angabe darüber enthalten, ob es sich um eine Fahrspur in Fahrtrichtung des Fahrzeugs 2702 oder um eine Gegenfahrspur handelt. Beispielsweise können die Fahrspurzuweisungsinformationen Details zu einer Ego-Spur, die dem Fahrzeug 2702 zugeordnet ist, und zu einer oder zwei benachbarten Fahrspuren rechts und/oder links von der Ego-Spur enthalten. In einer Ausführungsform kann die Ausgabe des Systems so konfigurierbar sein, dass die Anzahl der Fahrspuren, für die Zuweisungsinformationen bereitgestellt werden, variieren kann. In einigen Ausführungsformen kann eine detailliertere Bezeichnung (zwei Bits, ein Byte usw.) der Fahrspuren verwendet werden, um die Bezeichnung von Fahrspuren in mehreren möglichen Richtungen zu ermöglichen (z.B. Fahrspuren, die von einer Kreuzung abzweigen, mehrere Wendemöglichkeiten usw.).
  • Gemäß einem zweiten Aspekt der Offenbarung können die Fahrspurinformationen eine Beschreibung der Fahrspuren auf einem beliebigen Teil der Straßen enthalten, die innerhalb der möglichen Fahrenveloppe des Fahrzeugs 2702 liegen. Gemäß der vorliegenden Offenbarung kann die Beschreibung der Fahrspuren mindestens eines der Folgenden enthalten: einen Standort des Fahrzeugs 2702 auf der Ego-Spur, ein Fahrwegprofil (z.B. ein vorgeschlagenes Fahrwegprofil (vertikal, längs oder beides) auf der Ego-Spur), Haltepunkte (z.B. Punkte auf der Ego-Spur, an denen eine Haltelinie oder eine virtuelle Haltelinie vorhanden ist, die auf der Karte markiert, aber nicht physisch sichtbar ist. In einigen Fällen können virtuelle Haltelinien auf Grundlage von Crowdsourcing-Informationen über die typische Halteposition von Fahrzeugen an einem bestimmten Ort erstellt werden), Fahrspurmarkierungspunkte (z.B. Punkte auf der Ego-Spur, an denen die Fahrspurmarkierung wechselt, z.B. von einer gestrichelten zu einer durchgezogenen Linie), Fahrspurtopologie (z.B. die Beziehungen zwischen Fahrspuren) und mehr. In einer Ausführungsform kann die Beschreibung der Fahrspuren eine Beschreibung der Fahrspuren vor dem Fahrzeug 2702 beinhalten. Die Beschreibung der Fahrspuren kann beispielsweise eine Liste der Fahrspuren und die Topologiebeziehungen (d.h. die Konnektivität) zwischen diesen beinhalten. Insbesondere kann jede Spur Nachfolger, Vorgänger und Nachbarn aufweisen. Im Falle einer Fahrspuraufteilung hat eine Fahrspur mehr als einen Nachfolger, und im Falle einer Fahrspurzusammenführung hat eine Fahrspur mehr als einen Vorgänger. Die Bereitstellung der Fahrspurinformationen kann es der Fahrzeugeinrichtung 2703 ermöglichen, das Fahrzeug 2702 autonom zu navigieren oder von einem menschlichen Fahrer getroffene Entscheidungen zu überwachen und möglicherweise einzugreifen, wenn der Fahrer ein schlechtes Urteilsvermögen hat und/oder gefährliche Entscheidungen trifft (z.B. Entscheidungen, die gegen eine Sicherheitsrichtlinie oder eine Fahrrichtlinie verstoßen, wie z.B. die von Mobileye Vision Technology Ltd aus Jerusalem, Israel, entwickelte RSS). Beispielsweise kann das Navigationssystem des Fahrzeugs, das der Fahrzeugeinrichtung 2703 zugeordnet ist, die Beschreibung der Fahrspuren (und die Fahrspurzuweisungsinformationen) verwenden, um den Fahrweg des Fahrzeugs 2702 zu steuern, um ein Fahrspurwechselmanöver einzuleiten, um innerhalb der Fahrspurgrenzen zu bleiben, u.a. In einer anderen Ausführungsform kann die Beschreibung der Fahrspuren der Fahrzeugeinrichtung 2703 auch dabei helfen, relativ zu erkannten Zielfahrzeugen zu navigieren. Beispielsweise kann die Fahrzeugeinrichtung 2703 auf Grundlage kartierter und abgetasteter Fahrwege für angrenzende oder kreuzende Spuren einen Weg bestimmen oder vorhersagen, den ein oder mehrere Zielfahrzeuge fahren werden. Die Fahrspurinformationen können zudem nützlich sein, wenn die Fahrzeugeinrichtung 2703 Informationen in Bezug auf eine Straßenaufteilung sammelt (z.B. automatisches Bestimmen und Melden einer Durchschnittsgeschwindigkeit, die innerhalb einer bestimmten Fahrspur vom Fahrzeug 2702, Zielfahrzeugen usw. gefahren wird).
  • In einigen Ausführungsformen können die Fahrspurinformationen Fahrspurzuweisungsinformationen und eine Beschreibung der Fahrspuren auf Straßen enthalten, die das Fahrzeug 2702 während eines bestimmten Zeitfensters befahren kann. Zum Beispiel kann das Zeitfenster auf Grundlage des Indikators für die Geschwindigkeit des Fahrzeugs ausgewählt oder bestimmt werden. Das bestimmte Zeitfenster kann im Bereich von 0,1 Sekunden bis 24 Stunden liegen. In einigen Ausführungsformen kann das Zeitfenster in Teilbereiche von 0,1 Sekunden bis 1 Sekunde, 1 Sekunde bis 5 Sekunden, 5 bis 10 Sekunden, 7,5 bis 50 Sekunden,15 bis 60 Sekunden, 1 Minute bis 5 Minuten, 5 bis 10 Minuten, 10 bis 60 Minuten, 1 Stunde bis 5 Stunden, 5 bis 10 Stunden und 10 bis 24 Stunden unterteilt werden. Wie vorstehend erwähnt, kann das Zeitfenster auf Grundlage der Übertragungshäufigkeit der Navigationsinformationen vom Fahrzeug 2702 und dem Server 2701 bestimmt werden.
  • Die Kommunikation zwischen dem Server 2701 und der Fahrzeugeinrichtung 2703 und/oder die Kommunikation zwischen der Verarbeitungseinheit 2706 und der Fahrzeugeinrichtung 2703 kann durch ein spezielles Kommunikationsprotokoll geregelt werden. In einigen Fällen kann das Kommunikationsprotokoll ein eindirektionales Protokoll sein, so dass Daten von der Verarbeitungseinheit 2706 (oder dem Server 2701) an die Fahrzeugeinrichtung 2703 gesendet werden können. Eine Nachricht im eindirektionalen Kommunikationsprotokoll kann mindestens zwei Teile beinhalten: ein dynamisches Datenfeld (z.B. einen dynamischen Kopf) zur Beschreibung der in der Nachricht enthaltenen Objekte, und Nutzdaten, die verschiedene Arten von Objekten enthalten können, die mit den Fahrspurinformationen verbunden sind. Die Nutzdaten können in der gleichen Reihenfolge angeordnet sein, wie sie im dynamischen Kopf erscheinen (z.B. die Art der Objekte und ihre Längenfelder). Das eindirektionale Protokoll kann einen effizienten Kompromiss darstellen. Durch die Verwendung von vorkonfigurierten Parametern (z.B. wie viele Sekunden oder wie viele Entfernungsdaten in die mögliche Fahrenveloppe einbezogen werden müssen) kann die Kommunikation rationalisiert und/oder vereinfacht werden. Potentiell kann die Verwendung des eindirektionalen Protokolls auch Sicherheitsvorteile bieten, da die Verarbeitungseinheit 2706 (oder der Server 2701) keinen schadhaften Informationen ausgesetzt wird. In anderen Fällen kann das Kommunikationsprotokoll ein bidirektionales Protokoll sein, so dass Daten von der Verarbeitungseinheit 2706 (oder dem Server 2701) an die Fahrzeugeinrichtung 2703 und Daten von der Fahrzeugeinrichtung 2703 an die Verarbeitungseinheit 2706 (oder den Server 2701) gesendet werden können. Eine Antwortnachricht im bidirektionalen Kommunikationsprotokoll von der Fahrzeugeinrichtung 2703 an die Verarbeitungseinheit 2706 (oder den Server 2701) kann Einzelheiten über die Genauigkeit der von der Verarbeitungseinheit 2706 (oder dem Server 2701) gesendeten Informationen enthalten. Die Antwortnachricht kann beispielsweise dazu verwendet werden, den Standort und/oder die Identität bestimmter Objekte in der Umgebung des Fahrzeugs 2702 zu bestätigen.
  • 33 ist eine schematische Darstellung, die eine Struktur von Nachrichten darstellt, die von der Verarbeitungseinheit 2706 (oder dem Server 2701) an die Fahrzeugeinrichtung 2703gesendet werden können. Gemäß der vorliegenden Offenbarung enthält die Nachricht 3300 einen dynamischen Kopf, der eine Struktur der Nachricht, die Größe jedes Objekts in der Nachricht und den Inhalt jedes Objekts innerhalb der Nutzdaten der Nachricht beschreibt. Der Kopf 3310 kann als Wörterbuch zum Parsen der Nutzdaten der Nachricht und zum Rekonstruieren der Fahrspurinformationen verwendet werden. In einer Ausführungsform kann der Kopf 3310 zudem Informationen darüber enthalten, wie die in den Nutzdaten 3320 enthaltenen Daten zu decodieren sind. Der Kopf 3310 kann ein Versionsfeld 3311 (d.h. die Nummer der verwendeten Version), ein Objektanzahlfeld 3312 (d.h. die Anzahl der in der Nachricht enthaltenen Objekte), ein Größenfeld 3313 (d.h. die Größe von Nutzdatenobjekten in der aktuellen Nachricht), ein Abschnitt-ID-Feld 3314 (d.h. die IDs der in dieser Nachricht enthaltenen Kartenabschnitte); und ein Feld 3315 zu Art und Längen-Array der Objekte (d.h. eine Liste von Objektdeskriptoren, die für jedes der Objekte in der Nachricht dessen Typ und Größe angeben). Die Länge dieser Liste kann der Anzahl der Objekte in den Nutzdaten entsprechen. Der dynamische Charakter des Kopfes 3310 kann es der Verarbeitungseinheit 2706 (oder dem Server 2701)ermöglichen, Nachrichten zu übertragen, die Informationen enthalten, die mit hoher Wahrscheinlichkeit von der Fahrzeugeinrichtung 2703 verwendet werden, und zu vermeiden, dass irrelevante Informationen an die Fahrzeugeinrichtung 2703 gesendet werden. So kann beispielsweise der dynamische Charakter des Kopfes 3310 die Größe von über das Netzwerk 2705 ausgetauschten Nachrichten verringern.
  • In einigen Ausführungsformen können die Nutzdaten 3302 ein AbschnitteInEH-Objekt 3321, ein FahrwegSpline-Objekt 3322, ein FahrwegProfil-Objekt 3323 und ein oder mehrere Nutzdatenobjekte 3324 beinhalten. Das AbschnitteInEH-Objekt 3321 kann von der Verarbeitungseinheit 2706 (oder dem Server 2701) jedes Mal gesendet werden, wenn sich die Liste enthaltener Kartenabschnitte innerhalb der möglichen Fahrenveloppe des Fahrzeugs 2702 ändert (neuer Kartenabschnitt hinzugefügt oder alter Kartenabschnitt entfernt). In einem Beispiel kann das AbschnitteInEH-Objekt 3321 ein Vektor von Abschnitt-IDs sein (z.B. jeweils eine vorzeichenlose 32-Bit-Ganzzahl), in dem die Kartenabschnitt-IDs aufgelistet sind, die in der möglichen Fahrenveloppe des Fahrzeugs 2702 abgedeckt sind. Die Fahrzeugeinrichtung 2703 kann aus ihrem lokalen Speicher Daten löschen, die AbschnitteInEH zugeordnet sind und nicht in der Liste enthalten sind. Das FahrwegSpline-Objekt 3322 kann Daten eines Splines enthalten, der dem Fahrweg zugeordnet ist. In einem Beispiel kann das FahrwegSpline-Objekt 3322 die Spline-ID und Fahrspurinformationen beinhalten, die die Beziehung zwischen dem Fahrweg-Spline und den Fahrspuren auf einem beliebigen Teil der Straßen innerhalb der möglichen Fahrenveloppe des Fahrzeugs 2702 beschreiben. Das FahrwegProfil-Objekt 3323 kann ein Array von Werten entlang des Fahrweg-Spline beinhalten. Die Daten im Fahrwegprofil können zum Beispiel die Durchschnittsgeschwindigkeit an verschiedenen Punkten (z.B. Längsposition) auf dem Fahrweg beinhalten.
  • In einigen Ausführungsformen können die von der Verarbeitungseinheit 2706 (oder dem Server 2701) an die Fahrzeugeinrichtung 2703übertragenen Fahrspurinformationen in Nutzdatenobjekten 3324 enthalten sein. Beispiele für Nutzdatenobjekte 3324 können mindestens eines der Folgenden umfassen: ein Fahrspurtopologie-Objekt, das die Beziehungen zwischen den Fahrspuren auf dem Fahrweg beschreibt; ein Fahrspurmasken-Objekt, das die Fahrspuren darstellt, auf die sich ein Spline bezieht; Fahrweggrenzen-Objekte, die eine Kongruenz eines Fahrspurmarkierungs-Spline oder eines Fahrbahnrand-Spline mit dem Fahrweg beschreiben; Zusammenführungs-/Aufteilungspunkte, die Informationen über einen Teilungs- oder Zusammenführungspunkt im Kartenkoordinatensystem enthalten; ein Straßenkantenänderungspunkt-Objekt, das ein Array von Geschwindigkeitsvektorpunkten auf dem Spline enthält, an denen eine Änderung des Fahrbahnrandtyps auftritt; ein Zeichenbezugspunkt-Objekt, das Verkehrszeichen und Ampeln beschreibt; ein Mastenbezugspunkt-Objekt, das Details zu Masten enthält, die sich neben der Ego-Spur befinden; und andere mehr. Mit anderen Worten, die an die Fahrzeugeinrichtung 2703 übertragenen Nutzdatenobjekte 3324 können die Straßengeometrie, die Semantik (z.B. die Fahrspurtopologie auf jedem Teil der Straßen, der zur möglichen Fahrenveloppe des Fahrzeugs 2702 gehört) und eine Angabe darüber, wo sich das Host-Fahrzeug in Bezug auf die Fahrspurtopologie befindet, beschreiben. Zum Beispiel kann die Fahrzeugeinrichtung 2703 während der Fahrt auf einer Autobahn durch die Nachricht 3300 eine Angabe erhalten, dass die rechte Fahrspur in 350 Metern zur Abfahrspur wird. 34 zeigt ein Beispiel für eine tatsächliche Nachricht, die an ein Host-Fahrzeug gesendet wird.
  • In weiteren Ausführungsformen kann die Fahrzeugeinrichtung 2703 nach dem Empfangen des einen oder der mehreren Kartenabschnitte und der Fahrspurinformationen das Fahrzeug 2702 wie vorliegend an anderer Stelle beschrieben navigieren. Beispielsweise kann die Fahrzeugeinrichtung 2703 so konfiguriert sein, dass sie eine oder mehrere Navigationsaktionen (z.B. Abbiegen, Anhalten an einem Standort, Beschleunigen, Bremsen usw.) auf Grundlage des einen oder der mehreren empfangenen Kartenabschnitte und der Fahrspurinformationen durchführt. Alternativ oder zusätzlich kann die Fahrzeugeinrichtung 2702 so konfiguriert sein, dass sie auf Grundlage der Polynomdarstellung einer Zieltrajektorie eine oder mehrere Navigationsaktionen durchführt. In weiteren Ausführungsformen kann die Fahrzeugeinrichtung 2703 nach dem Empfangen des einen oder der mehreren Kartenabschnitte und der Fahrspurinformationen mit Hilfe von Computer Vision und KI ein Umgebungsmodell an einem beliebigen Punkt oder Standort erstellen. In weiteren Ausführungsformen kann die Fahrzeugeinrichtung 2703 nach dem Empfangen des einen oder der mehreren Kartenabschnitte und der Fahrspurinformationen eine Karte erstellen (z.B. eine dünnbesetzte Karte), die vorstehend näher erläutert wurde. In weiteren Ausführungsformen kann die Fahrzeugeinrichtung 2703 nach dem Empfangen des Umgebungsmodells, des einen oder der mehreren Kartenabschnitte und der Fahrspurinformationen Fahrrichtlinien anwenden, um einen menschlichen Fahrer zu überwachen und einzugreifen (z.B. das Fahrzeug zu veranlassen, eine oder mehrere Navigationsaktionen durchzuführen, wie Abbiegen, Anhalten an einem Standort, Beschleunigen, Bremsen usw.), wenn eine oder mehrere Aktionen des menschlichen Fahrers zu einer Verletzung mindestens einer Fahrrichtlinienregel und/oder einer mit einer Fahrrichtlinie verbundenen Sicherheitseinschränkung führen würden.
  • Zusätzliche Merkmale des elektronischen Horizonts
  • Wie vorliegend an anderer Stelle beschrieben, können die offenbarten Systeme und Verfahren einen elektronischen Horizont verwenden, um Kartendaten in einem vordefinierten Bereich (z.B. in einer Region mit einem vorbestimmten Radius) effizient zu laden oder zu verwenden. Die vorgestellten Systeme und Verfahren können die Bandbreitenbeanspruchung optimieren und Kartennutzern die relevantesten Daten unter Berücksichtigung der Fahrzeugposition, der Ego-Geschwindigkeit und der Trajektorie liefern. Diese Offenlegung beschreibt die Logik und die Bausteine des Elektronischen Horizonts („EH“), wie sie aus der Karte extrapoliert und über die entsprechenden Protokolle übertragen werden, die von den offenbarten Systemen und Verfahren verwendet werden können, um eine oder mehrere vorliegend offenbarte Funktionen zu erreichen.
  • In einigen Ausführungsformen kann ein System einen oder mehrere EH-Prozessoren (die vorliegend auch als EH-Ersteller (constructor) bezeichnet werden können) beinhalten, die so programmiert sind, dass sie Kartendaten für einen Bereich vor einem Host-Fahrzeug (oder in dessen Umgebung) bestimmen und die bestimmten Kartendaten an einen oder mehrere Navigationssystemprozessoren ausgeben. Zum Beispiel können ein oder mehrere EH-Prozessoren Kartendaten für einen vorbestimmten Radius (der vorliegend auch als EH-Radius bezeichnet werden kann) vor dem Fahrzeug bestimmen. Der EH-Radius kann einen Zeitraum (z.B. einen Bruchteil einer Sekunde oder einige Sekunden) vor dem Host-Fahrzeug umfassen, in dem das Host-Fahrzeug mit der aktuellen Geschwindigkeit fahren kann. Alternativ oder zusätzlich kann der EH-Radius einen Mindestabstand aufweisen (z.B. 100 Meter). Der Zeitraum und/oder der Mindestabstand des EH-Radius können konfiguriert werden. Wenn der Zeitraum beispielsweise auf 15 Sekunden festgelegt ist und das Host-Fahrzeug mit 60 km/h unterwegs ist, können der eine oder die mehreren EH-Prozessoren Kartendaten aller Straßenabschnitte (oder eines Teils davon) beziehen, die das Host-Fahrzeug innerhalb eines EH-Radius von 250 Metern erreichen kann.
  • 35 ist eine schematische Darstellung beispielhafter E-Horizont-Kartendaten gemäß offenbarten Ausführungsformen. Wie in 35 dargestellt, kann das Fahrzeug 3501 einen Straßenabschnitt entlangfahren. Ein oder mehrere EH-Prozessoren können einen Bereich 3502 bestimmen, der von einem EH-Radius abgedeckt wird, und Kartendaten aller Straßenabschnitte innerhalb des Bereichs 3502 beziehen. Der eine oder die mehreren E-Horizont-Prozessoren können die Kartendaten an einen oder mehrere Navigationssystemprozessoren ausgeben.
  • Der eine oder die mehreren Navigationssystemprozessoren können das Navigationssystem des Host-Fahrzeugs gemäß den von dem einen oder den mehreren EH-Prozessoren empfangenen Kartendaten steuern. Beispielsweise können der eine oder die mehreren Navigationssystemprozessoren so programmiert sein, dass sie den Standort des Host-Fahrzeugs in Bezug auf die mit den Kartendaten verbundene Karte auf Grundlage von einem oder mehreren bordeigenen Sensoren gelieferter Ausgaben bestimmen. Der eine oder die mehreren Navigationssystemprozessoren können zudem so programmiert sein, dass sie das Host-Fahrzeug (z.B. über dessen Navigationssystem) veranlassen, gemäß der Position des Host-Fahrzeugs in Bezug auf die Karte mindestens ein Navigationsmanöver auszuführen. In einigen Ausführungsformen können die ausgegebenen Kartendaten im Kartenkoordinatensystem dargestellt werden (z.B. mit Breiten-/Längenpunkten).
  • Diese Offenbarung bietet beispielhafte Merkmale, Funktionen und Protokolle zum Verwalten von E-Horizont-Daten, wie im Folgenden beschrieben. Diese beispielhaften Merkmale, Funktionen und Protokolle können in den offenbarten Systemen und Verfahren verwendet werden, sollten aber nicht als einschränkende Beispiele verstanden werden.
  • Akronyme und Terminologie
  • Der Kürze halber werden in dieser Offenbarung die in Tabelle 1 aufgeführten Bezeichnungen und Abkürzungen verwendet. Tabelle 1: Akronyme und Terminologie
    Bezeichnung Beschreibung
    ACC Adaptiver/Aktiver Geschwindigkeitsregler - Weiterentwicklung des herkömmlichen Geschwindigkeitsreglers, der mithilfe von bordeigenen Sensoren vorausfahrende Fahrzeuge erkennt und einen festgelegten Abstand zwischen dem Host-Fahrzeug und dem vorausfahrenden Fahrzeug einhält.
    CORA Zentrum der realen Achse
    CP Steuerpunkt
    DBC Design by Contract - Datei, die die Struktur der Nachrichtenübermittlung im CAN- (Controller Area Network) Protokoll beschreibt (möglicherweise auch Universal Asynchronous Receiver Transmitter (UART))
    DP Fahrweg
    HD Hohe Dynamik
    EH Elektronischer Horizont
    LM Fahrspurmarkierung
    ME Mobileye
    NED Norden, Osten, Unten
    OEM Erstausrüster
    PP Vorhergesagter Weg
    RB Autoatlas
    RE Straßenkante
    REM Straßenerfahrungsverwaltung
    RP Straßenprofil
    RT Rotation - Translation
    SPI Serial Peripheral Interface - serieller Kommunikationskanal, der in einem oder mehreren RH-Prozessoren verwendet wird, hauptsächlich zur
    Kommunikation zwischen einem oder mehreren RH-Prozessoren und einem oder mehreren Navigationssystemprozessoren
  • Datentyp-Definitionen
  • Die folgenden in Tabelle 2 aufgeführten Datentypen können von den offenbarten Systemen und Verfahren verwendet werden. Tabelle 2: Beispielhafte Datentypen
    Datentyp Definition
    uint8 vorzeichenlose 8-Bit-Ganzzahl
    uint16 vorzeichenlose 16-Bit-Ganzzahl
    Int 32-Bit-Ganzzahl
    Gleitkomma 32-Bit-Gleitkomma
  • Funktionalitäten des elektronischen Horizonts
  • Das EH-Protokoll kann als die Schnittstelle dienen, über die die Kartendaten an die äußeren Funktionen und/oder den Neuersteller (re-constructor) (z.B. einen oder mehrere Navigationssystemprozessoren) gesendet werden. In einigen Ausführungsformen kann ein EH-Signal eine maximale Ausgabefrequenz haben. Mit anderen Worten können Kartendaten mit einer maximalen Frequenz ausgegeben werden. So können beispielsweise Kartendaten mit einer maximalen Frequenz von 36 Hz (d.h. 36 Mal pro Sekunde) ausgegeben werden. In einigen Ausführungsformen kann jedes Kartenelement (z.B. eine Kartenkachel, wie vorliegend an anderer Stelle beschrieben) nur einmal gesendet werden. Der Neuersteller (z.B. ein oder mehrere Navigationssystemprozessoren) kann für die Pufferung und Verwaltung der EH-Kartendaten zuständig sein. Das EH-Protokoll kann es einem EH-Prozessor ermöglichen, dem Neuersteller zu signalisieren, wenn Kartendaten nicht mehr durch den EH-Radius abgedeckt sind, und die Kartendaten können aus dem Puffer gelöscht werden, der die EH-Kartendaten speichert, die von dem einen oder mehreren E-Horizont-Prozessoren ausgegeben werden.
  • Unterteilung von Kartendaten
  • In einigen Ausführungsformen kann eine Karte (z.B. eine dünnbesetzte Karte) aus Kanten aufgebaut sein. Eine Kante kann eine Straße zwischen zwei Kreuzungen, Kreisverkehren, Straßenzusammenführungen oder Straßenaufteilungen sein. Jedes RB-Element (Fahrweg, Fahrspurmarkierung, Straßenkante, Verkehrsschilder, Masten usw.) kann in einer Kante enthalten sein. Ein Kantenabschnitt kann eine logische Einheit sein, die vom Ersteller gesendete Kartendaten enthält. Der EH-Ersteller kann jede Kante in mehrere Abschnitte unterteilen. Der EH-Ersteller kann dem Neuersteller signalisieren, dass er Daten mit einer Granularität von Kantenabschnitten löschen soll. Die Unterteilung von Kanten in Teilabschnitte kann die Speicherbeanspruchung auf beiden Seiten (des Erstellers und des Neuerstellers) verringern, da Kanten recht lang sein können.
  • In einigen Ausführungsformen kann ein Kantenabschnitt durch drei Parameter identifiziert werden:
    • EdgeID: ID der ursprünglichen Kante (edge), zu der der Abschnitt gehört.
    • tStart: Startpunkt in Metern dieses Abschnitts in der ursprünglichen Kante.
    • tEnd: Ende in Metern dieses Abschnitts in der ursprünglichen Kante.
  • Der Ersteller kann jedem Kantenabschnitt eine Kennung (ID) zuweisen, die vorliegend als AbschnittID bezeichnet wird. Der Ersteller kann eine Liste von AbschnittIDs an den Neuersteller senden, um anzugeben, welche Kantenabschnitte im EH-Radius enthalten sind. Jedes Mal, wenn sich die Liste der im EH-Radius enthaltenen Kantenabschnitte ändert, kann der Ersteller eine aktualisierte Liste der AbschnittIDs in einem separaten „Steuer“-Slot senden.
  • In einigen Ausführungsformen kann der Ersteller dem Neuersteller signalisieren, dass ein Kantenabschnitt gelöscht werden kann, indem er eine aktualisierte AbschnittID-Liste ohne diese Abschnitt-ID sendet. Der Neuersteller kann jede AbschnittID löschen, die nicht in der Liste enthalten ist und bereits empfangen wurde. Der Neuersteller kann dafür zuständig sein, alle übergebenen Kantenabschnittsdaten zu löschen, die auf seiner Seite gelöscht werden müssen. In einigen Ausführungsformen dürfen Segmente, die bereits vom Neuersteller vorgelegt wurden, aufgrund einer Geschwindigkeitsänderung während einer Fahrt nicht gelöscht werden.
  • In einigen Ausführungsformen können Kanten in Segmente mit einer vorbestimmten Anzahl von (oder X) Metern oder an einem Punkt, an dem die Anzahl der Fahrspuren geändert wird, unterteilt werden, je nachdem, was die erforderliche Mindestabschnittsgröße ergibt. Ist ein Abschnitt kleiner als X/4, kann kein neuer Abschnitt erstellt werden, und die Daten können in den vorherigen Abschnitt aufgenommen werden.
  • In einigen Ausführungsformen kann jeder Kantenabschnitt alle RB-Elemente enthalten, die in dem physischen Teil der Kante enthalten sind, die er darstellt.
  • In einigen Ausführungsformen können auch Splines (z.B. Fahrwege, Fahrspurmarkierungen, Straßenkanten usw.) während des Kantenunterteilungsprozesses aufgeteilt werden. Ein Spline kann aus Steuerpunkten (CPs) und Knoten-Arrays erstellt werden. Die CPs und die Knoten können ein mathematisches B-Spline-Modell des Splines beschreiben. Der Unterteilungsprozess kann einen Spline schneiden. Der geschnittene Abschnitt kann vier CPs und vier Knoten aus dem vorherigen Abschnitt am Anfang der Spline-Arrays und vier Knoten (und keine CPs) aus den nächsten Abschnitten am Ende des Knoten-Arrays enthalten. Dies kann es dem Neuersteller ermöglichen, die Daten eines Kantenabschnitts unabhängig auszuwerten.
  • Karten- (Autoatlas-) Elemente
  • Jeder übertragene Abschnitt kann Kartenobjekte beinhalten, die in einem vordefinierten Format gepackt sind. Ein Abschnitt kann zum Beispiel mindestens eines der Folgenden enthalten: einen Spline (FahrspurMarkierungen, StraßenKanten und Fahrwege), einen Mast, ein Verkehrszeichen, die Anzahl der Fahrspuren im Abschnitt, eine Beziehung zwischen Splines und Fahrspuren (welcher Spline zu welcher Fahrspur gehört), ein Fahrwegprofil, eine Durchschnittsgeschwindigkeit/zulässige Geschwindigkeit in Punkten auf dem DP-Spline, ein Fahrspurmarkierungsänderungspunkt (Typänderung), eine Fahrspurmarkierungsfarbe (zu Paaren gruppierte Informationen über die geänderte Fahrspurmarkierung), Straßenkantentypänderungspunkte, eine Fahrspurtopologie, eine Fahrspurbegrenzung oder dergleichen oder eine Kombination aus diesen.
  • Protokollbeschreibung
  • Wie vorliegend an anderer Stelle beschrieben, kann eine Kommunikationsprotokollnachricht (z.B. eine EH-Nachricht) zwei Teile enthalten: einen Kopf und einen Nutzdatenteil. Es können zwei Arten von Nachrichten verwendet werden: Nutzdatennachrichten und Steuernachrichten. Tabelle 5 zeigt ein Beispiel für eine EH-Nachricht. Tabelle 3: Beispielhafte EH-Nachricht
    Parameter Beschreibung
    Version (uint8) EH-Kopf - beschreibt, welche Objekte in den Nutzdaten der EH-Nachricht enthalten sein dürfen und wie groß diese jeweils sind.
    # Objekte (uint8)
    Größe (uint)
    AbschnittID (int)
    Typ + Länge Array + Größe in Bytes [# der Objekte] (4 Bytes)
    Nutzdaten (EH-Objekt) EH-Nutzdaten - kann RB-Objekte beinhalten, Abschnittsbeschreibungsobj ekt.
    Nutzdaten (EH-Objekt)
    Nutzdaten (EH-Objekt)
  • In einigen Ausführungsformen können die Nutzdaten in der gleichen Reihenfolge angeordnet sein, wie sie im Kopf erscheinen (z. B. Typ + Längenfelder). Das Protokoll zwischen dem Ersteller und dem Neuersteller kann zwei Arten von Nachrichten enthalten: EH-Nutzdatensteuerung und EH-Nutzdaten. Die Nutzdatensteuernachricht kann zwei Arten von Objekten enthalten, die getrennt übertragen werden: Segmente in EH und Referenzänderungspunkt. Nutzdatennachrichten können Slots sein, in denen alle anderen Arten von Ereignissen gespeichert werden, wie in den folgenden Beschreibungen der verschiedenen EH-Nachrichtenteile und Beispiele beschrieben. Abschnitte können die Beschreibung „neuer Abschnitt“ enthalten (siehe Tabelle 7 unten), es sei denn, sie enthalten Daten von zuvor gemeldeten neuen Abschnitten. In einigen Ausführungsformen kann nur das erste EH-Paket eines Abschnitts im Objekt „Abschnittsbeschreibung“ enthalten sein.
  • Der EH-Kopf kann den Inhalt der Nutzdaten der EH-Nachricht beschreiben. Er kann als Wörterbuch zum Parsen der Nutzdaten der Nachricht und zum Neuerstellen der EH-Daten verwendet werden. Wie vorliegend an anderer Stelle beschrieben, kann eine EH-Nachricht Daten eines Kantenabschnitts oder eines Teils davon enthalten. Die Aufnahme eines partiellen Kantenabschnitts in eine EH-Nachricht kann aufgrund von Vorgaben/Beschränkungen der für die Übertragung der EH-Daten verwendeten Transportschicht (z.B. CAN, Serial Peripheral Interface (SPI), ETHERNET usw.) erfolgen. Tabelle 6 veranschaulicht einen beispielhaften EH-Kopf. Tabelle 4: Beispielhafter EH-Kopf
    Version Beschreibung
    # Objekte (uint8) Anzahl der EH-Objekte, die die EH-Nachricht enthalten kann
    Größe (uint) Größe der Nutzdaten im aktuellen Slot.
    AbschnittID (int) ID des in dieser EH-Nachricht enthaltenen Kantenabschnitts.
    Typ + Länge Array + Größe in Bytes [# der Objekte] (4 Bytes) Liste der Objektdeskriptoren (z.B. jeweils 4 Bytes). Die Objektdeskriptoren können Typ, Länge und Gesamtbytes für jedes der Objekte in der Nachricht angeben. Die Länge dieser Liste kann der Wert des „# Objekte“-Felds sein. Bei Objekten fester Größe kann das Längen-Array die Anzahl der Objekte im Slot darstellen.
  • In einigen Ausführungsformen können EH-ete die Elemente sein, die in den Nutzdaten der EH-Nachricht enthalten sind. Diese Objekte helfen dem Ersteller und dem Neuersteller, die in der EH an einem beliebigen Punkt enthaltenen Kantenabschnitte zu beschreiben. Bei einem Objekt kann es sich um RB-Elemente handeln.
  • Der Ersteller kann das AbschnitteInEH-Objekt jedes Mal senden, wenn sich die Liste der im EH-Radius enthaltenen Kantenabschnitte ändert und ein neuer Abschnitt hinzugefügt oder ein alter Abschnitt entfernt wird. Das AbschnitteInEH-Objekt kann einen Vektor von AbschnittID (jeweils uint32) enthalten, der die Kantenabschnitt-IDs auflistet, die im EH-Radius abgedeckt werden können. Dieses kann in einem separaten Slot gesendet werden (den der Neuersteller für Datenaktualisierung und nicht für Datenspeicherung verwenden kann). Der Neuersteller kann jede empfangene AbschnittID löschen, die nicht in der Liste enthalten sein kann.
  • Ein Abschnittsdeskriptor kann einen Kantenabschnitt beschreiben. Diese Beschreibung kann vom Ersteller in jeder ersten EH-Nachricht eines Kantenabschnitts gesendet werden. In Tabelle 7 sind beispielhafte neue Abschnittsdeskriptoren dargestellt. Tabelle 7: Neuer Abschnittsdeskriptor
    Datentyp Beschreibung
    KantenID (uint32) ID der ursprünglichen Kante
    AbschnittID (uint32) ID, die vom Ersteller für diesen Abschnitt vergeben wird
    Tstart (Gleitkomma) Startpunkt des Abschnitts in der Kante (in Metern)
    Tend (Gleitkomma) Endpunkt des Abschnitts in der Kante (in Metern)
    #Fahrspuren (uint8) Anzahl der Fahrspuren in diesem Abschnitt
    Reserviert (uint8) Für Ausrichtung
    Reserviert (uint8) Für Ausrichtung
    Reserviert (uint8) Für Ausrichtung
  • Ein Spline-Container kann Daten eines einzelnen Spline enthalten (z.B. eine Straßenkante, eine Fahrspurmarkierung, einen Fahrweg usw.). Tabelle 8 veranschaulicht ein beispielhaftes Spline-Objekt. Tabelle 5: Spline-Objekt
    Datentyp Beschreibung
    SplineID (int) Ursprüngliche RB-ID dieses Spline
    U in Meter (Gleitkomma) Im Länge in u
    [SteuerPunkte] X (Gleitkomma) Steuerpunkt-Array
    Y (Gleitkomma)
    Z (Gleitkomma)
    Knoten [Länge = Anz. rolPunkte + 4] v (Gleitkomma) Knoten-Array
  • Das Objekt „Fahrweg- (DP-) Profil“ kann ein Array von Werten entlang des DP-Spline sein. Die Daten innerhalb eines Profils können die Durchschnittsgeschwindigkeit an diesem Punkt (Längsposition) auf dem DP sein. Jeder „v“-Punkt im Array kann einen Längspunkt auf dem Spline beschreiben. Tabelle 9 veranschaulicht ein beispielhaftes Fahrwegprofil-Objekt. Tabelle 6: Fahrwegprofil (FahrwegProfil)
    Datentyp Beschreibung
    SplineID (int) Ursprüngliche RB-ID des zugehörigen DP-Spline
    [v_Spline_Koordinate] (Gleitkomma-Array) Array von Punkten auf dem Spline in „v“-Einheiten
    [Durchschn80Geschw] (Gleitkomma-Array) Das 80. Perzentil der Durchschnittsgeschwindigkeit an diesem Punkt
  • Das Fahrspurmarkierungsänderungspunkt-Objekt kann ein Array von „v“-Punkten auf dem Spline enthalten, an denen eine Änderung der Fahrspurmarkierung dargestellt werden kann. Für jeden Wert im „v_Spline_Koordinate“-Array kann ein Tupel aus (Typ, Farbe) im „Änderung_Ereignisse“-Array enthalten. Tabelle 10 veranschaulicht ein Beispiel für ein Fahrspurmarkierungsänderungspunkt-Objekt. Tabelle 7: Fahrspurmarkierungsänderungspunkt-Objekt (FahrspurMarkierungsÄnderungsPunkt)
    Datentyp Beschreibung
    SplineID (int) Ursprüngliche RB-ID des zugehörigen Fahrspurmarkierungs-Spline
    [v_ Spline Koordinate] (Gleitkomma-Array) Array von Positionen auf dem Spline in „v“-Einheiten (dieselben Einheiten wie Spline-Knoten)
    [Änderung_Ereignisse] (Array von Enums * 2) Array aus Fahrspurmarkierungsereignissen, z.B. Änderung von gestrichelt zu durchgezogen
  • Beispielhafte Ereignistypen sind nachstehend in Tabelle 11 aufgeführt. Tabelle 8: Ereignis-Typen
    Art des Ereignisses Enumeratoren
    Fahrspurmarkierungstyp FAHRSPURMARKIERUNG _UNBEKANNT=0
    FAHRSPURMARKIERUNG GESTRICHELT
    FAHRSPURMARKIERUNG DURCHGEZOGEN
    FAHRSPURMARKIERUNG DOPPELT DURCHGEZOGEN
    FAHRSPURMARKIERUNG DOPPELT GESTRICHELT
    FAHRSPURMARKIERUNG GESTRICHELT DURCHGEZOGEN
    FAHRSPURMARKIERUNG DURCHGEZOGEN GESTRICHELT
    FAHRSPURMARKIERUNG VERLANGSAMUNG
    FAHRSPURMARKIERUNG NICHT _ SEMANTISCH
    FAHRSPURMARKIERUNG VIRTUELL
    FAHRSPURMARKIERUNG GENERISCH DOPPELT
    Farbe _UNBEKANNT=0
    WEISS
    GELB
    BLAU
  • Das Straßenkantenänderungspunkt-Objekt kann ein Array von „v“-Punkten auf dem Spline enthalten, an denen eine Änderung des RE-Typs stattfindet. Ein beispielhaftes Straßenkantenänderungspunkt-Objekt ist nachstehend in Tabelle 12 dargestellt. Tabelle 9: Straßenkantenänderungspunkt-Objekte (StraßenkantenÄnderungsPunkt)
    Datentyp Beschreibung
    SplineID (int) Ursprüngliche RB-ID des zugehörigen Fahrspurmarkierungs-Spline
    [v_Spline_Koordinate] (Gleitkomma-Array) Array von Positionen auf dem Spline in „v“-Einheiten (dieselben Einheiten wie Spline-Knoten)
    [Änderung_Ereignisse] (Array von Enums) Array von Straßenkantenereignissen, z.B. Änderung von Leitplanken zu Beton usw.
  • Beispielhafte unterstützte Typen sind nachstehend in Tabelle 13 aufgeführt. Tabelle 10: Straßenkantenänderungspunkt-Objekte- Unterstützte Typen
    Art des Ereignisses Enumeratoren
    Typ der STRASSENKANTE _UNBEKANNT=0
    Straßenkante STRASSENKANTE _LEITPLANKE,
    STRASSENKANTE _BETON,
    STRASSENKANTE _BORDSTEIN,
    STRASSENKANTE _KEINE _ STRUKTUR,
    STRASSENKANTE PARKENDES _AUTO,
    STRASSENKANTE _PARKEINFAHRT
  • Das Zeichenbezugspunkt-Objekt kann Verkehrszeichen und Ampeln beschreiben. Eine EH-Nachricht kann ein Array solcher Objekte enthalten. Der Systemtyp und das Verkehrszeichen können sich auf den Typ des Schildes beziehen, wie er in der ENUMs-Liste der TSR- (traffic sign recognition, Verkehrszeichenerkennung) Erfassungstechnologie abgebildet ist. Tabelle 14 veranschaulicht ein beispielhaftes Zeichenbezugspunkt-Objekt. Tabelle 11: Zeichenbezugspunkt-Objekt [ZeichenBezugspunkt]
    Datentyp Beschreibung
    ObjektID (int) Ursprüngliche RB-ID des Zeichens
    SystemTyp (uint8) Art des Verkehrszeichens
    Reserviert (uint8)
    VerkehrsZeichenTyp (uint16) Subtyp des Verkehrszeichens
    Standort X (Gleitkomma) Ortungspunkt in Karten-NED-Koordinaten
    Y (Gleitkomma)
    Z (Gleitkomma)
    Größe W (Gleitkomma) Breite in Metern
    H (Gleitkomma) Breite in Metern
  • Das Mastenbezugspunkt-Objekt kann einen oder mehrere Masten darstellen. Eine EH-Nachricht kann ein Array solcher Objekte enthalten. Tabelle 15 veranschaulicht ein beispielhaftes Mastenbezugspunkt-Obj ekt. Tabelle 12: Mastenbezugspunkt-Objekt [MastenBezugspunkt]
    Datentyp Beschreibung
    ObjektID (int) Ursprüngliche RB-ID des Masts
    SystemTyp (uint8)
    Reserviert (uint8) Auffüllungsbyte (Ausrichtung)
    VerkehrsZeichenTyp (uint16)
    Standort 1 X (Gleitkomma) Standort des Mastfußes
    Y (Gleitkomma)
    Z (Gleitkomma)
    Standort2 X (Gleitkomma) Standort der Mastoberkante
    Y (Gleitkomma)
    Z (Gleitkomma)
  • Die Fahrspurtopologie kann die Beziehungen zwischen Fahrspuren (DPs) beschreiben. Jede Spur kann Nachfolger, Vorgänger und Nachbarn aufweisen. Fahrspuren und DP können im Autoatlas gleichwertig sein. In einigen Ausführungsformen kann jede Fahrspur einen DP aufweisen und jeder DP kann zu einer Fahrspur gehören. In einigen Ausführungsformen kann eine Fahrspur bei einer Fahrspuraufteilung mehr als einen Nachfolger haben, und wenn Fahrspuren zusammengeführt werden, kann eine Fahrspur mehr als einen Vorgänger haben. In einigen Ausführungsformen kann die Array-Größe für Nachfolger/Vorgänger-IDs aktuell 3 betragen.
  • Tabelle 13 veranschaulicht ein DpNachfolger-Objekt. Tabelle 17 veranschaulicht ein DpVorgänger-Objekt. Tabelle 13: DpNachfolger-Objekt
    Datentyp Beschreibung
    DpId (int) Diese DP-ID
    Nachfolger_Id [int] Andere DP-ID
    Tabelle 14: DpVorgänger-Objekt
    Datentyp Beschreibung
    DpId (int) Diese DP-ID
    Vorganger_ Id [int] Andere DP-ID
  • Fahrspurnachbarn können die Fahrspuren rechts und links von einer Fahrspur sein. Ein Fahrbahnnachbar kann von u=x bis u=y („u“ dieses DP) definiert sein. Eine Fahrspur kann mehr als einen Nachbarn an einer ihrer Seiten haben (in verschiedenen „u“-Intervallen). Tabelle 18 veranschaulicht ein beispielhaftes DpNachbar-Objekt. Tabelle 15: DpNachbar-Objekt
    Datentyp Beschreibung
    DpId (int) Diese DP-ID
    andereDPid (int) Die DP-Nachbar-ID
    Von (Gleitkomma32) U-Wert auf DP
    Bis (Gleitkomma32) U-Wert auf DP
    Richtung (int8) DP-Position bezogen auf Ego (links/rechts)
    Entgegenkommend (bool) Ist gleich 1, wenn der DP in die entgegengesetzte Fahrtrichtung verläuft.
  • „Richtung” kann einen Satz von drei Enum-Werten verwenden, um einen DP in Bezug auf den Ego-DP zu positionieren: die Werte „von“ und „bis“ beschreiben den kongruenten Teil des Splines, in dem das Fahrspurnachbar-Objekt relevant sein kann; ungültig = -1, rechts = 0, links = 1; der Wert „U“ kann als Deskriptor für die Längsposition auf dem Spline verwendet werden, wenn U=0 am Anfang des DP-Splines liegen kann.
  • Das DpGrenzen-Objekt kann die Kongruenz eines Fahrspurmarkierungs-Spline oder eines Straßenkanten-Spline mit dem DP beschreiben. Dieses Objekt kann das Intervall des DP und des Grenz-Spline (Straßenkante oder Fahrspurmarkierung) definieren, wo die beiden Splines tangential sein können. Tabelle 19 veranschaulicht ein beispielhaftes DpGrenzen-Objekt. Tabelle 16: Fahrspurgrenzen-Objekt [DpGrenzen]
    Datentyp Beschreibung
    dPId (int) Diese DP-ID
    GrenzId Grenz-Spline-ID
    dpStartU (Gleitkomma) U auf DP bei Beginn der Grenzbeziehung
    dpEndU (Gleitkomma) U auf DP, wenn Grenzbeziehung endet
    GrenzSbeiU (Gleitkomma) U auf Grenz-Spline bei Beginn der Grenzbeziehung
    GrenzEndeU (Gleitkomma) U auf Grenz-Spline, wenn Grenzbeziehung endet
    Richtung (int8) Rechts=0, Links=1
    GrenzSplineTyp(uint8) Fahrspurmarkierung=0, Straßenkante=1
  • In einigen Ausführungsformen können alle „U“-Werte Splinepunkten entsprechen, wo Grenzen gemeinsam genutzt werden können. 36 ist eine schematische Darstellung beispielhafter Fahrspurgrenzen gemäß offenbarten Ausführungsformen.
  • In einigen Ausführungsformen kann ein Objekt vom Typ Fahrspurkreuzungspunkt einen Teilungs-/Zusammenführungspunkt durch seine X-Y-Z-Koordinaten im RB-Koordinatensystem definieren. „Dps out“ und „Dps in“ können immer in Bezug auf eine maximale Größe von zwei Elementen ausgedrückt werden, wobei ein „-1“-Wert im dpId-Feld das Ende des Arrays signalisiert (wenn es weniger als drei Elemente geben kann). Tabelle 20 veranschaulicht ein beispielhaftes FahrspurKreuzungsPunkt-Obj ekt. Tabelle 17: FahrspurKreuzungsPunkt-Objekt Beschreibung
    Objekt Beschreibung
    dpsIn [2] DP id(int) Arrays haben immer eine maximale Länge von 2
    U (Gleitkomma)
    dpsOut [2] DP id(int) Arrays haben immer eine maximale Länge von 2
    U (Gleitkomma)
    X (Gleitkomma)
    Y (Gleitkomma)
    Z (Gleitkomma)
    AnzDpsIn (uint8) Tatsächliche Anz Dps in
    AnzDpsOut (uint8) Tatsächliche Anz Dps in
  • Tabelle 21 zeigt ein beispielhaftes Referenzpunktänderungsereignis-Objekt. Tabelle 18: Referenzpunktänderungsereignis-Objekt (ReferenzpunktÄnderungsEreignis)
    Datentyp Beschreibung
    PLT _Zeit (uint32)
    T tX (doppelt)
    tY (doppelt)
    tZ (doppelt)
    R Roll (doppelt)
    Nick (doppelt)
    Gier (doppelt)
    GPS-Referenz Länge (doppelt)
    Breite (doppelt)
    Höhe (doppelt)
  • Kartenkoordinatensystem-Ursprungspunktänderungsereignis
  • Um Präzisionsfehler zu vermeiden, die über Entfernungen zu einer akkumulierten Verzerrung führen, können der eine oder die mehreren EH-Prozessoren den Ursprungspunkt des Kartenkoordinatensystems dynamisch ändern. Dies kann der Fall sein, wenn der Abstand des Fahrzeugs vom Ursprungspunkt einen vorbestimmten Schwellenwert überschreitet. Alle Kartenobjekte können zu diesem Zeitpunkt in das neue Koordinatensystem transformiert werden. Wenn dieses Ereignis eintritt, können der eine oder die mehreren EH-Prozessoren das Referenzpunktänderungsereignis-Objekt senden, um zu signalisieren, dass Kartenkoordinaten geändert wurden. Vorherige EH-Segmente können auf der Seite des Neuerstellers geflasht und vom Ersteller im neuen Koordinatensystem übertragen werden. Wenn die Änderung eintritt, wechselt die Lokalisierungsausgabe in den Zustand „nicht lokalisiert“. 37 veranschaulicht einen beispielhaften Prozess zum Ändern des EH-Koordinatensystems gemäß offenbarten Ausführungsformen.
  • Die nachfolgende Tabelle 19 beschreibt die Typwerte und die Bedeutung des Längenwerts für jedes der EH-Objekte beschrieben, die in den offenbarten Systemen und Verfahren verwendet werden können. Die Objekte, die eine Länge eines Steuerpunktvektors haben, können die Form eines Splines (z.B. die Anzahl der Steuerpunkte) in der Objektdefinition in einem Kopf definieren. Tabelle 19: Objektdeskriptoren
    Typ (Enum/uint8) Bedeutung Länge (uint8)
    NEUER ABSCHNITT BESCHREIBUNG= 2 Immer max. 1
    ABSCHNITT _IN _EH Länge des AbschnittID-Vektors
    SPLINE _FAHRSPURMARKIERUNG Länge des Vektors SteuerPunkte
    SPLINE _ STRASSEN RAND Länge des Vektors SteuerPunkte
    SPLINE FAHRWEG Länge des Vektors Steuerpunkte
    FAHRSPUR ÄNDERUNGS _ PUNKT Länge des v_ Spline _ Koordinate-Vektors
    FAHRWEG PROFIL Länge des v_ Spline Koordinate-Vektors
    ZEICHEN _FAHRSPURMARKIERUNG Anzahl ZeichenBezugspunkte
    MASTEN _FAHRSPURMARKIERUNG Anzahl MastenBezugspunkte
    REFERENZPUNKT ÄNDERUNGS EREIGNIS Immer max. 1
    STRASSENKANTEN ÄNDERUNGS PUNKT Länge des v_ Spline _ Koordinate-Vektors
    DPNACHFOLGER Anz Nachfolger
    DPVORGÄNGER Anz Vorgänger
    DPNACHBARN Anz Nachbarn
    DPGRENZEN Anz Grenzen
    FAHRSPURKREUZUNGSPUNKTE Anzahl der Kreuzungspunkte der Fahrspuren
  • Zur Veranschaulichung sind in Tabelle 23, Tabelle 24 und Tabelle 25 drei beispielhafte EH-Meldungen aufgeführt, die nicht als einschränkende Beispiele zu verstehen sind. Tabelle 20: Beispielnachricht mit Abschnittsdeskriptor (erste Nachricht im Kantenabschnitt)
    Version =1.0
    # Objekte = 5
    Größe = 640B
    AbschnittID == AbschnittID des neuen Abschnitts (enthalten im AbschnitteInEH-Vektor, der Teil dieser Nachricht ist)
    Beschreibung neuer Abschnitte 1
    FahrwegSpline 32
    FahrwegProfil 25
    ZeichenBezugspunkt 3
    Beschreibung neuer Abschnitte
    FahrwegSpline[32 Steuerpunkte und 36 Knoten]
    FahrwegProfil[25 v_ Spline Koordinate und 25 Durchschn80Geschw]
    ZeichenBezugspunkt
    ZeichenBezugspunkt
    ZeichenBezugspunkt
    Tabelle 21: Beispielnachricht ohne Abschnittsdeskriptor (nicht die erste Nachricht im Kantenabschnitt)
    Version =1.0
    # Objekte = 4
    Größe = 320B
    AbschnittID == eine bereits in der AbschnitteInEH-Liste enthaltene AbschnittID
    AbschnitteInEH 3
    FahrwegSpline 32
    FahrwegProfil 25
    Version =1.0
    ZeichenBezugspunkt 3
    AbschnitteInEH [3 AbschnittIds]
    FahrwegSpline[32 Steuerpunkte und 36 Knoten]
    FahrwegProfil[25 v_ Spline _Koordinate und 25 Durchschn80Geschw]
    ZeichenBezugspunkt
    ZeichenBezugspunkt
    Tabelle 22: Beispielhafte Steuernachricht - Abschnitte in der EH-Aktualisierung
    Version =1.0
    # Objekte = 3
    Größe = 96B
    AbschnittID == eine bereits in der AbschnitteInEH-Liste enthaltene AbschnittID
    AbschnittelnEH 3
    AbschnitteInEH [3 AbschnittIds]
  • Kartenlokalisierung für Steuerung
  • Die offenbarten Systeme und Verfahren können eine „Localization for Control“-(Lokalisierung für Steuerung) Engine verwenden, um mithilfe von Kartenelementen Abtastdaten zur Straßengeometrie und Fahrbahnsemantik in einem Nahbereich eines Fahrzeugs zu erfassen. Diese Lokalisierungsinformationen können verwendet werden, um die Steueranwendung durch ein Verständnis der vorausliegenden Straße zu verbessern. Diese Offenbarung beschreibt beispielhafte Logik und einen beispielhaften Prozess für „Localization for control“ (hier auch als „L4C“ bezeichnet), durch den Bausteine aus der Karte extrapoliert und über die vorliegend beschriebenen relevanten Protokolle übertragen werden können. Die L4C-Lokalisierungssteuerschnittstelle kann Kartenelemente übertragen, die relativ nahe am Fahrzeugstandort im Fahrzeugkoordinatensystem liegen (z.B. mit dem Mittelpunkt des Fahrzeugs oder dem Mittelpunkt des bordeigenen Lidarsystems als Ursprung). In einigen Ausführungsformen kann das L4C-Protokoll Geometriedaten für Straßenabschnitte übermitteln, die in verschiedene Typen eingeteilt sind, z.B. 3D-Abtastpunkte über Splines, Fahrspurzuweisungsdaten, Aufteilungs-/Zuführungs-Punkte, Haltepunkte oder dergleichen oder eine Kombination aus diesen. Diese Technologien können ein komplementäres Paket für verschiedene Fahrzeugsteueranwendungen bilden, die auf Kartendaten und Fahrprofilen basieren.
  • In einigen Ausführungsformen kann L4C eine Abstraktion der Straßengeometrie erstellen, um die Struktur der Fahrspuren auf der vorausliegenden Route aufzuzeigen. L4C kann standardmäßig aktiviert sein, kann aber von der Lokalisierung des Fahrzeugs im Autoatlas zur Berechnung und Ausgabe von Daten abhängen. Die L4C-Protokolle, die mit einer Rahmenrate von [36 Hz] laufen, können eine grundlegende Logik für Kundenfunktionen wie Spurhaltung, Spurwechsel und andere ACC-Funktionen bieten. In einigen Fällen kann es jedoch empfehlenswert sein, das EH-Ausgabeprotokoll für komplizierte Implementierungen zu verwenden, da der Karteninhalt des Protokolls begrenzt sein kann.
  • In einigen Ausführungsformen kann das algorithmische Element als zwei oder mehr Schnittstellen mit einem Zusatzprotokoll ausgegeben werden, das dafür konzipiert ist, die Bandbreitenbeanspruchung zu verringern. So können beispielsweise Straßenkanten, Fahrspurmarkierungen und Spuren von Fahrwegen als Teilsatz von dreidimensionalen Punkten (aus den Splines der Karte) gesendet werden, die in zwei Protokolle aufgeteilt werden können, um eine höhere Flexibilität auf der SPI-Ebene zu ermöglichen. In einigen Ausführungsformen kann mithilfe vordefinierter konfigurierbarer Parameter die Anzahl der abgedeckten Fahrspuren variiert werden, indem mindestens eines der Folgenden geändert wird: der Abstand, den das Punktegitter abdecken sollte, die Anzahl der auszugebenden Fahrspuren, Aktivierung/Deaktivierung von Fahrspurmarkierungen und/oder Straßenkantendaten, die Anzahl der Punkte auf jedem Spline, den Abstand zwischen den Punkten, die Aktivierung des geschwindigkeitsabhängigen Abstands zwischen den Punkten oder die Filterung der Punkte in Abhängigkeit vom Winkel zwischen aufeinanderfolgenden Punkten. Für eine enge Fahrspurzuweisung kann das Protokoll eine Beschreibung des Fahrspurplans (einen Baum) in einer vorbestimmten Anzahl von (z.B. 50) Metern vor dem Fahrzeug liefern.
  • Abgetasteter Spline-Punkte
  • Kartenpunkte können 3D-Abtastpunkte der DP-, LM- und RE-Splines im Fahrzeugkoordinatensystem enthalten. Die Punkteausgabe kann auf einem vordefinierten Satz von Eigenschaften beruhen, die in der Entwicklungsphase konfigurierbar sein können. Jedes Projekt kann die Anzahl der abzufragenden und auszugebenden Splines (Fahrspuren) bestimmen. Anhand dieser Informationen kann beispielsweise eine geeignete Konfiguration gespeichert werden für:
    • maxAnzDPs = 5 [0,5]
    • maxAnzLMs = 6 [0,6]
    • maxAnzREs = 4 [0,4]
  • Jeder Spline mit seinen Nachfolger-Splines kann durch maximal 30 Punkte beschrieben werden. Tabelle 26 veranschaulicht ein beispielhaftes Steuerpunkt-Objekt. Tabelle 26: Beschreibung Steuerpunkt-Objekt
    Steuerpunkt [] X (uint16)
    Y (uint16)
    Z (uint16)
    Attribute_1 (uint8)
    Attribute_2 (uint8)
  • In einigen Ausführungsformen kann die Logik zum Verwerfen überschüssiger Punkte bei Erreichen der (durch die Punktekonfiguration festgelegten) Höchstzahl von Punkten den höchsten Index und den Subindex zuerst verwerfen (keine Priorität für linke/rechte Indizes), während die Priorität für das Verwerfen von Spline-Typen wie folgt sein kann: 1. RE; 2. LM; und 3. DP.
  • In Attributfeldem können semantische Daten gespeichert werden, die je nach Art des Splines, den die Punkte darstellen, unterschiedlich sind. Tabelle 27 veranschaulicht ein beispielhaftes DpGrenzen-Obj ekt. Tabelle 27: Beispielhafte Attributfelder
    Punkttyp Fahrweg Fahrspurmarkierung Straßenkante
    Datensatz
    Attribute_1 [8Bit] MSB LSB [1Bit][1Bit][1Bit][5Bit] [Geänd.] [Start] [Ende] [Typ] MSB LSB [1Bit][1Bit ][1Bit][5Bit] [Cha.] [Start] [Ende] [Typ]
    Gemeinsame Geschwindigkeit [km/h]
    Attribut_2 [8Bit] [4Bit] [4Bit] Keine
    Keine [Farbe] [Breite] Keine
  • Die Beschreibung der Attribute lautet wie folgt:
    • „Geänd.“ - geändert, kann anzeigen, ob der dargestellte 3D-Punkt eine Änderung eines der folgenden Parameter angezeigt hat: „Start“ - kann ein Punkt sein, der den Beginn des Spline darstellt; „Ende“ - kann ein Punkt sein, der das Ende des Spline darstellt; „Typ“ - Typ der LM/RE; „Farbe“ - Farbe der Fahrspurmarkierung; und Breite - Breite der Fahrspurmarkierungen in 10cm-Schritten.
    • „Gemeinsame Geschwindigkeit“ - Für Punkte des Typs „Fahrweg“ kann der Wert von Attribut_1 die gemessene Mengengeschwindigkeit in km/h speichern.
    • Die Punkte können entsprechend der an anderer Stelle beschriebenen Konfiguration an das Protokoll ausgegeben werden. Die Reihenfolge der Puffemutzung kann Ego, Nachbarn und Nachbarn von Nachbarn sein, was verschiedene Typen wie Fahrwege, Fahrspurmarkierungen, Straßenkanten usw. umfassen können. Jeder Satz von Punkten kann mit zusätzlichen Informationen ausgegeben werden, die die Spline-ID, den Typ, die Indizes, den Subindex, die Fahrtrichtung, die Angabe der linken/rechten Fahrspur oder dergleichen oder eine Kombination aus diesen umfassen. Wenn Ego gleich 0 ist, können die linken Spuren -1 und -2 sein, und die rechten Spuren können 1, 2, 3 usw. sein.
  • Spline-Indizierung
  • Der Straßenatlas kann alle Arten von Szenarien abdecken (einschließlich Kreuzungen), bei denen sich ein Spline in mehrere Splines aufteilen kann, die in unterschiedliche Richtungen führen. Informationen über aufeinanderfolgende Splines und ihre IDs können in den Subindizes angegeben werden, die Teil jeder Spline-Beschreibung sein können.
  • 38 ist eine schematische Darstellung von beispielhaften Indizes und Subindizes von Splines in Verbindung mit Straßenabschnitten gemäß offenbarten Ausführungsformen. Wie in 38 dargestellt, kann das Fahrzeug in der Mitte der Hauptstraße fahren und sich in einem aktuellen Rahmen befinden. Es kann Informationen über die Fahrspuren empfangen, die die Straße nach rechts bilden (DP, LM, RE), und auch über Aufteilungen, die weiter voraus liegen können. Die Begrenzung kann der Abstand und/oder die maximale Anzahl der Punkte sein, die übertragen werden könnten (je nachdem, was zuerst erreicht wird).
  • In einigen Ausführungsformen kann jeder Spline einen Index und/oder einen Subindex und/oder eine Links/Rechts-Angabe enthalten, die Informationen über die Position der Fahrspur in Bezug auf die Fahrzeugposition liefern können (wie in 38 dargestellt). Alle Splines, die zu einer Fahrspur gehören, können den Index der Fahrspur erhalten. Bezugspunkte, die mit zwei Fahrspuren in Verbindung stehen könnten, können den Index einer dieser Fahrspuren erhalten. In einigen Ausführungsformen kann der RE, wenn er nicht an eine indizierte Fahrspur angrenzt, mit dem konfigurierten maximalen Index zugewiesen werden. Angenommen, es gibt 4 Fahrspuren links von der Ego-Spur (d.h. der Fahrspur, auf der das Host-Fahrzeug fährt) und es können nur 3 dps konfiguriert werden (0, 1, -1), dann wird dem linken RE der Index -1L zugewiesen.
  • In einigen Ausführungsformen können bei einer Spuraufteilung der Index der geteilten Fahrspuren und ihre relativen Splines gleich bleiben wie die ursprünglichen Fahrspuren, von denen sie abzweigten, aber ein anderer Subindex zeigt die Abzweigung an. Wie in 38 dargestellt, gabelt sich beispielsweise die Fahrspur 1 in zwei Fahrspuren. Beide Fahrspuren erhalten den Index 1, aber die rechte Spur erhält den Subindex 2 und die linke Spur den Subindex 1. In 38 können die Ziffern, die den Subindexwert angeben, die Ziffern nach dem Dezimalpunkt sein, aber im tatsächlichen Protokoll können der Index und der Subindex zwei getrennte Felder sein. Der „Index“ und der Subindex können eine Fahrspurindizierung beschreiben, so dass alle Splines derselben Fahrspur denselben Index und Subindex erhalten können. Wenn sich eine Fahrspur mit dem Subindex 2 ebenfalls in zwei Fahrspuren teilt, bleibt ihr Index 1, aber eine von ihnen kann den Subindex 21 und die andere den Subindex 22 erhalten.
  • In einigen Ausführungsformen kann für Straßenkanten- und Fahrspurmarkierungs-Splines eine Links/Rechts-Anzeige verwendet werden, die angibt, ob der Spline die Fahrspur auf der rechten oder linken Seite begrenzt. 39 ist eine schematische Darstellung einer beispielhaften DP-Projektion mit 10 Punkten pro Spline in festgelegten Abständen einer vorbestimmten Anzahl von Metern gemäß offenbarten Ausführungsformen.
  • In einigen Ausführungsformen wird, wenn der dynamische Abstand zwischen Punkten aktiviert ist, der Abstand zwischen den Punkten wie folgt bestimmt:
    1. 1) Bei Geschwindigkeit=0 ist der Abstand = AbstandZwischenPunkten; oder
    2. 2) Bei Geschwindigkeiten>0 folgt der Abstand der nachstehenden Gleichung (1):

    A b s t a n d = M i n i m u n ( A b s t + m a x A b s t A b s t 30 e g o g e s c h w , m a x A b s t ) ,
    Figure DE112021002001T5_0001
    wobei abst=AbstandZwischenPunkten, maxAbst=maxAbstandZwischenPunkten. Sekundäre Fahrspuren können sich ähnlich verhalten, d.h. dist = AbstandZwischenPunktenSekundärerFahrspuren. 40 ist eine schematische Darstellung, die eine beispielhafte Beziehung zwischen dem dynamischen Abstand zwischen Punkten und der Ego-Geschwindigkeit zeigt, gemäß offenbarten Ausführungsformen.
  • Fahrspurzuweisung
  • Die Fahrspurzuweisungsnachricht kann die Topologie zwischen Fahrspuren als Baumstruktur beschreiben, wobei die Wurzel des Baums der Standort des Fahrzeugs auf der Ego-Spur sein kann. Die Nachricht kann eine Liste von Fahrspuren enthalten, wobei jede Fahrspur eine Unterliste von rechten Nachbarspuren, linken Nachbarspuren und eine Unterliste von Nachfolgespuren enthalten kann. In einigen Ausführungsformen kann die Fahrspurzuweisungsnachricht auch eine boolesche Angabe darüber enthalten, ob diese Fahrspur in Fahrtrichtung oder eine Gegenfahrspur ist. In einigen Ausführungsformen können die Daten im Protokoll selbst in keiner Form sortiert sein, außer den eigentlichen Objekten. Dennoch kann jede Fahrspur genügend Informationen enthalten, um sie auf der dargestellten Kartenoberfläche korrekt zu positionieren.
  • Tabelle 28 veranschaulicht ein beispielhaftes Fahrspur-Objekt. Tabelle 28: Beschreibung Fahrspur-Objekt
    Namen Beschreibung
    Datentypen egoDpId(int) DP-ID der Ego-Spur
    uInEgoId(Gleitkomma) „U“-Wert auf dem DP-Spline der Fahrzeugposition der Ego-Spur
    SeitlAbstVonDp(Float) Seitlicher Abstand vom DP auf der Ego-Spur (rechts negativ, links positiv)
    Fahrspuren dPId (int) DP-ID dieser Spur
    AbstandZuFahrzeug(Gleitkomma) Fahrstrecke des Beginns dieses Fahrstreifens bis zum Fahrzeug
    Länge(Gleitkomma) Länge der Fahrspur in Metern
    linkeNachbamIds [int] Konst max Größe von 3. Ein Wert von „-1” zeigt an, dass es in diesem Index keinen Spline gibt.
    rechteNachbarnIds [int] Konst max Größe von 3. Ein Wert von „-1” zeigt an, dass es in diesem Index keinen Spline gibt.
    NachfolgerIds [int] Konst max Größe von 3. Ein Wert von „-1” zeigt an, dass es in diesem Index keinen Spline gibt.
    Gegenverkehr(bool) „Wahr“, wenn die Fahrspur entgegengesetzt zur Fahrtrichtung des Fahrzeugs verlaufen kann
    mittlereBreite Fahrspurbreite in Metern
  • Fahrweg-Haltepunkte
  • Haltelinien vor Kreuzungen oder Fußgängerüberwegen können im Straßenatlas kartiert und durch eine Linie vor der Haltelinie gekennzeichnet sein. Der DP-Spline und die Haltelinienmarkierung können sich die 3D-Schnittpunkte im Protokoll teilen. Tabelle 29 veranschaulicht ein beispielhaftes DP-Haltepunkt-Objekt. Tabelle 29: Beschreibung DP-Haltepunkt-Objekt
    DP-Haltepunkt Spline-ID (uint8)
    X (uint16)
    Y (uint16)
    Z (uint16)
  • Schnittpunkte
  • Schnittpunkte können eine gemeinsame Beschreibung für Zusammenführungs- und Aufteilungspunkte sein. Da diese Punkte ähnliche Attribute aufweisen, kann es in einigen Ausführungsformen möglich sein, sie mit demselben Objekt zu beschreiben. Zusammenführungs-/Aufteilungspunkte können semantische Informationsknoten sein, die an den DV-Kreuzungen/Aufteilungen berechnet und dargestellt werden können. Wie andere RB-Daten auch, können diese Informationen aus dem häufigsten Fahrprofil abgeleitet werden. Die Konfiguration des relevanten Abstands, für den ein Projekt diese Projektion benötigt, und die Anzahl darzustellender Punkte kann mit den folgenden Eigenschaften vordefiniert werden: AktivierungHaltepunkte [bool] - Wahr/Falsch; und HaltepunktAbstand [uint] - Der maximale Wert kann 200 Meter betragen. Tabelle 30 veranschaulicht ein beispielhaftes Schnittpunkt-Objekt. 41 ist eine schematische Darstellung beispielhafter Fahrwegzusammenführungspunkte gemäß offenbarten Ausführungsformen. Tabelle 8: Beschreibung Schnittpunkt-Objekt
    Zusammenführungspunkt/Aufteilungspunkt AnzDpsIn (uint8)
    AnzDpsOut (uint8)
    X (uint16)
    Y (uint16)
    Z (uint16)
    DPid_0 (uint8)
    DPid_1 (uint8)
    DPid_2 (uint8)
    DPid_3 (uint8)
  • Elektronischer Horizont: Variabler Kopf und Objekt-Nutzdaten
  • Wie vorliegend an anderer Stelle beschrieben, kann mindestens ein EH-Prozessor eines Host-Fahrzeugs so programmiert sein, dass er Kartendaten (z.B. REM-Kartenkacheln vom Server 2701) und von einem oder mehreren Fahrzeugsensoren (z.B. einem Bewegungssensor, einer Kamera, einer GPS-Einrichtung usw.) gelieferte Ausgaben empfängt. Der EH-Prozessor kann zudem so programmiert sein, dass er das Fahrzeug lokalisiert und auf Grundlage der empfangenen Kartendaten und der von dem/den Sensor(en) gelieferten Ausgaben einen geeigneten elektronischen Horizont für das Fahrzeug bestimmt (darunter z.B. den Ort, an dem das Fahrzeug in einem vorbestimmten Zeitraum fahren kann). In einigen Ausführungsformen kann der elektronische Horizont zudem Karteninformationen für einen bestimmten Standort oder eine bestimmte Region beinhalten. Darüber hinaus kann beim Bestimmen des elektronischen Horizonts die Geometrie des Wegs eines Fahrzeugs berücksichtigt werden, um die Dichte der Punkte zu bestimmen, die einem Fahrzeug bereitgestellt werden müssen (z.B. werden für direkte oder geradlinige Routen weniger Punkte benötigt), und es können dichtere Informationen für eine Ego-Spur, auf der ein Fahrzeug fährt, im Gegensatz zu benachbarten Spuren bereitgestellt werden. Außerdem kann der elektronische Horizont Informationen über die Geschwindigkeit (z.B. Durchschnittsgeschwindigkeit oder zulässige Geschwindigkeit), die Art der Fahrspur usw. enthalten.
  • Ein EH-Prozessor des Fahrzeugs 3501 kann beispielsweise, wie in 35 dargestellt, den Standort des Fahrzeugs 3501 in Bezug auf die Karte auf Grundlage von einem oder mehreren bordeigenen Sensoren gelieferter Ausgaben bestimmen. Der EH-Prozessor kann zudem einen Bereich 3502 (d.h. einen elektronischen Horizont) bestimmen, der die Straßenabschnitte abdeckt, die das Fahrzeug in z.B. 10 Sekunden befahren kann. In einigen Ausführungsformen kann der EH-Prozessor zudem ein Navigationsinformationspaket erzeugen, das Informationen in Verbindung mit dem bestimmten elektronischen Horizont beinhaltet (z.B. der in 35 dargestellte Bereich 3502). Der EH-Prozessor kann ferner das Navigationsinformationspaket an einen Navigationssystemprozessor weiterleiten, der für Zwischenspeichern und Aktualisieren der empfangenen E-Horizont-Informationen zuständig sein kann, wenn neue Navigationspakete vom EH-Prozessor empfangen werden. Der Navigationssystemprozessor kann zudem das Host-Fahrzeug veranlassen, auf Grundlage des empfangenen Navigationsinformationspakets zu navigieren.
  • In einigen Ausführungsformen kann das vom EH-Prozessor erzeugte Navigationsinformationspaket einen Kopfteil und einen Nutzdatenteil beinhalten. Als Beispiel zeigt die vorstehend behandelte Tabelle 5 ein beispielhaftes Navigationsinformationspaket, das in Form einer Nachricht zwischen einem EH-Prozessor und einem Navigationssystemprozessor gemäß dem vorliegend an anderer Stelle beschriebenen EH-Protokoll übermittelt werden kann. Das Navigationsinformationspaket kann einen Kopfteil und einen Nutzdatenteil beinhalten. Wie an anderer Stelle beschrieben, kann der Kopfteil als Wörterbuch zum Parsen des Nutzdatenteils und das Neuerstellen der EH-Daten verwendet werden. Zum Beispiel kann der Kopfteil angeben, welche Informationen im Nutzdatenteil enthalten sind. Die vorstehend behandelte Tabelle 6 veranschaulicht beispielhaft den Kopfteil eines Navigationsinformationspakets. Der Kopfteil kann Informationen wie die Anzahl der im Nutzdatenteil enthaltenen Objekte, die Größe jedes Objekts, die jedem Objekt zugeordnete Abschnitt-ID, die Beschreibung jedes Objekts usw. enthalten.
  • Der Nutzdatenteil kann Informationen zu jedem der Objekte enthalten, die mit den Straßenabschnitten im EH verbunden sind. Wie an anderer Stelle beschrieben, kann das/die im Nutzdatenteil angegebene(n) Objekt(e) ein oder mehrere den Straßenabschnitten zugeordnete Kartenelemente beinhalten, wie beispielsweise ein Spline-Objekt (z.B. eine Fahrspurmarkierung, eine Straßenkante, ein Fahrweg usw.), ein Mastenobjekt, ein Verkehrszeichen-Objekt, ein Fahrspuranzahl-Objekt (das die Anzahl der einem Straßenabschnitt zugeordneten Fahrspuren angibt), eine Beziehung zwischen Splines und Fahrspuren (welcher Spline zu welcher Fahrspur gehört), ein Fahrwegprofil, eine Durchschnittsgeschwindigkeit und/oder zulässige Geschwindigkeit in Punkten auf einem Fahrweg-Spline, Fahrspurmarkierungsänderungspunkte (ein Fahrspurmarkierungstyp wurde in einen anderen Fahrspurmarkierungstyp geändert), eine Fahrspurmarkierungsfarbe (die gepaarte Informationen über die geänderte Fahrspurmarkierung enthalten kann), Straßenkantentypänderungspunkte, eine Fahrspurtopologie und Fahrbahngrenzen. Der Nutzdatenteil kann beispielsweise ein Spline-Objekt (z.B. einen Fahrweg, eine Straßenkante, eine Fahrspurmarkierung usw.) enthalten. Ein Spline-Objekt kann einen vorbestimmten Satz von Punkten in Bezug auf den Spline beinhalten, darunter beispielsweise Punkte auf einem Fahrweg in vorbestimmten Intervallen vor einer aktuellen Position des Host-Fahrzeugs (z.B. 1 Sekunde, 2 Sekunden, 5 Sekunden usw. vor der aktuellen Position des Host-Fahrzeugs). Das Gleiche gilt für Fahrwege auf angrenzenden Fahrspuren. Die vorgegebenen Intervalle können wählbar sein oder mit der Fahrzeuggeschwindigkeit variieren. Detaillierte Beschreibungen von Informationen, die sich auf ein im Nutzdatenteil enthaltenes Objekt beziehen, wurden an anderer Stelle in dieser Offenbarung gegeben und werden hier der Kürze halber nicht wiederholt.
  • In einigen Ausführungsformen kann die Größe des Nutzdatenteils des Navigationsinformationspakets in Abhängigkeit von dem/den im Nutzdatenteil enthaltenen Objekt(en) variieren. Wie in der bereits erwähnten Tabelle 5 dargestellt, kann der Nutzdatenteil des Navigationsinformationspakets in diesem Beispiel beispielsweise drei Objekte enthalten. Der Nutzdatenteil eines anderen Navigationsinformationspakets kann mehr oder weniger Objekte beinhalten, die Größe des Nutzdatenteils dieses Navigationsinformationspakets kann sich von dem in Tabelle 5 dargestellten Nutzdatenteil unterscheiden. Einer der Vorteile eines Nutzdatenteils mit variabler Größe (und eines Navigationsinformationspakets mit variabler Größe) ist die Flexibilität und die Verringerung der Verarbeitungskosten. Ein standardisiertes Navigationspaket, das so konzipiert ist, dass es alle möglichen Szenarien und angetroffenen Objekte abdeckt, kann sehr umfangreich sein, und die meisten Felder wären während Aktualisierungsereignissen leer. Die offenbarten Systeme und Verfahren bieten Lösungen zum Übermitteln der E-Horizontinformationen (z.B. Fahrwege, angetroffene Objekte und Positionen usw.) in einem Paket, das auf die Übermittlung der relevanten Informationen zugeschnitten ist.
  • 42 zeigt beispielhafte Komponenten des Fahrzeugs 2702, die so konfiguriert sind, dass sie die vorliegend beschriebenen Funktionen erfüllen. Wie in 42 dargestellt, kann das Fahrzeug 2702 einen oder mehrere E-Horizont-Prozessoren 4210, einen oder mehrere Navigationssystemprozessoren 4220, einen Speicher 4230, eine Speichereinrichtung 4240, einen Kommunikationsanschluss 4250, einen oder mehrere Sensoren 4260, ein Lidarsystem 4270 und ein Navigationssystem 4280 beinhalten.
  • Der E-Horizont-Prozessor 4210 kann so konfiguriert sein, dass er eine oder mehrere der in dieser Offenbarung beschriebenen Funktionen eines EH-Prozessors (und/oder des EH-Erstellers) ausführt. Der E-Horizont-Prozessor 4210 kann einen Mikroprozessor, Vorprozessoren (z.B. einen Bildvorprozessor), eine Grafikverarbeitungseinheit (GPU), eine Zentraleinheit (CPU), Unterstützungsschaltungen, digitale Signalprozessoren, integrierte Schaltungen, Speicher oder beliebige Arten von Einrichtungen beinhalten, die zum Ausführen von Anwendungen oder zum Durchführen einer Berechnungsaufgabe geeignet sind. In einigen Ausführungsformen kann der E-Horizont-Prozessor 4210 jede Art von Einkern- oder Mehrkemprozessor, Mikrocontroller für mobile Einrichtungen, Zentraleinheit usw. beinhalten. Es können verschiedene Verarbeitungseinrichtungen verwendet werden, darunter beispielsweise Prozessoren von Herstellern wie Intel®, AMD® usw. oder GPUs von Herstellern wie NVIDIA®, ATI® usw., die verschiedene Architekturen beinhalten können (z.B. x86-Prozessor, ARME usw.). Jede der vorliegend beschriebenen Verarbeitungseinrichtungen kann so konfiguriert werden, dass sie bestimmte Funktionen ausführt. Das Konfigurieren einer Verarbeitungseinrichtung, wie eines der beschriebenen-Prozessoren oder eines anderen Controllers oder Mikroprozessors, zur Ausführung bestimmter Funktionen kann Programmieren von computerausführbaren Anweisungen und Bereitstellen dieser Anweisungen an die Verarbeitungseinrichtung zur Ausführung während des Betriebs der Verarbeitungseinrichtung beinhalten. In einigen Ausführungsformen kann das Konfigurieren einer Verarbeitungseinrichtung direktes Programmieren der Verarbeitungseinrichtung mit Architekturanweisungen beinhalten. Beispielsweise können Verarbeitungseinrichtungen wie frei programmierbare Gate-Arrays (FPGAs), anwendungsspezifische integrierte Schaltungen (ASICs) und dergleichen unter Verwendung beispielsweise einer oder mehrerer Hardwarebeschreibungssprachen (HDLs, hardware description languages) konfiguriert werden.
  • In einigen Ausführungsformen kann der E-Horizont-Prozessor 4210 Schalttechnik 4211 und einen Speicher 4212 beinhalten. Der Speicher 4212 kann Befehle speichern, die bei Ausführung durch die Schalttechnik 4211 den E-Horizont-Prozessor 4210 veranlassen können, die vorliegend beschriebenen Funktionen des E-Horizont-Prozessors 4210 auszuführen. Die Schalttechnik 4211 kann eines oder mehrere der vorliegend beschriebenen Beispiele beinhalten.
  • Der Navigationssystemprozessor 4220 kann so konfiguriert sein, dass er eine oder mehrere der in dieser Offenbarung beschriebenen Funktionen eines Navigationssystemprozessors (und/oder eines EH-Neuerstellers) ausführt. In einigen Ausführungsformen kann der Navigationssystemprozessor 4220 Schalttechnik 4221 und einen Speicher 4222 beinhalten. Der Speicher 4222 kann Befehle speichern, die bei Ausführung durch die Schalttechnik 4221 den Navigationssystemprozessor 4220 veranlassen können, die vorliegend beschriebenen Funktionen des Navigationssystemprozessors 4220 auszuführen. Die Schalttechnik 4221 kann eines oder mehrere der vorliegend beschriebenen Beispiele beinhalten.
  • Das Fahrzeug 2702 kann einen Speicher 4230 enthalten, der Anweisungen für verschiedene Komponenten des Fahrzeugs 2702 speichern kann. Beispielsweise können im Speicher 4230 Befehle gespeichert werden, die bei Ausführung durch den E-Horizont-Prozessor 4210 (und/oder den Navigationssystemprozessor 4220) so konfiguriert sein können, dass der E-Horizont-Prozessor 4210 (und/oder der Navigationssystemprozessor 4220) eine oder mehrere vorliegend beschriebene Funktionen ausführt. Der Speicher 4230 kann eine beliebige Anzahl von Direktzugriffsspeichern, Nur-Lese-Speichern, Flash-Speichern, Plattenlaufwerken, optischen Speichern, Bandspeichern, Wechselspeichern und anderen Speicherarten beinhalten. In einem Fall kann der Speicher 4230 vom E-Horizont-Prozessor 4210 und/oder vom Navigationssystemprozessor 4220 getrennt sein. In einem anderen Fall kann der Speicher 4230 in den E-Horizont-Prozessor und/oder den Navigationssystemprozessor 4220 integriert sein. In einigen Ausführungsformen kann der Speicher 4230 Software zum Durchführen einer oder mehrerer Rechenaufgaben sowie ein trainiertes System, wie beispielsweise ein neuronales Netz oder ein tiefes neuronales Netz, enthalten.
  • Die Speichereinrichtung 4240 kann so konfiguriert sein, dass sie verschiedene Daten und Informationen für eine oder mehrere Komponenten des Fahrzeugs 2702 speichert. Die Speichereinrichtung 4240 kann eine oder mehrere Festplatten, Bänder, ein oder mehrere Solid-State-Laufwerke, eine beliebige Einrichtung, die zum Schreiben und Lesen von Daten geeignet ist, oder dergleichen oder eine Kombination aus diesen beinhalten. Die Speichereinrichtung 4240 kann Kartendaten speichern, darunter beispielsweise Daten eines oder mehrerer Kartenabschnitte, auf die der E-Horizont-Prozessor 4210 und/oder der Navigationssystemprozessor 4220 zugreifen können. In einigen Ausführungsformen kann die Speichereinrichtung 4240 eine Kartendatenbank speichern. Der E-Horizont-Prozessor 4210 kann Daten eines oder mehrerer Kartenabschnitte aus der Kartendatenbank abrufen. Beispielsweise können der E-Horizont-Prozessor 4210 und/oder der Navigationssystemprozessor Kartendaten in Verbindung mit einem Kartenabschnitt abrufen.
  • Der Kommunikationsanschluss 4250 kann so konfiguriert sein, dass er Datenkommunikation zwischen dem Fahrzeug 2702 und einer oder mehreren Komponenten der vorliegend beschriebenen Systeme über ein Netzwerk erleichtert. Der Kommunikationsanschluss 4250 kann beispielsweise so konfiguriert sein, dass er über ein oder mehrere öffentliche oder private Netzwerke, einschließlich des Internets, eines Intranets, eines WAN (Weitverkehrsnetz), eines MAN (Stadtnetz), eines drahtlosen Netzwerks, das den Standards IEEE 802. 1 la/b/g/n entspricht, einer Standleitung oder ähnlichem, Daten von einem Server empfängt und an diesen sendet.
  • Der Sensor 4260 kann so konfiguriert sein, dass er Informationen in Bezug auf das Fahrzeug 2702 und/oder die Umgebung des Fahrzeugs 2702 sammelt. Der Sensor 4260 kann einen Bildsensor (z.B. eine Kamera) und/oder eine Radareinrichtung und/oder eine Lidar-Einrichtung und/oder einen Geschwindigkeitssensor und/oder einen Beschleunigungssensor und/oder einen Bremssensor und/oder einen Aufhängungssensor und/oder eine Positionsbestimmungseinrichtung (z.B. eine GPS-Einrichtung) und/oder einen Beschleunigungsmesser und/oder einen Gyrosensor und/oder einen Tachometer oder dergleichen oder eine Kombination aus diesen beinhalten. Beispielsweise kann das Fahrzeug 2702 einen Bildsensor (z.B. eine Kamera) enthalten, der so konfiguriert ist, dass er ein oder mehrere Bilder seiner Umgebung aufnimmt, die eine Darstellung eines Objekts (oder zumindest eines Teils davon) enthalten können. In einigen Ausführungsformen kann das Fahrzeug 2702 einen oder mehrere Bildsensoren enthalten, die der vorliegend an anderer Stelle beschriebenen Bildaufnahmeeinrichtung 122, Bildaufnahmeeinrichtung 124 und/oder Bildaufnahmeeinrichtung 126 ähneln. Als weiteres Beispiel kann das Fahrzeug 2702 eine GPS-Einrichtung enthalten, die so konfiguriert ist, dass sie Positionsbestimmungsdaten sammelt, die mit Positionen des Fahrzeugs 2702 über einen Zeitraum hinweg verbunden sind.
  • Das LIDAR-System 4270 kann eine oder mehrere LIDAR-Einheiten beinhalten. In einigen Ausführungsformen können die eine oder die mehreren LIDAR-Einheiten auf einem Dach des Fahrzeugs 2702 positioniert sein. Eine solche Einheit kann eine Dreheinheit umfassen, die so konfiguriert ist, dass sie LIDAR-Reflexionsinformationen innerhalb eines 360-Grad-Sichtfelds um das Fahrzeug 2702 oder von einem beliebigen Teilabschnitt des 360-Grad-Sichtfelds (z.B. ein oder mehrere FOVs, die jeweils weniger als 360 Grad darstellen) erfasst. In einigen Ausführungsformen kann eine LIDAR-Einheit an einer vorderen Stelle des Fahrzeugs 2702 positioniert sein (z.B. in der Nähe der Scheinwerfer, im Frontgrill, in der Nähe der Nebelscheinwerfer, in einem vorderen Stoßfänger oder an einer anderen geeigneten Stelle). In einigen Fällen können eine oder mehrere LIDAR-Einheiten, die an einem vorderen Teil des Fahrzeugs 2702 installiert sind, Reflexionsinformationen aus einem Sichtfeld in einer Umgebung vor dem Fahrzeug 2702 sammeln. Die vom LIDAR-System 4270 gesammelten Daten können dem E-Horizont-Prozessor 4210 bereitgestellt werden. Alternativ oder zusätzlich können die Daten über ein Netzwerk an einen Server und/oder eine Datenbank übertragen werden, wie an anderer Stelle beschrieben.
  • Jede geeignete Art von LIDAR-Einheit kann in dem Fahrzeug 2702 enthalten sein. In einigen Fällen kann das LIDAR-System 4270 eine oder mehrere Blitz-LIDAR-Einheiten (z.B. 3D-Blitz-LIDAR), bei denen das gesamte LIDAR-Sichtfeld (FOV) mit einem einzigen Laserimpuls beleuchtet wird, sowie einen Sensor mit Zeilen und Spalten von Pixeln zur Aufzeichnung der zurückgesendeten Lichtintensität und Laufzeit-/Tiefeninformationen beinhalten. Solche Blitzsysteme können eine Szene beleuchten und LIDAR-„Bilder“ mehrmals pro Sekunde sammeln. Es können auch abtastende LIDAR-Einheiten eingesetzt werden. Solche abtastenden LIDAR-Einheiten können sich auf eine oder mehrere Methoden zur Streuung eines Laserstrahls über ein bestimmtes FOV stützen. In einigen Fällen kann eine abtastende LIDAR-Einheit einen Abtastspiegel enthalten, der einen Laserstrahl ablenkt und auf Objekte innerhalb des FOV richtet. Die Abtastspiegelkönnen sich um volle 360 Grad drehen oder sich entlang einer einzelnen Achse oder mehrerer Achsen um weniger als 360 Grad drehen, um den Laser auf ein vorbestimmtes FOV zu richten. In einigen Fällen können LIDAR-Einheiten eine einzige horizontale Linie abtasten. In anderen Fällen kann eine LIDAR-Einheit mehrere horizontale Linien innerhalb eines FOV abtasten, so dass ein bestimmtes FOV mehrmals pro Sekunde gerastert wird.
  • Die LIDAR-Einheiten im LIDAR-System 4270 können eine beliebige geeignete Laserquelle enthalten. In einigen Ausführungsformen können die LIDAR-Einheiten einen kontinuierlichen Laser verwenden. In anderen Fällen können die LIDAR-Einheiten mit gepulsten Laseremissionen arbeiten. Außerdem kann jede geeignete Laserwellenlänge verwendet werden. In einigen Fällen kann eine Wellenlänge zwischen etwa 600 nm und etwa 1000 nm verwendet werden.
  • Die LIDAR-Einheit(en) im LIDAR-System 4270 kann/können auch jede geeignete Art von Sensor enthalten und jede geeignete Art von Ausgabe liefern. In einigen Fällen können Sensoren der LIDAR-Einheiten Solid-State-Photodetektoren, wie eine oder mehrere Photodioden oder Photomultiplier, enthalten. Die Sensoren können zudem eine oder mehrere CMOS- oder CCD-Einrichtungen mit einer beliebigen Anzahl von Pixeln enthalten. Diese Sensoren können für Laserlicht empfindlich sein, das von einer Szene innerhalb des LIDAR-FOV reflektiert wird. Die Sensoren können verschiedene Arten von Ausgaben aus einer LIDAR-Einheit ermöglichen. In einigen Fällen kann eine LIDAR-Einheit rohe Lichtintensitätswerte und Flugzeitinformationen ausgeben, die für das reflektierte Laserlicht repräsentativ sind, das an jedem Sensor oder an jedem Pixel oder jeder Unterkomponente eines bestimmten Sensors gesammelt wurde. Zusätzlich oder alternativ kann eine LIDAR-Einheit eine Punktwolke (z.B. eine 3D-Punktwolke) ausgeben, die Lichtintensität und Tiefen-/Entfernungsinformationen relativ zu jedem gesammelten Punkt enthalten kann. LIDAR-Einheiten können auch verschiedene Arten von Tiefenkarten ausgeben, die die Lichtreflexionsamplitude und die Entfernung zu Punkten innerhalb eines Sichtfelds darstellen. LIDAR-Einheiten können Tiefen- oder Entfernungsinformationen in Bezug auf bestimmte Punkte innerhalb eines FOV liefern, indem sie einen Zeitpunkt vermerken, zu dem das Licht der LIDAR-Lichtquelle ursprünglich auf das FOV projiziert wurde, und einen Zeitpunkt aufzeichnen, zu dem das einfallende Laserlicht von einem Sensor in der LIDAR-Einheit empfangen wird. Die Zeitdifferenz kann eine Laufzeit darstellen, die direkt mit der Umlaufstrecke zusammenhängt, die das einfallende Laserlicht von der Laserquelle zu einem reflektierenden Objekt und zurück zur LIDAR-Einheit zurückgelegt hat. Die Überwachung der Laufzeitinformationen, die mit einzelnen Laserpunkten oder kleinen Abschnitten eines LIDAR-FOV verbunden sind, kann genaue Entfernungsinformationen für eine Vielzahl von Punkten innerhalb des FOV liefern (z.B. die Abbildung selbst sehr kleiner Merkmale von Objekten innerhalb des FOV). In einigen Fällen können LIDAR-Einheiten komplexere Informationen ausgeben, wie z.B. Klassifizierungsinformationen, die eine oder mehrere Laserreflexionen mit einer Art von Objekt korrelieren, von dem die Laserreflexion erfasst wurde.
  • Das Navigationssystem 4280 kann so konfiguriert sein, dass es den Fahrer des Fahrzeugs 2702 bei der Bedienung des Fahrzeugs 2702 unterstützt. Alternativ oder zusätzlich kann das Navigationssystem 4280 ein autonomes Fahrzeugnavigationssystem umfassen, das so konfiguriert ist, dass es die Bewegung des Fahrzeugs 2702 steuert, wie vorliegend an anderer Stelle beschrieben. Zum Beispiel kann das Navigationssystem 4280 so konfiguriert sein, dass es das Fahrzeug 2702 auf der Grundlage von Anweisungen steuert, die es vom Navigationssystemprozessor 4220 empfängt. Beispielsweise kann der Navigationssystemprozessor das Navigationssystem 4280 veranlassen, das Fahrzeug 2702 so zu steuern, dass es auf Grundlage des vom E-Horizont-Prozessor 4210 empfangenen Navigationsinformationspakets entlang einer Zieltrajektorie navigiert.
  • In einigen Ausführungsformen können ein E-Horizont-Prozessor 4210 und ein Navigationssystemprozessor 4220 in einen einzigen Prozessor integriert sein, der so konfiguriert ist, dass er die in dieser Offenbarung beschriebenen Funktionen des E-Horizont-Prozessors und des Navigationssystemprozessors ausführt.
  • 43 ist ein Flussdiagramm, das einen beispielhaften Prozess 4300 zum Navigieren eines Fahrzeugs gemäß offenbarten Ausführungsformen zeigt. Ein oder mehrere Schritte des Prozesses 4300 können von einem Fahrzeug (z.B. dem Fahrzeug 2702), einer dem Host-Fahrzeug zugeordneten Einrichtung (z.B. der Fahrzeugeinrichtung 2703), mindestens einem Prozessor (z.B. einem E-Horizont-Prozessor) und/oder einem Server (z.B. dem Server 2701) durchgeführt werden. Während die nachstehenden Beschreibungen des Prozesses 4300 das Fahrzeug 2702 (oder eine oder mehrere Komponenten desselben) als Beispiel verwenden, versteht ein Fachmann, dass ein oder mehrere Schritte des Prozesses 4300 von einem Server und/oder einer Fahrzeugeinrichtung durchgeführt werden können. In einer Ausführungsform beinhaltet ein System zum Navigieren eines Fahrzeugs beispielsweise mindestens einen Prozessor (z.B. einen E-Horizont-Prozessor), der Schalttechnik und einen Speicher umfasst. Der Speicher enthält Anweisungen, die bei Ausführung durch die Schalttechnik den mindestens einen Prozessor veranlassen, einen oder mehrere Arbeitsschritte durchzuführen, wie beispielsweise alle vorliegend und/oder in Verbindung mit 43 diskutierten Arbeitsschritte. Als weiteres Beispiel enthält in einer anderen Ausführungsform ein nicht transientes computerlesbares Medium Anweisungen, die bei Ausführung durch mindestens einen Prozessor (z.B. einen E-Horizont-Prozessor) den mindestens einen Prozessor veranlassen können, einen oder mehrere Arbeitsschritte durchzuführen, wie beispielsweise einen der vorliegend und/oder in Verbindung mit 43 diskutierten Arbeitsschritte.
  • In Schritt 4301 greift mindestens ein E-Horizont-Prozessor (z.B. der E-Horizont-Prozessor 4210) auf eine Karte zu, die zumindest einen Straßenabschnitt darstellt, auf dem das Host-Fahrzeug fährt oder voraussichtlich fahren wird. Zum Beispiel kann der mindestens eine E-Horizont-Prozessor so programmiert sein, dass er eine Karte von der Speichereinrichtung 4240 und/oder dem Speicher 4230 empfängt. Alternativ oder zusätzlich kann der mindestens eine E-Horizont-Prozessor die Kartendaten von einem Server (z.B. dem Server 2701) und/oder einer Datenbank (z.B. der Datenbank 2704), die sich in Bezug auf das Fahrzeug 2702 entfernt befinden können, über das Netzwerk 2705 empfangen. In einigen Ausführungsformen kann die Karte, auf die der mindestens eine E-Horizont-Prozessor zugreift, einen Teilabschnitt einer größeren Karte darstellen, die auf einem Kartenserver (z.B. dem Server 2701) verfügbar ist, der sich in Bezug auf das Host-Fahrzeug entfernt befindet.
  • In einigen Ausführungsformen kann die aufgerufene Karte eine Vielzahl von dreidimensionalen Splines enthalten, die einem oder mehreren Straßenabschnitten zugeordnet sind, und die dreidimensionalen Splines können eines oder mehrere der Folgenden darstellen: einen Fahrweg für das Host-Fahrzeug, eine Straßenkante oder eine Fahrspurmarkierung.
  • In einigen Ausführungsformen wird die aufgerufene Karte auf Grundlage von durch Crowdsourcing erhaltenen Fahrinformationen erzeugt, die von einer Vielzahl von Fahrzeugen gesammelt wurden, die den Straßenabschnitt, auf dem das Host-Fahrzeug fährt oder voraussichtlich fahren wird, vor dem Host-Fahrzeug durchfahren haben (wie vorliegend an anderer Stelle beschrieben).
  • In einigen Ausführungsformen kann die aufgerufene Karte eine Vielzahl von dreidimensionalen Punktpositionen enthalten, die in einem Kartenkoordinatensystem angegeben sind, das der aufgerufenen Karte zugeordnet ist (z.B. ein geografisches Koordinatensystem wie ein GPS-Koordinatensystem). Eines oder mehrere der im Nutzdatenteil des Navigationspakets enthaltenen Objekte können eine dreidimensionale Punktposition enthalten, die in einem dem Host-Fahrzeug zugeordneten Koordinatensystem (z.B. einem lokalen Koordinatensystem des Host-Fahrzeugs) angegeben ist. Beispielsweise kann das dem Host-Fahrzeug zugeordnete Koordinatensystem die Position einer der einen oder der mehreren Kameras des Host-Fahrzeugs (oder den Mittelpunkt des Host-Fahrzeugs) als Ursprung des Koordinatensystems aufweisen.
  • In Schritt 4302 empfängt der mindestens eine E-Horizont-Prozessor (z.B. der E-Horizont-Prozessor 4210) eine Ausgabe, die von mindestens einem Fahrzeugsensor (z.B. einem oder mehreren Sensoren 4260) bereitgestellt wird. In einigen Ausführungsformen kann der mindestens eine Fahrzeugsensor eine oder mehrere Kameras beinhalten, die so konfiguriert sind, dass sie Bilder von einer Umgebung des Host-Fahrzeugs aufnehmen. Beispielsweise kann das Fahrzeug 2702 eine oder mehrere Kameras enthalten, die der vorstehend beschriebenen Bildaufnahmeeinrichtung 122, der Bildaufnahmeeinrichtung 124 und der Bildaufnahmeeinrichtung 126 ähneln und so konfiguriert sein können, dass sie Bilder einer Umgebung des Host-Fahrzeugs aufnehmen. Die empfangene Ausgabe kann mindestens ein Bild enthalten, das von der einen oder den mehreren Kameras aufgenommen wurde.
  • In einigen Ausführungsformen kann der mindestens eine Fahrzeugsensor auch andere Arten von Sensoren beinhalten, darunter beispielsweise einen Geschwindigkeitssensor, einen Beschleunigungssensor, einen GPS-Empfänger, einen Radarsensor, einen LIDAR-Sensor oder dergleichen oder eine Kombination aus diesen.
  • In Schritt 4303 lokalisiert der mindestens eine E-Horizont-Prozessor (z.B. der E-Horizont-Prozessor 4210) das Host-Fahrzeug in Bezug auf die Karte auf Grundlage einer Analyse des mindestens einen von der einen oder den mehreren Kameras aufgenommenen Bildes. Beispielsweise kann der mindestens eine E-Horizont-Prozessor die Position des Host-Fahrzeugs in Bezug auf den kartierten Fahrweg auf Grundlage einer Identifikation eines oder mehrerer kartierter Bezugspunkte, die in dem mindestens einen aufgenommenen Bild dargestellt sind, und eines Vergleichs einer Bildposition des einen oder der mehreren kartierten Bezugspunkte in dem mindestens einen aufgenommenen Bild mit einer erwarteten Bildposition des einen oder der mehreren kartierten Bezugspunkte, die mindestens einer Position entlang des Fahrwegs zugeordnet ist, bestimmen. In einigen Ausführungsformen wird der kartierte Fahrweg in der Karte als dreidimensionaler Spline dargestellt. Alternativ oder zusätzlich kann der mindestens eine E-Horizont-Prozessor eine Position des Host-Fahrzeugs in Bezug auf einen kartierten Fahrweg auf Grundlage einer Identifikation eines oder mehrerer kartierter Bezugspunkte, die in zwei oder mehr aufgenommenen Bildern dargestellt sind, und auf Grundlage einer Bewegungshistorie des Host-Fahrzeugs während eines Zeitraums zwischen der Erfassung der zwei oder mehr aufgenommenen Bilder bestimmen. Alternativ oder zusätzlich kann der mindestens eine E-Horizont-Prozessor das Host-Fahrzeug in Bezug auf die Karte auf Grundlage anderer vorliegend beschriebener Verfahren oder Prozesse zum Lokalisieren eines Fahrzeugs lokalisieren (z.B. die zuvor im Zusammenhang mit 25A, 25B, 25C und 25D beschriebenen Verfahren).
  • In Schritt 4304 bestimmt der mindestens eine E-Horizont-Prozessor (z.B. der E-Horizont-Prozessor 4210) einen elektronischen Horizont für das Host-Fahrzeug auf Grundlage der Lokalisierung des Host-Fahrzeugs in Bezug auf die Karte. Beispielsweise kann, unter erneuter Bezugnahme auf 35, der mindestens eine E-Horizont-Prozessor des Fahrzeugs 2702 (das dem in 35 dargestellten Fahrzeug 3501 ähneln kann) die Position des Fahrzeugs 2702 in Bezug auf die in 25 dargestellte Karte bestimmen und auf Grundlage der relativen Position des Fahrzeugs 2702 einen Bereich 3502 bestimmen, der von einem E-Horizont-Radius abgedeckt wird.
  • In einigen Ausführungsformen kann der mindestens eine E-Horizont-Prozessor den elektronischen Horizont zumindest teilweise auf Grundlage der aktuellen Geschwindigkeit des Host-Fahrzeugs und/oder der Fahrtrichtung des Host-Fahrzeugs bestimmen. Zum Beispiel kann der mindestens eine E-Horizont-Prozessor die aktuelle Geschwindigkeit von einem bordeigenen Geschwindigkeitssensor (der einer des mindestens einen Fahrzeugsensors sein kann) erhalten. Der mindestens eine E-Horizont-Prozessor kann den elektronischen Horizont auf Grundlage der aktuellen Geschwindigkeit des Host-Fahrzeugs bestimmen. Zum Beispiel kann der mindestens eine E-Horizont-Prozessor den elektronischen Horizont bestimmen, der einem Teil der Karte zugeordnet ist, der für das Host-Fahrzeug innerhalb eines vorbestimmten Zeitintervalls bei der aktuellen Geschwindigkeit zugänglich ist. Das vorbestimmte Zeitintervall kann im Bereich von 0,1 Sekunden bis 10 Minuten liegen. In einigen Ausführungsformen kann das vorbestimmte Zeitintervall bis zu 1 Sekunde, 2 Sekunden, 5 Sekunden, 10 Sekunden oder 1 Minute betragen. Alternativ oder zusätzlich kann der mindestens eine E-Horizont-Prozessor den elektronischen Horizont bestimmen, der einer vorbestimmten räumlichen Enveloppe um das Host-Fahrzeug zugeordnet ist (z.B. eine oder mehrere Enveloppen, die zuvor im Zusammenhang mit 28A, 28B, 28C, 28D, 28E, 28F, 28G und 28H beschrieben wurden).
  • In Schritt 4305 erzeugt der mindestens eine E-Horizont-Prozessor (z.B. der E-Horizont-Prozessor 4210) ein Navigationsinformationspaket, das Informationen in Verbindung mit dem bestimmten elektronischen Horizont beinhaltet. Beispielsweise kann unter Bezugnahme auf 35 der mindestens eine E-Horizont-Prozessor Karteninformationen in Bezug auf den oder die Straßenabschnitte im Bereich 3502 (d.h. den in Schritt 4204 bestimmten elektronischen Horizont) beziehen und ein Navigationsinformationspaket erzeugen, das die Informationen in Bezug auf ein oder mehrere mit dem oder den Straßenabschnitten verbundene Objekte enthält. Das Navigationsinformationspaket kann einen Kopfteil und einen Nutzdatenteil beinhalten. Der Kopfteil kann angeben, welche Informationen im Nutzdatenteil enthalten sind. Der Nutzdatenteil kann Informationen in Bezug auf ein oder mehrere Objekte enthalten, die mit dem oder den Straßenabschnitten verbunden sind. In einigen Ausführungsformen kann der Nutzdatenteil eine variable Größe aufweisen.
  • In einigen Ausführungsformen kann der Kopfteil des Navigationsinformationspakets Informationen zur Identifizierung von Objekten, die in dem Nutzdatenteil enthalten sind, eine Größe jedes der Objekte, die in dem Nutzdatenteil enthalten sind, eine Angabe einer Anzahl der Objekte, die in dem Nutzdatenteil enthalten sind, oder dergleichen oder eine Kombination aus diesen enthalten. Die vorstehend erwähnten Tabellen 5 und 6 veranschaulichen beispielhaft verschiedene Arten von Informationen, die in einem Kopfteil enthalten sein können und deren detaillierte Beschreibungen hier der Kürze halber nicht wiederholt werden.
  • Der Nutzdatenteil kann ein oder mehrere Objekte enthalten, die dem oder den Straßenabschnitten zugeordnet sind, die im bestimmten elektronischen Horizont enthalten sind. Die in dem Nutzdatenteil mit variabler Größe enthaltenen Objekte können eines oder mehrere der Folgenden beinhalten: ein Spline-Objekt, ein Fahrwegprofil-Objekt, ein Fahrspurmarkierungsänderungspunkt-Objekt, ein Straßenkantenänderungspunkt-Objekt, ein Zeichenbezugspunkt-Objekt, ein Mastenbezugspunkt-Objekt, ein Fahrspurtopologie-Objekt, ein Fahrweggrenzen-Objekt, ein Fahrspurzusammenführungspunkt-Objekt, ein Fahrspuraufteilungspunkt-Objekt oder ein Referenzpunktänderungsereignis-Objekt. In einigen Ausführungsformen können ein oder mehrere Objekte, die im Nutzdatenteil enthalten sind, von dem mindestens einen E-Horizont-Prozessor (z.B. dem E-Horizont-Prozessor 4210) auf Grundlage des bestimmten elektronischen Horizonts erzeugt werden. Beispielsweise können ein oder mehrere Objekte, die im Nutzdatenteil enthalten sind, von dem mindestens einen E-Horizont-Prozessor (z.B. dem E-Horizont-Prozessor 4210) auf Grundlage von Merkmalen erzeugt werden, die mit der aufgerufenen Karte verbunden sind und die innerhalb des bestimmten elektronischen Horizonts enthalten sind.
  • In einigen Ausführungsformen kann der mindestens eine E-Horizont-Prozessor (z.B. der E-Horizont-Prozessor 4210) so konfiguriert sein, dass er ein aktualisiertes Navigationsinformationspaket erzeugt, nachdem eine Änderung in einem oder mehreren (oder einer Gruppe) von kartierten Merkmalen erkannt wurde, die durch den bestimmten elektronischen Horizont für das Host-Fahrzeug impliziert werden. Beispielsweise kann der mindestens eine E-Horizont-Prozessor eine Änderung der Position eines Verkehrszeichens (d.h. eines im elektronischen Horizont enthaltenen Objekts) auf Grundlage der Bildanalyse eines oder mehrerer von einer Bordkamera aufgenommener Bilder erkennen. Der mindestens eine E-Horizont-Prozessor kann auf Grundlage der erkannten Änderung der Position des Verkehrszeichens ein aktualisiertes Navigationsinformationspaket erzeugen.
  • In Schritt 4306 gibt der mindestens eine E-Horizont-Prozessor (z.B. der E-Horizont-Prozessor 4210) das erzeugte Navigationsinformationspaket an einen oder mehrere Navigationssystemprozessoren (z.B. den Navigationssystemprozessor 4220) aus. Der eine oder die mehreren Navigationssystemprozessoren können so konfiguriert sein, dass sie das Host-Fahrzeug veranlassen, auf Grundlage der im Navigationsinformationspaket enthaltenen Informationen mindestens ein Navigationsmanöver auszuführen. Beispielsweise können ein oder mehrere Navigationssystemprozessoren so konfiguriert sein, dass sie das Navigationssystem 4280 veranlassen, auf Grundlage der im Navigationsinformationspaket enthaltenen Informationen (z.B. ein Fahrweg entlang eines Straßenabschnitts) mindestens ein Navigationsmanöver durchzuführen. Das mindestens eine Navigationsmanöver beinhaltet eines oder mehrere der Folgenden: Aufrechterhalten einer aktuellen Geschwindigkeit des Host-Fahrzeugs; Aufrechterhalten einer aktuellen Kursrichtung des Host-Fahrzeugs; Ändern einer Kursrichtung des Host-Fahrzeugs; Ändern einer Geschwindigkeit des Host-Fahrzeugs; Beschleunigen des Host-Fahrzeugs; oder Abbremsen des Host-Fahrzeugs.
  • Elektronischer Horizont: Kantenunterteilung zwischen Straßenknoten
  • Wie vorliegend an anderer Stelle beschrieben, können ein oder mehrere E-Horizont-Prozessoren ein oder mehrere Navigationsinformationspakete mit Karten- und/oder Navigationsinformationen an einen oder mehrere Navigationssystemprozessoren liefern. Der eine oder die mehreren Navigationssystemprozessoren können ein Host-Fahrzeug veranlassen, auf Grundlage der bereitgestellten Karte und/oder Navigationsinformationen zu navigieren. In einigen Fällen kann ein Navigationspaket, das einen gesamten Straßenabschnitt (der vorliegend auch als Kante bezeichnet werden kann) zwischen Knotenpunkten (z.B. Kreisverkehren, Kreuzungen, Zusammenführungen, Aufteilungen usw.) abdeckt, sehr umfangreich sein, da sich ein Straßenabschnitt über ziemlich große Entfernungen zwischen solchen Knotenpunkten erstrecken kann und viele Bezugspunkte und andere Objekte, die typischerweise im Navigationspaket enthalten sind, angetroffen werden können. Ein solcher Ansatz kann sowohl auf der Seite des Erstellers (d.h. des E-Horizont-Prozessors) als auch auf der Seite des Neuerstellers (d.h. des Navigationssystemprozessors) zu einer Speicherbelastung führen. Die vorgestellten Systeme und Verfahren können eine Kante in besser handhabbare Teilabschnitte unterteilen. So kann jeder Teilabschnitt beispielsweise etwa 100 Meter einer Straßenkante zwischen Knotenpunkten umfassen. Zum Beispiel kann mindestens ein E-Horizont-Prozessor ein Navigationsinformationspaket erzeugen und das Navigationsinformationspaket an einen Navigationssystemprozessor übertragen. Wie vorliegend an anderer Stelle beschrieben, kann ein Navigationsinformationspaket ein AbschnitteInEH-Objekt (z.B. das in 33 dargestellte AbschnitteInEH-Objekt 3321) enthalten, das ein Vektor von AbschnittIDs (z.B. jeweils eine vorzeichenlose 32-Bit-Ganzzahl) sein kann, der die Kartenabschnitt-IDs (und/oder eine oder mehrere Teilabschnitt-IDs) auflistet, die in der möglichen Fahrenveloppe des Fahrzeugs 2702 enthalten sind. Das AbschnitteInEH-Objekt kann anzeigen, wenn ein bestimmter Straßenkanten-Teilabschnitt aus einem Puffer gelöscht werden kann (z.B. wenn der Straßenkanten-Teilabschnitt nicht mehr in der Liste der zugänglichen Straßen-Teilabschnitte des elektronischen Horizonts enthalten ist). Beispielsweise kann das Fahrzeug 2702 (oder eine Komponente davon) aus seinem lokalen Speicher Daten löschen, die AbschnitteInEH zugeordnet sind und nicht in der Liste enthalten sind.
  • 44 ist ein Flussdiagramm, das einen beispielhaften Prozess zum Navigieren eines Fahrzeugs gemäß offenbarten Ausführungsformen zeigt. Ein oder mehrere Schritte des Prozesses 4400 können von einem Fahrzeug (z.B. dem Fahrzeug 2702), einer dem Host-Fahrzeug zugeordneten Einrichtung (z.B. der Fahrzeugeinrichtung 2703), mindestens einem Prozessor (z.B. einem E-Horizont-Prozessor) und/oder einem Server (z.B. dem Server 2701) durchgeführt werden. Während die nachstehenden Beschreibungen des Prozesses 4400 das Fahrzeug 2702 (oder eine oder mehrere Komponenten desselben) als Beispiel verwenden, versteht ein Fachmann, dass ein oder mehrere Schritte des Prozesses 4400 von einem Server und/oder einer Fahrzeugeinrichtung durchgeführt werden können. In einer Ausführungsform beinhaltet ein System zum Navigieren eines Fahrzeugs beispielsweise mindestens einen Prozessor (z.B. einen E-Horizont-Prozessor), der Schalttechnik und einen Speicher umfasst. Der Speicher enthält Anweisungen, die bei Ausführung durch die Schalttechnik den mindestens einen Prozessor veranlassen, einen oder mehrere Arbeitsschritte durchzuführen, wie beispielsweise alle vorliegend und/oder in Verbindung mit 44 diskutierten Arbeitsschritte. Als weiteres Beispiel enthält in einer anderen Ausführungsform ein nicht transientes computerlesbares Medium Anweisungen, die bei Ausführung durch mindestens einen Prozessor (z.B. einen E-Horizont-Prozessor) den mindestens einen Prozessor veranlassen können, einen oder mehrere Arbeitsschritte durchzuführen, wie beispielsweise einen der vorliegend und/oder in Verbindung mit 44 diskutierten Arbeitsschritte.
  • In Schritt 4401 greift der mindestens eine E-Horizont-Prozessor (z.B. der E-Horizont-Prozessor 4210) auf eine Karte zu, die eine Straße (oder einen Straßenabschnitt) darstellt, auf dem das Host-Fahrzeug fährt oder voraussichtlich fahren wird. In einigen Ausführungsformen kann der Schritt 4401 dem vorstehend beschriebenen Schritt 4301 des Prozesses 4300 ähnlich sein. Zum Beispiel kann der mindestens eine E-Horizont-Prozessor so programmiert sein, dass er eine Karte von der Speichereinrichtung 4240 und/oder dem Speicher 4230 empfängt. Alternativ oder zusätzlich kann der mindestens eine E-Horizont-Prozessor die Kartendaten von einem Server (z.B. dem Server 2701) und/oder einer Datenbank (z.B. der Datenbank 2704), die sich in Bezug auf das Fahrzeug 2702 entfernt befinden können, über das Netzwerk 2705 empfangen. In einigen Ausführungsformen kann die Karte, auf die der mindestens eine E-Horizont-Prozessor zugreift, einen Teilabschnitt einer größeren Karte darstellen, die auf einem Kartenserver (z.B. dem Server 2701) verfügbar ist, der sich in Bezug auf das Host-Fahrzeug entfernt befindet.
  • In einigen Ausführungsformen kann die Straße auf der Karte als Zwischenknoten-Straßenabschnitt zwischen zwei kartierten Knoten dargestellt werden, und auf der Karte kann der Zwischenknoten-Straßenabschnitt ferner in eine Vielzahl von Zwischenknoten-Straßenteilabschnitten unterteilt sein. Wie an anderer Stelle beschrieben, kann ein kartierter Knoten einen Kreisverkehr, eine Kreuzung, eine Fahrspuraufteilung, eine Fahrspurzusammenführung (oder dergleichen) umfassen, die in einer Karte dargestellt werden. Eine Kante kann eine Straße zwischen zwei kartierten Knoten sein. Ein Kantenabschnitt kann eine logische Einheit sein, die Kartendaten enthält. Beispielsweise kann eine Kante in eine Vielzahl von Kantenabschnitten unterteilt sein (z.B. die in 35 dargestellten Kantenabschnitte). Ein Kantenabschnitt kann weiter in eine Vielzahl von Teilabschnitten unterteilt werden. Die Unterteilung von Kanten in Teilabschnitte kann die Speicherbeanspruchung auf beiden Seiten (des Erstellers und des Neuerstellers) verringern, da ein Kantenabschnitt in einigen Fällen recht lang sein kann. Alternativ oder zusätzlich kann die aufgerufene Karte eine Vielzahl von dreidimensionalen Splines enthalten, die eines oder mehrere der Folgenden darstellen können: einen Fahrweg für das Host-Fahrzeug, eine Straßenkante oder eine Fahrspurmarkierung.
  • In einigen Ausführungsformen wird die aufgerufene Karte auf Grundlage von durch Crowdsourcing erhaltenen Fahrinformationen erzeugt, die von einer Vielzahl von Fahrzeugen gesammelt wurden, die den Straßenabschnitt, auf dem das Host-Fahrzeug fährt oder voraussichtlich fahren wird, vor dem Host-Fahrzeug durchfahren haben (wie vorliegend an anderer Stelle beschrieben).
  • In einigen Ausführungsformen kann die Karte, auf die der mindestens eine E-Horizont-Prozessor zugreift, einen Teilabschnitt einer größeren Karte darstellen, die auf einem Kartenserver (z.B. dem Server 2701) verfügbar ist, der sich in Bezug auf das Host-Fahrzeug entfernt befindet.
  • In Schritt 4402 empfängt der mindestens eine E-Horizont-Prozessor (z.B. der E-Horizont-Prozessor 4210) eine Ausgabe, die von mindestens einem Fahrzeugsensor bereitgestellt wird. In einigen Ausführungsformen kann der Schritt 4402 dem vorstehend beschriebenen Schritt 4302 des Prozesses 4300 ähnlich sein. Beispielsweise kann der mindestens eine Fahrzeugsensor eine oder mehrere Kameras beinhalten, die so konfiguriert sind, dass sie Bilder von einer Umgebung des Host-Fahrzeugs aufnehmen. Beispielsweise kann das Fahrzeug 2702 eine oder mehrere Kameras enthalten, die der vorstehend beschriebenen Bildaufnahmeeinrichtung 122, der Bildaufnahmeeinrichtung 124 und der Bildaufnahmeeinrichtung 126 ähneln und so konfiguriert sein können, dass sie Bilder einer Umgebung des Host-Fahrzeugs aufnehmen. Die empfangene Ausgabe kann mindestens ein Bild enthalten, das von der einen oder den mehreren Kameras aufgenommen wurde.
  • In einigen Ausführungsformen kann der mindestens eine Fahrzeugsensor zudem andere Arten von Sensoren beinhalten, z.B. einen Geschwindigkeitssensor, einen Beschleunigungssensor, einen GPS-Empfänger, einen Radarsensor, einen LIDAR-Sensor oder dergleichen oder eine Kombination aus diesen.
  • In Schritt 4403 lokalisiert der mindestens eine E-Horizont-Prozessor (z.B. der E-Horizont-Prozessor 4210) das Host-Fahrzeug in Bezug auf die Karte auf Grundlage einer Analyse des mindestens einen von der einen oder den mehreren Kameras aufgenommenen Bildes. Zum Beispiel kann mindestens ein E-Horizont-Prozessor das Host-Fahrzeug in Bezug auf mindestens ein kartiertes Merkmal (und/oder mindestens ein kartiertes Objekt) auf Grundlage einer Analyse des mindestens einen von der einen oder den mehreren Kameras aufgenommenen Bildes lokalisieren. In einigen Ausführungsformen kann der Schritt 4403 dem vorstehend beschriebenen Schritt 4303 des Prozesses 4300 ähnlich sein.
  • In einigen Ausführungsformen kann das mindestens eine kartierte Merkmal, in Bezug auf das das Host-Fahrzeug lokalisiert wird, einen Fahrweg für das Host-Fahrzeug enthalten, der in der Karte dargestellt ist. In einigen Ausführungsformen kann der kartierte Fahrweg auf der Karte als dreidimensionaler Spline dargestellt werden. Der mindestens eine E-Horizont-Prozessor kann das Host-Fahrzeug auf Grundlage einer Analyse des mindestens einen Bildes, das von der einen oder den mehreren Kameras aufgenommen wurde, in Bezug auf einen kartierten Fahrweg lokalisieren. Beispielsweise kann mindestens ein E-Horizont-Prozessor eine Position des Host-Fahrzeugs in Bezug auf einen kartierten Fahrweg auf Grundlage einer Identifikation eines oder mehrerer kartierter Bezugspunkte, die in dem mindestens einen aufgenommenen Bild dargestellt sind, und eines Vergleichs einer Bildposition des einen oder der mehreren kartierten Bezugspunkte in dem mindestens einen aufgenommenen Bild mit einer erwarteten Bildposition des einen oder der mehreren kartierten Bezugspunkte, die mindestens einer Position entlang des Fahrwegs zugeordnet ist, bestimmen. Alternativ oder zusätzlich kann die Lokalisierung des Host-Fahrzeugs in Bezug auf das mindestens eine kartierte Merkmal Bestimmen einer Position des Host-Fahrzeugs in Bezug auf einen kartierten Fahrweg auf Grundlage einer Identifikation eines oder mehrerer kartierter Bezugspunkte, die in zwei oder mehr aufgenommenen Bildern dargestellt sind, und auf Grundlage einer Bewegungshistorie des Host-Fahrzeugs während eines Zeitraums zwischen der Erfassung der zwei oder mehr aufgenommenen Bilder beinhalten.
  • In Schritt 4404 bestimmt der mindestens eine E-Horizont-Prozessor (z.B. der E-Horizont-Prozessor 4210) einen elektronischen Horizont für das Host-Fahrzeug auf Grundlage der Lokalisierung des Host-Fahrzeugs. Beispielsweise kann der mindestens eine E-Horizont-Prozessor auf Grundlage der Lokalisierung des Host-Fahrzeugs in Bezug auf das mindestens eine kartierte Merkmal einen elektronischen Horizont für das Host-Fahrzeug bestimmen. In einigen Ausführungsformen kann der Schritt 4404 dem vorstehend beschriebenen Schritt 4304 des Prozesses 4300 ähnlich sein. Beispielsweise kann der mindestens eine E-Horizont-Prozessor den elektronischen Horizont zumindest teilweise auf Grundlage der aktuellen Geschwindigkeit des Host-Fahrzeugs und/oder der Fahrtrichtung des Host-Fahrzeugs bestimmen. Zum Beispiel kann der mindestens eine E-Horizont-Prozessor die aktuelle Geschwindigkeit von einem bordeigenen Geschwindigkeitssensor (der einer des mindestens einen Fahrzeugsensors sein kann) erhalten. Der mindestens eine E-Horizont-Prozessor kann den elektronischen Horizont auf Grundlage der aktuellen Geschwindigkeit des Host-Fahrzeugs bestimmen. Zum Beispiel kann der mindestens eine E-Horizont-Prozessor den elektronischen Horizont bestimmen, der mit einem Teil der Karte verbunden ist, der für das Host-Fahrzeug innerhalb eines vorbestimmten Zeitintervalls bei der aktuellen Geschwindigkeit zugänglich ist. Das vorbestimmte Zeitintervall kann im Bereich von 0,1 Sekunden bis 10 Minuten liegen. In einigen Ausführungsformen kann das vorbestimmte Zeitintervall bis zu 1 Sekunde, 2 Sekunden, 5 Sekunden, 10 Sekunden oder 1 Minute betragen. Alternativ oder zusätzlich kann der mindestens eine E-Horizont-Prozessor den elektronischen Horizont bestimmen, der einer vorbestimmten räumlichen Enveloppe um das Host-Fahrzeug zugeordnet ist (z.B. eine oder mehrere Enveloppen, die zuvor im Zusammenhang mit 28A, 28B, 28C, 28D, 28E, 28F, 28G und 28H beschrieben wurden).
  • In Schritt 4405 bestimmt der mindestens eine E-Horizont-Prozessor (z.B. der E-Horizont-Prozessor 4210) einen Satz von Zwischenknoten-Straßenteilabschnitten, die im elektronischen Horizont enthalten sind. Zum Beispiel kann der mindestens eine E-Horizont-Prozessor alle Zwischenknoten-Straßenteilabschnitte in dem Kartenbereich, der dem elektronischen Horizont entspricht, bestimmen und alle Zwischenknoten-Straßenteilabschnitte als den Satz von Zwischenknoten-Straßenteilabschnitten auswählen.
  • In einigen Ausführungsformen kann der bestimmte Satz von Zwischenknoten-Straßenteilabschnitten zwei oder mehr Zwischenknoten-Straßenteilabschnitte beinhalten. Alternativ kann der bestimmte Satz von Zwischenknoten-Straßenteilabschnitten auch nur einen Zwischenknoten-Straßenteilabschnitt beinhalten.
  • In einigen Ausführungsformen kann der bestimmte Satz von Zwischenknoten-Straßenteilabschnitten, die in dem elektronischen Horizont enthalten sind, mindestens einen Zwischenknoten-Straßenteilabschnitt beinhalten, der sich nur teilweise innerhalb einer dem elektronischen Horizont zugeordneten Enveloppe befindet.
  • In einigen Ausführungsformen kann jeder der Vielzahl von Zwischenknoten-Straßenteilabschnitten auf der Karte ein Teilstück des Zwischenknoten-Straßenabschnitts darstellen, das weniger als eine vorbestimmte maximale Länge aufweist.
  • In Schritt 4406 erzeugt der mindestens eine E-Horizont-Prozessor (z.B. der E-Horizont-Prozessor 4210) ein oder mehrere Navigationsinformationspakete. In einigen Ausführungsformen können das eine oder die mehreren Navigationsinformationspakete Informationen in Verbindung mit dem Satz von Zwischenknoten-Straßenteilabschnitten enthalten, die in dem elektronischen Horizont enthalten sind. Alternativ oder zusätzlich können das eine oder die mehreren Navigationsinformationspakete auch andere Arten von Informationen enthalten, die in dieser Offenbarung beschrieben werden (z.B. ein Spline-Objekt, ein Fahrwegprofil-Objekt, ein Fahrspurmarkierungsänderungspunkt-Objekt usw.). In einigen Ausführungsformen kann der Schritt 4406 dem vorstehend beschriebenen Schritt 4305 des Prozesses 4300 ähnlich sein.
  • In einigen Ausführungsformen kann mindestens ein Navigationsinformationspaket für jeden der im elektronischen Horizont enthaltenen Zwischenknoten-Straßenteilabschnitte erzeugt werden.
  • In einigen Ausführungsformen kann jedes des einen oder der mehreren Navigationsinformationspakete einen Kopfteil und einen Nutzdatenteil mit variabler Größe beinhalten (wie an anderer Stelle beschrieben). Der Kopfteil kann angeben, welche Informationen im Nutzdatenteil mit variabler Größe enthalten sind. Zum Beispiel kann der Kopfteil eines Navigationsinformationspakets ein oder mehrere Objekte identifizieren, die in dem Nutzdatenteil mit variabler Größe enthalten sind. Die vorstehend behandelte Tabelle 6 veranschaulicht beispielhaft einen Kopfteil eines Navigationsinformationspakets. Der Kopfteil kann Informationen wie beispielsweise die Anzahl der Objekte, die im Nutzdatenteil enthalten sind und/oder die Größe jedes Objekts und/oder die Segment-ID, die mit jedem Objekt verbunden ist und/oder die Beschreibung jedes Objekts usw. beinhalten. In einigen Ausführungsformen können das oder die Objekte, die in dem Nutzdatenteil mit variabler Größe enthalten sind, von dem mindestens einen Prozessor auf Grundlage des bestimmten elektronischen Horizonts erzeugt werden. Beispielsweise können die in dem Nutzdatenteil mit variabler Größe enthaltenen Objekte durch den mindestens einen Prozessor auf Grundlage von mit der aufgerufenen Karte verbundenen Merkmalen erzeugt werden, die innerhalb des bestimmten elektronischen Horizonts enthalten sind. In einigen Ausführungsformen können die in dem Nutzdatenteil mit variabler Größe enthaltenen Objekte eines oder mehrere der Folgenden umfassen: ein Spline-Objekt, ein Fahrwegprofil-Objekt, ein Fahrspurmarkierungsänderungspunkt-Objekt, ein Straßenkantenänderungspunkt-Objekt, ein Zeichenbezugspunkt-Objekt, ein Mastenbezugspunkt-Objekt, ein Fahrspurtopologie-Objekt, ein Fahrweggrenzen-Objekt, ein Fahrspurzusammenführungspunkt-Objekt, ein Fahrspuraufteilungspunkt-Objekt oder ein Referenzpunktänderungsereignis-Objekt.
  • In einigen Ausführungsformen können das eine oder die mehreren Navigationspakete ein Straßenteilabschnittslisten-Objekt beinhalten, das für die Zwischenknoten-Straßenteilabschnitte repräsentativ ist, die in dem bestimmten elektronischen Horizont enthalten sind. In einigen Ausführungsformen können Änderungen des Straßenteilabschnittslisten-Objekts einen oder mehrere Navigationssystemprozessoren (z.B. den Navigationssystemprozessor 4220) veranlassen, Informationen zu löschen, die mit Straßenteilabschnitten verbunden sind, die nicht mehr in einem empfangenen Straßenteilabschnittslisten-Objekt enthalten sind. Beispielsweise kann der mindestens eine E-Horizont-Prozessor an den Navigationssystemprozessor ein Navigationsinformationspaket übertragen, das eine aktualisierte AbschnittID-Liste enthält. Der Navigationssystemprozessor kann jeden Teilabschnitt mit einer AbschnittID löschen, die nicht in der Liste enthalten ist und bereits von einem oder mehreren früheren Navigationsinformationspaketen empfangen wurde.
  • In Schritt 4407 gibt der mindestens eine E-Horizont-Prozessor (z.B. der E-Horizont-Prozessor 4210) das eine oder die mehreren erzeugten Navigationsinformationspakete an einen oder mehrere Navigationssystemprozessoren aus, die so konfiguriert sind, dass sie das Host-Fahrzeug veranlassen, auf Grundlage der im Navigationsinformationspaket enthaltenen Informationen mindestens ein Navigationsmanöver auszuführen. In einigen Ausführungsformen kann der Schritt 4407 dem vorstehend beschriebenen Schritt 4306 des Prozesses 4300 ähnlich sein. Beispielsweise können ein oder mehrere Navigationssystemprozessoren so konfiguriert sein, dass sie das Navigationssystem 4280 veranlassen, auf Grundlage der im Navigationsinformationspaket enthaltenen Informationen (z.B. ein Fahrweg entlang eines Straßenabschnitts) mindestens ein Navigationsmanöver durchzuführen. Das mindestens eine Navigationsmanöver kann eines oder mehrere der Folgenden beinhalten: Aufrechterhalten einer aktuellen Geschwindigkeit des Host-Fahrzeugs; Aufrechterhalten einer aktuellen Kursrichtung des Host-Fahrzeugs; Ändern einer Kursrichtung des Host-Fahrzeugs; Ändern einer Geschwindigkeit des Host-Fahrzeugs; Beschleunigen des Host-Fahrzeugs; oder Abbremsen des Host-Fahrzeugs.
  • Elektronischer Horizont: Dynamische Änderung des Kartenursprungs
  • In einigen Fällen können, wenn die Entfernung eines Fahrzeugs von einem Ursprungspunkt einen bestimmten Schwellenwert überschreitet, Präzisionsfehler über die Entfernung zu einer kumulativen Verzerrung führen. Um diese Art von Verzerrung zu vermeiden, können die offenbarten Systeme und Verfahren den Ursprungspunkt eines Kartenkoordinatensystems dynamisch ändern, und ein oder mehrere Kartenobjekte können entsprechend in das neue Koordinatensystem transformiert werden. In einer Ausführungsform kann mindestens ein E-Horizont-Prozessor ein ReferenzpunktÄnderungsereignis-Objekt an mindestens einen Navigationssystemprozessor senden, das anzeigt, dass die Kartenkoordinaten geändert wurden. Die vorherigen Abschnitte des elektronischen Horizonts können auf der Seite des Neuerstellers (z.B. in einem Speicher oder einem Puffer, auf den der Navigationssystemprozessor zugreifen kann) geflasht werden. Der mindestens eine Navigationssystemprozessor kann zudem die Abschnitte im neuen Koordinatensystem an den Navigationssystemprozessor übertragen. Wenn die Änderung im Kartenkoordinatensystem auftritt, kann die Lokalisierungsausgabe in den Zustand „nicht lokalisiert“ wechseln. In einigen Ausführungsformen können sich mindestens ein E-Horizont-Prozessor und mindestens ein Navigationssystemprozessor für die Übermittlung von Abschnitten in einem neuen Koordinatensystem gemäß dem in 37 dargestellten Prozess koordinieren.
  • 45 ist ein Flussdiagramm, das einen beispielhaften Prozess zum Navigieren eines Fahrzeugs gemäß offenbarten Ausführungsformen zeigt. Ein oder mehrere Schritte des Prozesses 4500 können von einem Fahrzeug (z.B. dem Fahrzeug 2702), einer dem Host-Fahrzeug zugeordneten Einrichtung (z.B. der Fahrzeugeinrichtung 2703), mindestens einem Prozessor (z.B. einem E-Horizont-Prozessor) und/oder einem Server (z.B. dem Server 2701) durchgeführt werden. Während die nachstehenden Beschreibungen des Prozesses 4500 das Fahrzeug 2702 (oder eine oder mehrere Komponenten desselben) als Beispiel verwenden, versteht ein Fachmann, dass ein oder mehrere Schritte des Prozesses 4500 von einem Server und/oder einer Fahrzeugeinrichtung durchgeführt werden können. In einer Ausführungsform beinhaltet ein System zum Navigieren eines Fahrzeugs beispielsweise mindestens einen Prozessor (z.B. einen E-Horizont-Prozessor), der Schalttechnik und einen Speicher umfasst. Der Speicher enthält Anweisungen, die bei Ausführung durch die Schalttechnik den mindestens einen Prozessor veranlassen, einen oder mehrere Arbeitsschritte durchzuführen, wie beispielsweise alle vorliegend und/oder in Verbindung mit 45 diskutierten Arbeitsschritte. Als weiteres Beispiel enthält in einer anderen Ausführungsform ein nicht transientes computerlesbares Medium Anweisungen, die bei Ausführung durch mindestens einen Prozessor (z.B. einen E-Horizont-Prozessor) den mindestens einen Prozessor veranlassen können, einen oder mehrere Arbeitsschritte durchzuführen, wie beispielsweise einen der vorliegend und/oder in Verbindung mit 45 diskutierten Arbeitsschritte.
  • In Schritt 4501 greift mindestens ein E-Horizont-Prozessor (z.B. der E-Horizont-Prozessor 4210) auf eine Karte zu, die zumindest einen Straßenabschnitt darstellt, auf dem das Host-Fahrzeug fährt oder voraussichtlich fahren wird. Punkte auf der Karte können in Bezug auf einen anfänglichen Kartenursprung referenziert werden. In einigen Ausführungsformen kann der Schritt 450 dem vorstehend beschriebenen Schritt 430 des Prozesses 4300 ähnlich sein. Zum Beispiel kann der mindestens eine E-Horizont-Prozessor so programmiert sein, dass er eine Karte von der Speichereinrichtung 4240 und/oder dem Speicher 4230 empfängt. Alternativ oder zusätzlich kann der mindestens eine E-Horizont-Prozessor die Kartendaten von einem Server (z.B. dem Server 2701) und/oder einer Datenbank (z.B. der Datenbank 2704), die sich in Bezug auf das Fahrzeug 2702 entfernt befinden können, über das Netzwerk 2705 empfangen. In einigen Ausführungsformen kann die Karte, auf die der mindestens eine E-Horizont-Prozessor zugreift, einen Teilabschnitt einer größeren Karte darstellen, die auf einem Kartenserver (z.B. dem Server 2701) verfügbar ist, der sich in Bezug auf das Host-Fahrzeug entfernt befindet.
  • In einigen Ausführungsformen kann die aufgerufene Karte eine Vielzahl von dreidimensionalen Splines enthalten, wobei die dreidimensionalen Splines eines oder mehrere der Folgenden darstellen können: einen Fahrweg für das Host-Fahrzeug, eine Straßenkante oder eine Fahrspurmarkierung.
  • In einigen Ausführungsformen wird die aufgerufene Karte auf Grundlage von durch Crowdsourcing erhaltenen Fahrinformationen erzeugt, die von einer Vielzahl von Fahrzeugen gesammelt wurden, die den Straßenabschnitt, auf dem das Host-Fahrzeug fährt oder voraussichtlich fahren wird, vor dem Host-Fahrzeug durchfahren haben (wie vorliegend an anderer Stelle beschrieben).
  • In einigen Ausführungsformen kann die Karte, auf die der mindestens eine E-Horizont-Prozessor zugreift, einen Teilabschnitt einer größeren Karte darstellen, die auf einem Kartenserver (z.B. dem Server 2701) verfügbar ist, der sich in Bezug auf das Host-Fahrzeug entfernt befindet.
  • In Schritt 4502 empfängt der mindestens eine E-Horizont-Prozessor (z.B. der E-Horizont-Prozessor 4210) eine Ausgabe, die von mindestens einem Fahrzeugsensor bereitgestellt wird. In einigen Ausführungsformen kann der Schritt 4502 dem vorstehend beschriebenen Schritt 4302 des Prozesses 4300 ähnlich sein. Beispielsweise kann der mindestens eine Fahrzeugsensor eine oder mehrere Kameras beinhalten, die so konfiguriert sind, dass sie Bilder von einer Umgebung des Host-Fahrzeugs aufnehmen. Beispielsweise kann das Fahrzeug 2702 eine oder mehrere Kameras enthalten, die der vorstehend beschriebenen Bildaufnahmeeinrichtung 122, der Bildaufnahmeeinrichtung 124 und der Bildaufnahmeeinrichtung 126 ähneln und so konfiguriert sein können, dass sie Bilder einer Umgebung des Host-Fahrzeugs aufnehmen. Die empfangene Ausgabe kann mindestens ein Bild enthalten, das von der einen oder den mehreren Kameras aufgenommen wurde.
  • In einigen Ausführungsformen kann der mindestens eine Fahrzeugsensor zudem andere Arten von Sensoren umfassen, darunter beispielsweise einen Geschwindigkeitssensor, einen Beschleunigungssensor, einen GPS-Empfänger, einen Radarsensor, einen LIDAR-Sensor oder dergleichen oder eine Kombination aus diesen.
  • In Schritt 4503 lokalisiert der mindestens eine E-Horizont-Prozessor (z.B. der E-Horizont-Prozessor 4210) das Host-Fahrzeug in Bezug auf die Karte auf Grundlage einer Analyse des mindestens einen von der einen oder den mehreren Kameras aufgenommenen Bildes. In einigen Ausführungsformen kann der Schritt 4503 dem vorstehend beschriebenen Schritt 4303 des Prozesses 4300 ähnlich sein. Beispielsweise kann der mindestens eine E-Horizont-Prozessor die Position des Host-Fahrzeugs in Bezug auf den kartierten Fahrweg auf Grundlage einer Identifikation eines oder mehrerer kartierter Bezugspunkte, die in dem mindestens einen aufgenommenen Bild dargestellt sind, und eines Vergleichs einer Bildposition des einen oder der mehreren kartierten Bezugspunkte in dem mindestens einen aufgenommenen Bild mit einer erwarteten Bildposition des einen oder der mehreren kartierten Bezugspunkte, die mindestens einer Position entlang des Fahrwegs zugeordnet ist, bestimmen. In einigen Ausführungsformen wird der kartierte Fahrweg in der Karte als dreidimensionaler Spline dargestellt. Alternativ oder zusätzlich kann der mindestens eine E-Horizont-Prozessor eine Position des Host-Fahrzeugs in Bezug auf einen kartierten Fahrweg auf Grundlage einer Identifikation eines oder mehrerer kartierter Bezugspunkte, die in zwei oder mehr aufgenommenen Bildern dargestellt sind, und auf Grundlage einer Bewegungshistorie des Host-Fahrzeugs während eines Zeitraums zwischen der Erfassung der zwei oder mehr aufgenommenen Bilder bestimmen. Alternativ oder zusätzlich kann der mindestens eine E-Horizont-Prozessor das Host-Fahrzeug in Bezug auf die Karte auf Grundlage anderer vorliegend beschriebener Verfahren oder Prozesse zum Lokalisieren eines Fahrzeugs lokalisieren (z.B. die zuvor im Zusammenhang mit 25A, 25B, 25C und 25D beschriebenen Verfahren).
  • In Schritt 4504 bestimmt der mindestens eine E-Horizont-Prozessor (z.B. der E-Horizont-Prozessor 4210) einen elektronischen Horizont für das Host-Fahrzeug auf Grundlage der Lokalisierung des Host-Fahrzeugs in Bezug auf die Karte. In einigen Ausführungsformen kann der Schritt 4504 dem vorstehend beschriebenen Schritt 4304 des Prozesses 4300 ähnlich sein. Beispielsweise kann unter erneuter Bezugnahme auf 35 der mindestens eine E-Horizont-Prozessor des Fahrzeugs 2702 (das dem in 35 dargestellten Fahrzeug 3501 ähnlich sein kann) die Position des Fahrzeugs 2702 in Bezug auf die in 25 dargestellte Karte bestimmen und auf Grundlage der relativen Position des Fahrzeugs 2702 einen Bereich 3502 bestimmen, der von einem E-Horizontradius abgedeckt wird.
  • In einigen Ausführungsformen kann der mindestens eine E-Horizont-Prozessor den elektronischen Horizont zumindest teilweise auf Grundlage der aktuellen Geschwindigkeit des Host-Fahrzeugs und/oder der Fahrtrichtung des Host-Fahrzeugs bestimmen. Zum Beispiel kann der mindestens eine E-Horizont-Prozessor die aktuelle Geschwindigkeit von einem bordeigenen Geschwindigkeitssensor (der einer des mindestens einen Fahrzeugsensors sein kann) erhalten. Der mindestens eine E-Horizont-Prozessor kann den elektronischen Horizont auf Grundlage der aktuellen Geschwindigkeit des Host-Fahrzeugs bestimmen. Zum Beispiel kann der mindestens eine E-Horizont-Prozessor den elektronischen Horizont bestimmen, der mit einem Teil der Karte verbunden ist, der für das Host-Fahrzeug innerhalb eines vorbestimmten Zeitintervalls bei der aktuellen Geschwindigkeit zugänglich ist. Das vorbestimmte Zeitintervall kann im Bereich von 0,1 Sekunden bis 10 Minuten liegen. In einigen Ausführungsformen kann das vorbestimmte Zeitintervall bis zu 1 Sekunde, 2 Sekunden, 5 Sekunden, 10 Sekunden oder 1 Minute betragen. Alternativ oder zusätzlich kann der mindestens eine E-Horizont-Prozessor den elektronischen Horizont bestimmen, der einer vorbestimmten räumlichen Enveloppe um das Host-Fahrzeug zugeordnet ist (z.B. eine oder mehrere Enveloppen, die zuvor im Zusammenhang mit 28A, 28B, 28C, 28D, 28E, 28F, 28G und 28H beschrieben wurden).
  • In Schritt 4505 erzeugt der mindestens eine E-Horizont-Prozessor (z.B. der E-Horizont-Prozessor 4210) ein Navigationsinformationspaket mit Informationen in Verbindung mit in dem bestimmten elektronischen Horizont enthaltenen kartierten Merkmalen. In einigen Ausführungsformen kann der Schritt 4505 dem vorstehend beschriebenen Schritt 4305 des Prozesses 4300 (und/oder dem Schritt 4406 des Prozesses 4400) ähnlich sein. Zum Beispiel kann der mindestens eine E-Horizont-Prozessor ein Navigationsinformationspaket erzeugen, das einen Kopfteil und einen Nutzdatenteil enthält. In einigen Ausführungsformen kann der Nutzdatenteil des Navigationsinformationspakets eine variable Größe aufweisen. Der Kopfteil kann angeben, welche Informationen im Nutzdatenteil enthalten sind. Zum Beispiel kann der Kopfteil eines Navigationsinformationspakets ein oder mehrere Objekte identifizieren, die in dem Nutzdatenteil mit variabler Größe enthalten sind. Die vorstehend behandelte Tabelle 6 veranschaulicht beispielhaft einen Kopfteil eines Navigationsinformationspakets. Der Kopfteil kann Informationen wie beispielsweise die Anzahl der Objekte, die im Nutzdatenteil enthalten sind und/oder die Größe jedes Objekts und/oder die Segment-ID, die mit jedem Objekt verbunden ist und/oder die Beschreibung jedes Objekts usw. beinhalten. In einigen Ausführungsformen können das oder die Objekte, die in dem Nutzdatenteil mit variabler Größe enthalten sind, von dem mindestens einen Prozessor auf Grundlage des bestimmten elektronischen Horizonts erzeugt werden. Beispielsweise können die in dem Nutzdatenteil mit variabler Größe enthaltenen Objekte durch den mindestens einen Prozessor auf Grundlage von mit der aufgerufenen Karte verbundenen Merkmalen erzeugt werden, die innerhalb des bestimmten elektronischen Horizonts enthalten sind. In einigen Ausführungsformen können die in dem Nutzdatenteil mit variabler Größe enthaltenen Objekte eines oder mehrere der Folgenden umfassen: ein Spline-Objekt, ein Fahrwegprofil-Objekt, ein Fahrspurmarkierungsänderungspunkt-Objekt, ein Straßenkantenänderungspunkt-Objekt, ein Zeichenbezugspunkt-Objekt, ein Mastenbezugspunkt-Objekt, ein Fahrspurtopologie-Objekt, ein Fahrweggrenzen-Objekt, ein Fahrspurzusammenführungspunkt-Objekt, ein Fahrspuraufteilungspunkt-Objekt oder ein Referenzpunktänderungsereignis-Objekt.
  • In Schritt 4506 gibt der mindestens eine E-Horizont-Prozessor (z.B. der E-Horizont-Prozessor 4210) das erzeugte Navigationsinformationspaket an einen oder mehrere Navigationssystemprozessoren aus, die so konfiguriert sind, dass sie das Host-Fahrzeug veranlassen, auf Grundlage der im Navigationsinformationspaket enthaltenen Informationen mindestens ein Navigationsmanöver auszuführen. In einigen Ausführungsformen kann der Schritt 4506 dem vorstehend beschriebenen Schritt 4306 des Prozesses 4300 ähnlich sein. Beispielsweise können ein oder mehrere Navigationssystemprozessoren (z.B. der Navigationssystemprozessor 4220) so konfiguriert sein, dass sie das Navigationssystem 4280 veranlassen, auf Grundlage der im Navigationsinformationspaket enthaltenen Informationen (z.B. ein Fahrweg entlang eines Straßenabschnitts) mindestens ein Navigationsmanöver auszuführen. Das mindestens eine Navigationsmanöver kann eines oder mehrere der Folgenden beinhalten: Aufrechterhalten einer aktuellen Geschwindigkeit des Host-Fahrzeugs; Aufrechterhalten einer aktuellen Kursrichtung des Host-Fahrzeugs; Ändern einer Kursrichtung des Host-Fahrzeugs; Ändern einer Geschwindigkeit des Host-Fahrzeugs; Beschleunigen des Host-Fahrzeugs; oder Abbremsen des Host-Fahrzeugs.
  • In Schritt 4507 erkennt der mindestens eine E-Horizont-Prozessor (z.B. der E-Horizont-Prozessor 4210) ein Kartenursprungsänderungsereignis. Beispielsweise kann der mindestens eine E-Horizont-Prozessor so programmiert sein, dass er ein Kartenursprungsänderungsereignis erkennt, wenn er erkennt, dass sich das Host-Fahrzeug mehr als eine vorbestimmte Entfernung von einem Punkt entfernt hat, der durch den anfänglichen Kartenursprung dargestellt wird. Die vorbestimmte Entfernung kann in einem Bereich von 1 km bis 100 km liegen. Beispielsweise kann die vorbestimmte Entfernung 10 km, 20 km, 30 km, 40 km oder 50 km betragen.
  • In Schritt 4508 bestimmt der mindestens eine E-Horizont-Prozessor (z.B. der E-Horizont-Prozessor 4210) einen aktualisierten Kartenursprung und sendet in Reaktion auf ein erkanntes Kartenursprungsänderungsereignis eine Benachrichtigung an den einen oder die mehreren Navigationssystemprozessoren, die eine Änderung vom anfänglichen Kartenursprung zum aktualisierten Kartenursprung anzeigt. Beispielsweise kann der mindestens eine E-Horizont-Prozessor so programmiert sein, dass er eine Benachrichtigung (z.B. ein Navigationsinformationspaket) mit einem ReferenzpunktÄnderungsereignis-Objekt an den einen oder die mehreren Navigationssystemprozessoren sendet, das anzeigt, dass Kartenkoordinaten geändert wurden.
  • In einigen Ausführungsformen kann die an den einen oder die mehreren Navigationssystemprozessoren gesendete Benachrichtigung, die eine Änderung vom anfänglichen Kartenursprung zum aktualisierten Kartenursprung anzeigt, ein aktualisiertes Navigationsinformationspaket enthalten, das Aktualisierungen der Informationen enthält, die mit kartierten Merkmalen verbunden sind, die im bestimmten elektronischen Horizont enthalten sind. Die Aktualisierungen der Informationen können mit der Änderung vom anfänglichen Kartenursprung zum aktualisierten Kartenursprung verbunden sein. In einigen Ausführungsformen können die Aktualisierungen der Informationen, die mit kartierten Merkmalen verbunden sind, die in dem bestimmten elektronischen Horizont enthalten sind, Transformationen beinhalten, die mit einer Änderung eines Kartenursprungs vom anfänglichen Kartenursprung zum aktualisierten Kartenursprung verbunden sind.
  • In einigen Ausführungsformen kann der mindestens eine E-Horizont-Prozessor ein aktualisiertes Navigationsinformationspaket erzeugen, nachdem eine Änderung in einer Gruppe kartierter Merkmale erkannt wurde, die durch den bestimmten elektronischen Horizont für das Host-Fahrzeug impliziert wird. Zum Beispiel kann der mindestens eine E-Horizont-Prozessor ein aktualisiertes Navigationsinformationspaket erzeugen, das Aktualisierungen der Informationen enthält, die mit kartierten Merkmalen verbunden sind, die in dem bestimmten elektronischen Horizont in dem neuen Kartenkoordinatensystem enthalten sind. Der mindestens eine E-Horizont-Prozessor kann das aktualisierte Navigationsinformationspaket zudem an den einen oder die mehreren Navigationssystemprozessoren übertragen.
  • In einigen Ausführungsformen können die Navigationssystemprozessoren nach dem Empfangen der Benachrichtigung, die eine Änderung des Kartenursprungspunkts anzeigt, die zwischengespeicherten E-Horizont-Daten flashen. Beispielsweise können der eine oder die mehreren Navigationssystemprozessoren die Daten des einen oder der mehreren in einem elektronischen Horizont enthaltenen Objekte, die aus einem oder mehreren früheren Navigationsinformationspaketen empfangen wurden, aus dem Puffer löschen.
  • Elektronischer Horizont: Navigation unter Verwendung von Punkten auf Splines
  • Die offenbarten Systeme und Verfahren können durch Crowdsourcing erhaltene Informationen nutzen, die von mehreren Fahrten gesammelt wurden, um Karten für Straßenabschnitte zu erstellen und/oder zu verfeinern. Die Karten können Trajektorien (z.B. dreidimensionale Splines) enthalten, die für Fahrzeuge (z.B. Host- oder Ziel-/erkannte Fahrzeuge) verfügbar sind, die auf einer einer Karte zugeordneten Fahrbahn fahren. Die Karten können zudem erkannte Objekte enthalten (z.B. Straßenschilder, Straßenkanten, Fahrspurmarkierungen, Bushaltestellen oder andere erkennbare Merkmale in Verbindung mit einer Fahrbahn, usw.) und können die erkannten Objekte in der Karte mit verfeinerten Standorten verknüpfen, die einem oder mehreren der erkannten Objekte zugeordnet sind. Die verfeinerten Positionen können auf Grundlage von durch Crowdsourcing erhaltenen Standortinformationen bestimmt werden, die während jeder einer Vielzahl von Einzelfahrten entlang eines Straßenabschnitts bestimmt wurden. Die erkannten Objekte und ihre Standorte aus der Karte können beim Navigieren eines autonomen oder teilautonomen Fahrzeugs verwendet werden (z.B. durch Unterstützung beim Bestimmen, wo sich ein Fahrzeug in Bezug auf eine Zieltrajektorie der Karte befindet).
  • Um eine durch Crowdsourcing erhaltene Karte zu erzeugen, können Fahrdaten von mehreren Fahrten entlang eines Straßenabschnitts gesammelt werden. Dies kann beispielsweise Sammeln von Fahrdaten von einem Fahrzeug, das zu verschiedenen Zeiten in einem Gebiet unterwegs ist, und/oder von mehreren verschiedenen Fahrzeugen, die in einem Gebiet unterwegs sind, umfassen. Die gesammelten Informationen können dann abgeglichen werden, um die Genauigkeit beim Füllen von Lücken in Fahrdatensätzen (z.B. durch Verdeckungen während einer bestimmten Fahrt usw.), beim Verfeinern von Objektstandorten, beim Verfeinern von Fahrzeugtrajektorien usw. zu erhöhen. Weitere Einzelheiten zu Karten und zur Erzeugung von Karten werden nachstehend beschrieben.
  • In einigen Fällen kann eine Karte (oder zumindest ein Teil einer Karte) einem Fahrzeug zur Navigation zur Verfügung gestellt werden, und in einigen Fällen können die Kartenmerkmale in einem Kartenkoordinatensystem in Bezug auf einen vorbestimmten Ursprung ausgedrückt werden. Beispielsweise kann das System, das die Karte erzeugt, einen bestimmten Ursprungspunkt in Bezug auf die Karte festlegen, und die Zieltrajektorien, erkannten Objekte, Straßenkanten usw. können in Bezug auf den für die Karte ausgewählten Ursprung referenziert werden. Folglich muss das Navigationssystem des Fahrzeugs in solchen Fällen, wenn ein Fahrzeug unter Verwendung der Karteninformationen navigiert, möglicherweise verschiedene Berechnungen in Bezug auf die kartierten Merkmale durchführen, um die kartierten Merkmale bei der Navigation des Fahrzeugs effektiv zu nutzen. Solche Berechnungen können unter anderem Abtasten einer Zieltrajektorie in Kartenkoordinaten beinhalten, um Punkte entlang der Zieltrajektorie zu bestimmen, an denen sich das Fahrzeug nach bestimmten Zeitintervallen (z.B. 1 Sekunde, 2 Sekunden, 5 Sekunden usw. ab einem aktuellen Zeitpunkt) voraussichtlich befinden wird. Das Fahrzeugnavigationssystem kann zudem ähnliche Punkte in Bezug auf Trajektorien berechnen, die erkannten Zielfahrzeugen zugeordnet sind, Abstände zu Fahrwegen berechnen, die benachbarten Fahrspuren zugeordnet sind, Abstände zu Haltepunkten, Ampeln, Zusammenführungs- oder Aufteilungspunkten berechnen usw. In vielen Fällen werden bei den Berechnungen, die das Navigationssystem des Host-Fahrzeugs durchführt, Aspekte der empfangenen Karteninformationen (die in einem Koordinatensystem in Bezug auf die Karte ausgedrückt sind) in lokale Koordinaten umgewandelt oder ausgedrückt, die sich auf ein dem jeweiligen Host-Fahrzeug zugeordnetes Koordinatensystem beziehen.
  • Solche Berechnungen an Bord eines Host-Fahrzeugs können zu gewissen Herausforderungen führen. In einigen Fällen können diese Kartenumwandlungsberechnungen zum Beispiel hochentwickelte Prozessoren in Verbindung mit einem Host-Fahrzeugnavigationssystem erfordern, was die Kosten und die Komplexität des Systems erhöhen kann. Die Berechnungen können erhebliche Rechenressourcen erfordern, die ansonsten für andere navigations- oder fahrzeugbezogene Aufgaben verwendet werden könnten, und es kann schwierig sein, die Berechnungen mit einer für die Echtzeitnavigation geeigneten Geschwindigkeit durchzuführen (z.B. vollständige Sätze von Punktberechnungen in Bezug auf mehrere Straßenabschnittsmerkmale mehrmals pro Sekunde). Außerdem kann es die Herstellung eines Fahrzeugnavigationssystems komplizierter machen, wenn jedes Host-Fahrzeug-Navigationssystem die erforderlichen Kartenberechnungen durchführen muss, um in Bezug auf eine Karte zu navigieren, und/oder es kann zu einer uneinheitlichen oder suboptimalen Nutzung von Karteninformationen bei der Navigation verschiedener Host-Fahrzeuge führen (insbesondere solcher, deren Navigationssysteme oder Systemkomponenten von unterschiedlichen Quellen entwickelt werden).
  • Daher besteht ein Bedarf an Navigationssystemen und/oder Kartenschnittstellen für Navigationssysteme, die die Belastung eines Navigationssystems eines Host-Fahrzeugs durch die Zuordnung bestimmter Kartenmerkmale, die in Kartenkoordinaten ausgedrückt werden, zu einem dem jeweiligen Host-Fahrzeug zugeordneten Ursprung verringern oder beseitigen können. Solche Systeme können beispielsweise bestimmte Kartenelemente von Kartenkoordinaten in Fahrzeugkoordinaten umwandeln (z.B. mit einem Ursprung, der sich auf der Position einer dem Host-Fahrzeug zugehörigen Kamera befindet). Solche Systeme können auch bestimmte Standardsätze von Punkten erzeugen, die in Fahrzeugkoordinaten in Bezug auf Kartenmerkmale ausgedrückt werden, die in Kartenkoordinaten gespeichert sind (z.B. Fahrwege entlang verfügbarer Fahrspuren auf einem Straßenabschnitt, Fahrspurmarkierungen, Straßenbegrenzungen usw.). Durch die automatische Erzeugung solcher Merkmale in einem Fahrzeugkoordinatensystem können die beschriebenen Systeme und Schnittstellen die Notwendigkeit für OEMs oder andere an der Entwicklung von Fahrzeugnavigationssystemen beteiligte Stellen verringern, hochentwickelte Systeme zu entwickeln, um kartierte Merkmale in Kartenkoordinaten zu analysieren und die erforderlichen Berechnungen und Umrechnungen vorzunehmen, um in Bezug auf diese Merkmale aus einer Fahrzeugkoordinatenperspektive zu navigieren.
  • Offenbarte Systeme und Verfahren können automatisch Kartenelemente in relativer Nähe des Fahrzeugs gemäß einem Fahrzeugkoordinatensystem bereitstellen. Die offenbarten Systeme und Verfahren können zudem verschiedene Arten von Standardpunktsätzen im Fahrzeugkoordinatensystem bereitstellen, die bei der Navigation eines Host-Fahrzeugs nützlich sein können. In einigen Fällen können die beschriebenen Systeme Daten in Bezug auf kartierte Straßenabschnitte in Form von 3D-Abtastpunkten über Splines, die Fahrwege, Fahrspurmarkierungen, Straßenkanten, Straßenbegrenzungen usw. darstellen, bereitstellen oder erzeugen. Solche erzeugten Daten können zudem Fahrspurzuweisungsinformationen in Bezug auf das Host-Fahrzeug, Fahrspuraufteilungs-/- zusammenführungspunkte, Haltepunkte an Kreuzungen usw. beinhalten. Dieses System und das zugehörige Protokoll können in den beigefügten Dokumenten als Localization for Control (Lokalisierung zur Steuerung) bezeichnet werden. In einigen Fällen kann das Protokoll für Lokalisierung zur Steuerung zwei oder mehr Hauptdatentypen ausgeben, beispielsweise 1) Straßenkanten, Fahrspurmarkierungen, Fahrwegspuren und ein Satz abgetasteter 3D-Punkte in Bezug auf kartierte Splines, die diese Straßenmerkmale darstellen, und 2) Fahrspurzuweisungsinformationen (z.B. Indikatoren für eine Ego-Spur, die dem Host-Fahrzeug zugeordnet ist, und eine oder zwei Fahrspuren rechts und/oder links von der Ego-Spur). Die Ausgabe des Systems kann so konfigurierbar sein, dass die Anzahl der auszugebenden Abtastpunkte variieren kann, die Anzahl der Fahrspuren, für die Zuweisungsinformationen bereitgestellt werden können, variieren kann, Abstände zwischen den Abtastpunkten variiert werden können usw. Solche Koordinatenpunkte, die sich auf ein Koordinatensystem eines Fahrzeugs beziehen, können dem Fahrzeug autonome Navigation ermöglichen. Beispielsweise kann das Navigationssystem des Fahrzeugs die Koordinatenpunkte für Steuerfunktionen wie Lenken, Bremsen und Beschleunigen verwenden.
  • In einigen Ausführungsformen kann das Protokoll zusätzliche Informationen in Form von vorhergesagten Punkten ausgeben, um die Steuerpunktdaten zu abstrahieren und zu korrelieren. Die verwendeten Werte können 3 Punkte auf dem Fahrweg des Fahrzeugs in vordefinierten Zeitverschiebungen umfassen. Die Genauigkeit dieser Werte kann im Bereich von 1 mm liegen. 46 veranschaulicht beispielhaft vorhergesagte Positionen P1, P2 und P3 eines Fahrzeugs zu Zeitpunkten t0, tl bzw. t2. In einigen Ausführungsformen sind t0, tl und t2 vordefinierte Zeitverschiebungen.
  • In einigen Ausführungsformen können die Punkte in einer Karte 3D-abgetastete Punkte der DP-, LM- und RE-Splines im Fahrzeugkoordinatensystem sein. Die Punkteausgabe kann auf einem vordefinierten Satz von Eigenschaften beruhen, die in der Entwicklungsphase konfigurierbar sein können. Ein Navigationsinformationspaket kann ein Steuerpunktobjekt enthalten. In der nachstehenden Tabelle 31 ist beispielhaft ein Steuerpunktobjekt dargestellt. Tabelle 31: Beschreibung Steuerpunkt-Objekt
    Steuerpunkt [] U-Wert [uint16]
    X [uint16]
    Y [uint16]
    Z [uint16]
    Spline-ID [uint32]
  • In einigen Ausführungsformen kann jeder Satz von Punkten mit zusätzlichen Daten ausgegeben werden, z.B. dem Spline-Typ [DP=0, LM=1, RE=2], der Anzahl gedruckter Punkte auf dem 15 Spline (innerhalb eines bestimmten Rahmens), einem Spline-Index - einer Fahrspurnummerierung in Bezug auf die Ego-Fahrspur. (Ego ist 0, somit sind die linken Fahrspuren -1, -2.... und die rechten Fahrspuren 1, 2, 3 usw.), ein boolesches Gegenverkehr-Flag, das eine Fahrtrichtung auf der Fahrspur angibt, usw.
  • Um lokale Koordinaten zu erzeugen, kann das Navigationssystem des Fahrzeugs aus 20 der Umgebung des Fahrzeugs gesammelte Informationen verarbeiten. Ein oder mehrere Sensoren, wie beispielsweise Kameras, Radar und LIDAR, können Informationen sammeln, während sich das Fahrzeug durch die Umgebung bewegt. Die gesammelten Informationen können die Position verschiedener erkannter Objekte in der Umgebung des Fahrzeugs enthalten, wie etwa Straßenschilder, Straßenkanten, Fahrspurmarkierungen, Bushaltestellen oder andere erkennbare Merkmale, die mit einer Fahrbahn
    25 verbunden sind, usw. Das Navigationssystem des Fahrzeugs kann dann die gesammelten Informationen analysieren und die Informationen im Vergleich mit kartierten Informationen verwenden (z.B. Darstellungen von kartierten Merkmalen in einer Karte, ausgedrückt in Kartenkoordinaten) und kann Koordinaten für die erkannten Objekte bestimmen, die sich auf ein Koordinatensystem des Fahrzeugs beziehen, und/oder kann Sätze von 3D-Abtastpunkten relativ zu kartierten Merkmalen wie Fahrwegen 30 usw. bestimmen, wie vorstehend beschrieben. Solche Koordinatenpunkte können zum Beispiel in einem Fahrzeugkoordinatensystem ausgegeben werden, in dem eine Kamera an Bord des Fahrzeugs als Ursprung des Koordinatensystems bezeichnet wird. Das Format der Punkte kann daher als x-, y- und z-Werte in Bezug auf die Kameraposition des Host-Fahrzeugs ausgedrückt werden, die als Ursprung zum Ausdrücken von Straßenmerkmalen oder abgetasteten Punkten im Fahrzeugkoordinatensystem verwendet wird. Durch Verwenden eines Koordinatensystems, das während der Navigation des Fahrzeugs lokal ist, und durch Erzeugen von Standardinformationen (z.B. 3D-Abtastpunkte entlang Fahrwegen usw., die für die Navigation des Fahrzeugs nützlich sind) muss das Navigationssystem des Fahrzeugs außerhalb der Position für die Steuerungshardware/-schnittstelle möglicherweise weniger Navigationsberechnungen in Bezug auf kartierte Merkmale während der Navigation des Fahrzeugs durchführen, wodurch Rechenressourcen effizient verwaltet werden.
  • Wie bereits erwähnt, kann eine Karte Trajektorien wie Fahrwege, Straßenkanten, Fahrspurmarkierungen usw. enthalten, die durch dreidimensionale Splines in der Karte dargestellt werden können. Die Karte kann zudem Standortinformationen für bestimmte Objekte (z.B. Straßenschilder, Straßenkanten, Fahrspurmarkierungen, Bushaltestellen oder andere erkennbare Merkmale, die mit einer Fahrbahn verbunden sind, usw.) enthalten, die sich in einem Straßensystem befinden oder diesem zugeordnet sind. Die offenbarten Systeme und Verfahren können Punkte auf den Splines abtasten und diese Punkte auf eine Karte im Koordinatensystem des Fahrzeugs projizieren. Zu diesem Zweck können die vorgestellten Systeme und Verfahren eine Rotations-Translations-Matrix verwenden, um Punkte aus einem Kartenkoordinatensystem (z.B. Koordinaten in Bezug auf eine Karte) in ein Fahrzeugkoordinatensystem zu transformieren.
  • Zum Beispiel können x, y und z den Standort des Fahrzeugs auf der Karte darstellen. Eine Translation dieser Punkte kann zu Koordinaten in Bezug auf das Koordinatensystem des Fahrzeugs führen. Wenn ein Sensor an Bord des Fahrzeugs beispielsweise Fahrspurmarkierungen, Straßenkanten und/oder einen Fahrweg erkennt, können die offenbarten Systeme und Verfahren Punkte auf diesen Linien einfügen.
  • Darüber hinaus verwenden die offenbarten Systeme und Verfahren eine Längskomponente. Mit dieser Technik kann ein Spline abgetastet werden, um die vorstehend genannten x-, y- und z-Punkte zu erhalten. Beispielsweise kann ein Algorithmus verwendet werden, um einen Längsparameter zu bewerten und x-, y- und z-Punkte in Bezug auf den Spline bei einem bestimmten Längswert zu berechnen.
  • Damit das Fahrzeug beispielsweise auf Grundlage eines dreidimensionalen Splines in Bezug auf eine Karte navigieren kann, muss das Navigationssystem des Fahrzeugs möglicherweise verschiedene Berechnungen durchführen. Die offenbarten Systeme und Verfahren umfassen eine Kartenschnittstelle und ein Protokollsystem, das andere Navigationsrechensysteme (z.B. die von OEMs bereitgestellten usw.) davon entbindet, die Splines abtasten zu müssen, um abgetastete Punkte im Fahrzeugkoordinatensystem zu erzeugen, das während der Navigation verwendet wird, wobei es sich um einen aufwendigen Rechenprozess handelt, insbesondere unter den zeitlichen Einschränkungen des Fahrens und Navigierens in Echtzeit.
  • In einigen Ausführungsformen können die Punkte in Arrays strukturiert sein, wobei die Indizes angeben, was sie darstellen. In einigen Fällen kann ein Satz abgetasteter Punkte beispielsweise eine Straßenkante, eine Fahrspurmarkierung, einen Fahrweg usw. darstellen. In einigen Ausführungsformen kann jedes Array von Punkten mit einem anderen Straßenmerkmal verbunden sein. Zusätzlich oder alternativ kann das System eine Kennung des ursprünglichen Splines ausgeben, zu dem die Punkte gehören (was nützlich sein kann, um ein Client-Navigationssystem in die Lage zu versetzen, zwischen gelieferten Arrays von Punkten und kartierten Merkmalen in Kartenkoordinaten zu korrelieren, die gemäß dem E-Horizont-Protokoll geliefert werden). In einigen Fällen kann ein kamerabasiertes Navigationssystem Fahrspurmarkierungen, Straßenkanten usw. erkennen und mit einer Zieltrajektorie versehen werden, die den kartierten Fahrweg darstellt, der der Ego-Spur des Host-Fahrzeugs zugeordnet ist. Das offenbarte System kann die kartierten Informationen (z.B. Karten) verwenden, um Sätze von Punkten im Fahrzeugkoordinatensystem relativ zu diesen kartierten Merkmalen zu berechnen, die auch von dem kamerabasierten Navigationssystem erkannt werden. Diese Punkte können dann vom Navigationssystem verwendet werden, um den Weg des Host-Fahrzeugs so zu steuern, dass es der Zieltrajektorie folgt, die Spur wechselt, innerhalb der Straßenbegrenzungen bleibt usw.
  • Wie erörtert, können die offenbarten Systeme Abtastpunkte für verschiedene Straßenmerkmale ausgeben. Diese Arrays von Punkten können der Ego-Spur des Host-Fahrzeugs zugeordnet sein. Die Arrays von Punkten können jedoch auch Fahrspuren links oder rechts von der Fahrspur des Host-Fahrzeugs sowie Fahrspuren, die in entgegengesetzter Richtung zur Fahrspur des Host-Fahrzeugs verlaufen oder sich mit dieser kreuzen, zugeordnet sein. In solchen Fällen können die Arrays von Abtastpunkten für Fahrwege, Fahrspurmarkierungen usw., die mit anderen Fahrspuren verbunden sind, durch einen oder mehrere Indizes angegeben werden (z.B. +1 für eine Fahrspur rechts, +2 für zwei Fahrspuren rechts, -1 für eine Fahrspur links, -2 für zwei Fahrspuren links usw.). Jedes Array von Punkten kann einem anderen Straßenmerkmal zugeordnet sein. Solche Informationen können beim Navigieren des Host-Fahrzeugs durch ein Spurwechselmanöver nützlich sein, da das Host-Fahrzeug vor dem Spurwechselmanöver gegebenenfalls über Abtastpunkte für einen Fahrweg auf einer Zielspur verfügt. Diese Informationen können dem Host-Fahrzeug auch bei der Navigation in Bezug auf erkannte Zielfahrzeuge helfen, da die Host-Fahrzeugsysteme in der Lage sein können, auf Grundlage von kartierten und abgetasteten Fahrwegen für angrenzende oder kreuzende Fahrspuren einen Weg zu bestimmen oder vorherzusagen, den ein oder mehrere Zielfahrzeuge fahren werden. Die kartierten und abgetasteten Informationen können zudem nützlich sein, wenn das Host-Fahrzeug Informationen in Bezug auf eine Straßenunterteilung sammelt (z.B. automatisches Bestimmen und Melden einer Durchschnittsgeschwindigkeit, die innerhalb einer bestimmten Fahrspur vom Host-Fahrzeug, Zielfahrzeugen usw. gefahren wird).
  • Andere Arten von Punkten, die mit Straßenmerkmalen verbunden sind, können für die Fahrzeugnavigation wichtig sein. Solche Punkte können beispielsweise Fahrspuraufteilungs- oder - zusammenführungspunkte und/oder Fahrzeughaltepunkte an Ampeln oder Kreuzungen beinhalten (z.B. an jedem Punkt, an dem ein Fahrweg eine Haltelinie kreuzt), um nur einige zu nennen. In einigen Fällen können diese Punkte zwischen oder innerhalb der Abstände liegen, die mit abgetasteten Punkten entlang eines Straßenmerkmals-Spline verbunden sind. Daher können die beschriebenen Systeme so konfiguriert sein, dass sie neben den abgetasteten Punkten entlang eines oder mehrerer Splines, die in einer Karte gespeichert sind, auch diese Arten von Punkten ausgeben. Solche Punkte können bei der Navigation in Bezug auf Fahrbahnaufteilungen/-zusammenführungen oder Haltepunkte verwendet werden, auch wenn diese Punkte und/oder die zugehörigen Straßenmerkmale von einer Bordkamera erkannt werden können. An Zusammenführungs-/Aufteilungspunkten und/oder Haltepunkten können die offenbarten Systeme und Verfahren Punktstandorte mit einem hohen Maß an Genauigkeit (z.B. 1 cm Genauigkeit) bereitstellen, da diese Arten von Punkten durch Crowdsourcing bestimmt und kartiert wurden.
  • Die ausgegebenen Punkte des vorliegend beschriebenen Systems und der Systemschnittstelle können durch einen Benutzer konfigurierbar sein. So kann beispielsweise ein Abstand zwischen Punkten in Abhängigkeit von der Fahrzeuggeschwindigkeit gewählt oder gesteuert werden. Bei niedrigeren Geschwindigkeiten können die offenbarten Systeme und Verfahren einen geringeren Abstand zwischen den Abtastungen verwenden. Andererseits können die offenbarten Systeme und Verfahren bei höheren Geschwindigkeiten den Raum vergrößern, um zur Steuerung weiter die Straße entlang zu „sehen“. So kann das System beispielsweise bei höheren Geschwindigkeiten mehr Punkte liefern. Die abgetasteten Punkte können durch einen Client oder einen Benutzer auswählbar sein. Beispielsweise können die abgetasteten Punkte Standorten entlang eines Fahrwegs entsprechen, an denen sich das Host-Fahrzeug bei 1 Sekunde, 2 Sekunden, 3 Sekunden usw. befinden soll. Andere Abstände, wie 0,5 Sekunden, 1,5 Sekunden, 2,5 Sekunden oder andere regelmäßige oder unregelmäßige Abstände, können ebenfalls verwendet werden.
  • 47 ist ein Flussdiagramm, das einen beispielhaften Prozess zum Navigieren eines Fahrzeugs gemäß offenbarten Ausführungsformen zeigt. Ein oder mehrere Schritte des Prozesses 4700 können von einem Fahrzeug (z.B. dem Fahrzeug 2702), einer dem Host-Fahrzeug zugeordneten Einrichtung (z.B. der Fahrzeugeinrichtung 2703), mindestens einem Prozessor (z.B. einem E-Horizont-Prozessor) und/oder einem Server (z.B. dem Server 2701) durchgeführt werden. Während die nachstehenden Beschreibungen des Prozesses 4700 das Fahrzeug 2702 (oder eine oder mehrere Komponenten desselben) als Beispiel verwenden, versteht ein Fachmann, dass ein oder mehrere Schritte des Prozesses 4700 von einem Server und/oder einer Fahrzeugeinrichtung durchgeführt werden können. In einer Ausführungsform beinhaltet ein System zum Navigieren eines Fahrzeugs beispielsweise mindestens einen Prozessor (z.B. einen E-Horizont-Prozessor), der Schalttechnik und einen Speicher umfasst. Der Speicher enthält Anweisungen, die bei Ausführung durch die Schalttechnik den mindestens einen Prozessor veranlassen, einen oder mehrere Arbeitsschritte durchzuführen, wie beispielsweise alle vorliegend und/oder in Verbindung mit 47 diskutierten Arbeitsschritte. Als weiteres Beispiel enthält in einer anderen Ausführungsform ein nicht transientes computerlesbares Medium Anweisungen, die bei Ausführung durch mindestens einen Prozessor (z.B. einen E-Horizont-Prozessor) den mindestens einen Prozessor veranlassen können, einen oder mehrere Arbeitsschritte durchzuführen, wie beispielsweise einen der vorliegend und/oder in Verbindung mit 47 diskutierten Arbeitsschritte.
  • In Schritt 4701 greift mindestens ein E-Horizont-Prozessor (z.B. der E-Horizont-Prozessor 4210) auf eine Karte zu, die zumindest einen Straßenabschnitt darstellt, auf dem das Host-Fahrzeug fährt oder voraussichtlich fahren wird. Die Karte kann einen oder mehrere Splines beinhalten, die Straßenmerkmale in Verbindung mit dem Straßenabschnitt darstellen. In einigen Ausführungsformen kann ein Spline mindestens eines von einem oder mehreren der folgenden Elemente darstellen: einen Fahrweg für das Host-Fahrzeug, eine Straßenkante oder eine Fahrspurmarkierung. Beispielsweise können der eine oder die mehreren Splines eine Darstellung des Fahrwegs für das Host-Fahrzeug beinhalten, und der Fahrweg für das Host-Fahrzeug kann einer Ego-Spur des Straßenabschnitts zugeordnet sein, auf der sich das Host-Fahrzeug befindet. Alternativ oder zusätzlich können der eine oder die mehreren Splines eine Darstellung eines oder mehrerer möglicher Fahrwege für das Host-Fahrzeug beinhalten und der eine oder die mehreren möglichen Fahrwege können Fahrspuren des Straßenabschnitts zugeordnet sein, die sich von einer Ego-Spur des Straßenabschnitts unterscheiden, auf der sich das Host-Fahrzeug befindet. Alternativ oder zusätzlich können der eine oder die mehreren Splines eine Darstellung einer Straßenkante enthalten, die dem Straßenabschnitt zugeordnet ist. Alternativ oder zusätzlich können der eine oder die mehreren Splines eine Darstellung einer Fahrspurmarkierung enthalten, die dem Straßenabschnitt zugeordnet ist.
  • In einigen Ausführungsformen kann der Schritt 4701 dem vorstehend beschriebenen Schritt 4301 des Prozesses 4300 ähnlich sein. Zum Beispiel kann der mindestens eine E-Horizont-Prozessor so programmiert sein, dass er eine Karte von der Speichereinrichtung 4240 und/oder dem Speicher 4230 empfängt. Alternativ oder zusätzlich kann der mindestens eine E-Horizont-Prozessor die Kartendaten von einem Server (z.B. dem Server 2701) und/oder einer Datenbank (z.B. der Datenbank 2704), die sich in Bezug auf das Fahrzeug 2702 entfernt befinden können, über das Netzwerk 2705 empfangen. In einigen Ausführungsformen kann die Karte, auf die der mindestens eine E-Horizont-Prozessor zugreift, einen Teilabschnitt einer größeren Karte darstellen, die auf einem Kartenserver (z.B. dem Server 2701) verfügbar ist, der sich in Bezug auf das Host-Fahrzeug entfernt befindet.
  • In einigen Ausführungsformen kann die aufgerufene Karte eine Vielzahl von dreidimensionalen Splines enthalten, die einem oder mehreren Straßenabschnitten zugeordnet sind, und die dreidimensionalen Splines können eines oder mehrere der Folgenden darstellen: einen Fahrweg für das Host-Fahrzeug, eine Straßenkante oder eine Fahrspurmarkierung.
  • In einigen Ausführungsformen wird die aufgerufene Karte auf Grundlage von durch Crowdsourcing erhaltenen Fahrinformationen erzeugt, die von einer Vielzahl von Fahrzeugen gesammelt wurden, die den Straßenabschnitt, auf dem das Host-Fahrzeug fährt oder voraussichtlich fahren wird, vor dem Host-Fahrzeug durchfahren haben (wie vorliegend an anderer Stelle beschrieben).
  • In einigen Ausführungsformen kann die aufgerufene Karte eine Vielzahl von dreidimensionalen Punktpositionen enthalten, die in einem Kartenkoordinatensystem angegeben sind, das der aufgerufenen Karte zugeordnet ist (z.B. ein geografisches Koordinatensystem wie ein GPS-Koordinatensystem). Eines oder mehrere der im Nutzdatenteil des Navigationspakets enthaltenen Objekte können eine dreidimensionale Punktposition enthalten, die in einem dem Host-Fahrzeug zugeordneten Koordinatensystem (z.B. einem lokalen Koordinatensystem des Host-Fahrzeugs) angegeben ist. Beispielsweise kann das dem Host-Fahrzeug zugeordnete Koordinatensystem die Position einer der einen oder der mehreren Kameras des Host-Fahrzeugs (oder den Mittelpunkt des Host-Fahrzeugs) als Ursprung des Koordinatensystems aufweisen.
  • In Schritt 4702 empfängt der mindestens eine E-Horizont-Prozessor (z.B. der E-Horizont-Prozessor 4210) eine Ausgabe, die von mindestens einem Fahrzeugsensor bereitgestellt wird. In einigen Ausführungsformen kann der Schritt 4702 dem vorstehend beschriebenen Schritt 4302 des Prozesses 4300 ähnlich sein. Beispielsweise kann der mindestens eine Fahrzeugsensor eine oder mehrere Kameras beinhalten, die so konfiguriert sind, dass sie Bilder von einer Umgebung des Host-Fahrzeugs aufnehmen. Beispielsweise kann das Fahrzeug 2702 eine oder mehrere Kameras enthalten, die der vorstehend beschriebenen Bildaufnahmeeinrichtung 122, der Bildaufnahmeeinrichtung 124 und der Bildaufnahmeeinrichtung 126 ähneln und so konfiguriert sein können, dass sie Bilder einer Umgebung des Host-Fahrzeugs aufnehmen. Die empfangene Ausgabe kann mindestens ein Bild enthalten, das von der einen oder den mehreren Kameras aufgenommen wurde.
  • In einigen Ausführungsformen kann der mindestens eine Fahrzeugsensor zudem andere Arten von Sensoren beinhalten, z.B. einen Geschwindigkeitssensor, einen Beschleunigungssensor, einen GPS-Empfänger, einen Radarsensor, einen LIDAR-Sensor oder dergleichen oder eine Kombination aus diesen.
  • In Schritt 4703 lokalisiert der mindestens eine E-Horizont-Prozessor (z.B. der E-Horizont-Prozessor 4210) das Host-Fahrzeug in Bezug auf die Karte oder ein Merkmal derselben (z.B. einen Fahrweg) für das Host-Fahrzeug, die unter den einen oder mehreren Splines dargestellt sind. Die Lokalisierung kann auf einer Analyse des mindestens einen Bilds beruhen, das von der einen oder den mehreren Kameras aufgenommen wurde. In einigen Ausführungsformen kann der Schritt 4703 dem vorstehend beschriebenen Schritt 4303 des Prozesses 4300 und/oder dem Schritt 4403 des Prozesses 4400 ähnlich sein. Zum Beispiel kann der mindestens eine E-Horizont-Prozessor das Host-Fahrzeug auf Grundlage einer Analyse des mindestens einen Bildes, das von der einen oder den mehreren Kameras aufgenommen wurde, in Bezug auf einen Fahrweg lokalisieren. Beispielsweise kann der mindestens eine E-Horizont-Prozessor eine Position des Host-Fahrzeugs in Bezug auf einen kartierten Fahrweg auf Grundlage einer Identifikation eines oder mehrerer kartierter Bezugspunkte, die in dem mindestens einen aufgenommenen Bild dargestellt sind, und eines Vergleichs einer Bildposition des einen oder der mehreren kartierten Bezugspunkte in dem mindestens einen aufgenommenen Bild mit einer erwarteten Bildposition des einen oder der mehreren kartierten Bezugspunkte, die mindestens einer Position entlang des Fahrwegs zugeordnet ist, bestimmen. Alternativ oder zusätzlich kann die Lokalisierung des Host-Fahrzeugs in Bezug auf das mindestens eine kartierte Merkmal Bestimmen einer Position des Host-Fahrzeugs in Bezug auf einen kartierten Fahrweg auf Grundlage einer Identifikation eines oder mehrerer kartierter Bezugspunkte, die in zwei oder mehr aufgenommenen Bildern dargestellt sind, und auf Grundlage einer Bewegungshistorie des Host-Fahrzeugs während eines Zeitraums zwischen der Erfassung der zwei oder mehr aufgenommenen Bilder beinhalten.
  • In Schritt 4704 bestimmt der mindestens eine E-Horizont-Prozessor (z.B. der E-Horizont-Prozessor 4210) einen Satz von Punkten, die dem einen oder den mehreren Splines zugeordnet sind, auf Grundlage der Lokalisierung des Host-Fahrzeugs in Bezug auf den Fahrweg für das Host-Fahrzeug. Zum Beispiel kann der mindestens eine E-Horizont-Prozessor so programmiert sein, dass er einen Satz von Punkten bestimmt, der einen oder mehrere vorhergesagte Standorte des Host-Fahrzeugs in Bezug auf den Fahrweg für das Host-Fahrzeug enthält (z.B. die vorhergesagten Standorte P 1, P2 und P3 des Host-Fahrzeugs, die in 46 veranschaulicht sind). Alternativ oder zusätzlich können der eine oder die mehreren vorhergesagten Standorte des Host-Fahrzeugs vorbestimmten zukünftigen Zeitintervallen (z.B. alle 0,5 Sekunden, 1 Sekunde, 2 Sekunden, 5 Sekunden, 10 Sekunden, 30 Sekunden, 1 Minute, 5 Minuten usw.) zugeordnet werden. In einigen Ausführungsformen können der eine oder die mehreren vorhergesagten Standorte des Host-Fahrzeugs auf Grundlage einer aktuellen Geschwindigkeit des Host-Fahrzeugs bestimmt werden. Alternativ oder zusätzlich können der eine oder die mehreren vorhergesagten Standorte des Host-Fahrzeugs auf Grundlage eines geplanten Geschwindigkeitsprofils des Host-Fahrzeugs (z.B. der Durchschnittsgeschwindigkeit und/oder des Tempolimits an diesem Punkt (der Längsposition) auf einem Fahrweg) bestimmt werden.
  • In einigen Ausführungsformen kann der Satz von Punkten eine Punktposition beinhalten, die einem Schnittpunkt des Fahrwegs für das Host-Fahrzeug mit einer Haltelinie zugeordnet ist, die in der aufgerufenen Karte dargestellt ist. Alternativ oder zusätzlich kann der bestimmte Satz von Punkten eine Punktposition enthalten, die einem Fahrspuraufteilungsmerkmal des Straßenabschnitts zugeordnet ist.
  • Alternativ oder zusätzlich kann der bestimmte Satz von Punkten eine Punktposition enthalten, die einem Fahrspurzusammenführungsmerkmal des Straßenabschnitts zugeordnet ist.
  • Alternativ oder zusätzlich kann der Satz von Punkten eine Punktposition beinhalten, die einem Schnittpunkt eines möglichen Fahrwegs für das Host-Fahrzeug auf einer Spur, die sich von einer Ego-Spur unterscheidet, auf der sich das Host-Fahrzeug befindet, mit einer Haltelinie zugeordnet ist, die in der aufgerufenen Karte dargestellt ist. Alternativ oder zusätzlich kann der bestimmte Satz von Punkten dreidimensionale Punkte umfassen, die sich auf ein Koordinatensystem in Bezug auf das Host-Fahrzeug beziehen. Der bestimmte Satz von Punkten kann zum Beispiel dreidimensionale Punkte enthalten, die sich auf ein Koordinatensystem beziehen, dessen Ursprung einer der einen oder der mehreren Kameras zugeordnet ist.
  • In Schritt 4705 erzeugt der mindestens eine E-Horizont-Prozessor (z.B. der E-Horizont-Prozessor 4210) ein Navigationsinformationspaket. Das erzeugte Navigationsinformationspaket kann Informationen beinhalten, die mit dem einen oder den mehreren Splines und dem bestimmten Satz von Punkten in Bezug auf den einen oder die mehreren Splines verbunden sind. In einigen Ausführungsformen kann ein Navigationsinformationspaket andere Arten von Informationen enthalten, die in dieser Offenbarung beschrieben sind. Ein Navigationsinformationspaket kann beispielsweise einen Kopfteil und einen Nutzdatenteil beinhalten. Der Kopfteil kann angeben, welche Informationen im Nutzdatenteil enthalten sind. Der Nutzdatenteil kann Informationen in Bezug auf ein oder mehrere Objekte enthalten, die mit dem oder den Straßenabschnitten verbunden sind. In einigen Ausführungsformen kann der Nutzdatenteil eine variable Größe aufweisen. In einigen Ausführungsformen kann der Kopfteil des Navigationsinformationspakets Informationen zur Identifizierung von Objekten, die in dem Nutzdatenteil enthalten sind, eine Größe jedes der Objekte, die in dem Nutzdatenteil enthalten sind, eine Angabe einer Anzahl der Objekte, die in dem Nutzdatenteil enthalten sind, oder dergleichen oder eine Kombination aus diesen enthalten. Die vorstehend erwähnten Tabellen 5 und 6 veranschaulichen beispielhaft verschiedene Arten von Informationen, die in einem Kopfteil enthalten sein können und deren detaillierte Beschreibungen hier der Kürze halber nicht wiederholt werden. Der Nutzdatenteil kann ein oder mehrere Objekte enthalten, die dem oder den Straßenabschnitten zugeordnet sind, die im bestimmten elektronischen Horizont enthalten sind. Die in dem Nutzdatenteil mit variabler Größe enthaltenen Objekte können eines oder mehrere der Folgenden beinhalten: ein Spline-Objekt, ein Fahrwegprofil-Objekt, ein Fahrspurmarkierungsänderungspunkt-Objekt, ein Straßenkantenänderungspunkt-Objekt, ein Zeichenbezugspunkt-Objekt, ein Mastenbezugspunkt-Objekt, ein Fahrspurtopologie-Objekt, ein Fahrweggrenzen-Objekt, ein Fahrspurzusammenführungspunkt-Objekt, ein Fahrspuraufteilungspunkt-Objekt oder ein Referenzpunktänderungsereignis-Objekt. In einigen Ausführungsformen können ein oder mehrere Objekte, die im Nutzdatenteil enthalten sind, von dem mindestens einen E-Horizont-Prozessor (z.B. dem E-Horizont-Prozessor 4210) auf Grundlage des bestimmten elektronischen Horizonts erzeugt werden. Beispielsweise können ein oder mehrere Objekte, die im Nutzdatenteil enthalten sind, von dem mindestens einen E-Horizont-Prozessor (z.B. dem E-Horizont-Prozessor 4210) auf Grundlage von Merkmalen erzeugt werden, die mit der aufgerufenen Karte verbunden sind und die innerhalb des bestimmten elektronischen Horizonts enthalten sind.
  • In einigen Ausführungsformen kann das Navigationsinformationspaket den einen oder die mehreren Splines mit Fahrspuren korrelieren, die dem Straßenabschnitt zugeordnet sind. Das Navigationsinformationspaket kann zum Beispiel eine Ego-Fahrspur identifizieren, auf der sich das Host-Fahrzeug befindet. In einigen Ausführungsformen kann das Navigationsinformationspaket eine oder mehrere zusätzliche Fahrspuren in Bezug auf die Ego-Spur indizieren (z.B. die in 38 dargestellten Indizes und/oder Subindizes, wie vorstehend beschrieben). In einigen Ausführungsformen kann das Navigationsinformationspaket einen booleschen Wert beinhalten, der mindestens einer Fahrspur zugeordnet ist, und der boolesche Wert kann anzeigen, ob eine Fahrtrichtung, die der mindestens einen Fahrspur zugeordnet ist, in derselben Richtung verläuft wie eine Fahrtrichtung, die der Ego-Spur zugeordnet ist.
  • In Schritt 4706 gibt der mindestens eine E-Horizont-Prozessor (z.B. der E-Horizont-Prozessor 4210) das erzeugte Navigationsinformationspaket an einen oder mehrere Navigationssystemprozessoren aus, die so konfiguriert sind, dass sie das Host-Fahrzeug veranlassen, auf Grundlage der im Navigationsinformationspaket enthaltenen Informationen mindestens ein Navigationsmanöver auszuführen. In einigen Ausführungsformen kann der Schritt 4706 dem vorstehend beschriebenen Schritt 4306 des Prozesses 4300 ähnlich sein. Beispielsweise können ein oder mehrere Navigationssystemprozessoren so konfiguriert sein, dass sie das Navigationssystem 4280 veranlassen, auf Grundlage der im Navigationsinformationspaket enthaltenen Informationen (z.B. ein Fahrweg entlang eines Straßenabschnitts) mindestens ein Navigationsmanöver durchzuführen. Das mindestens eine Navigationsmanöver kann eines oder mehrere der Folgenden beinhalten: Aufrechterhalten einer aktuellen Geschwindigkeit des Host-Fahrzeugs; Aufrechterhalten einer aktuellen Kursrichtung des Host-Fahrzeugs; Ändern einer Kursrichtung des Host-Fahrzeugs; Ändern einer Geschwindigkeit des Host-Fahrzeugs; Beschleunigen des Host-Fahrzeugs; oder Abbremsen des Host-Fahrzeugs.
  • Die vorstehende Beschreibung dient nur der Veranschaulichung. Sie erhebt keinen Anspruch auf Vollständigkeit und ist nicht auf die genauen Formen oder Ausführungsformen beschränkt, die offenbart werden. Modifikationen und Anpassungen sind für den Fachmann aus der Betrachtung der Beschreibung und der Umsetzung der offenbarten Ausführungsformen ersichtlich. Auch wenn Aspekte der offenbarten Ausführungsformen als im Speicher gespeichert beschrieben werden, wird ein Fachmann erkennen, dass diese Aspekte auch auf anderen Arten von computerlesbaren Medien gespeichert werden können, wie beispielsweise auf sekundären Speichereinrichtungen, beispielsweise Festplatten oder CD-ROM, oder anderen Formen von RAM oder ROM, USB-Medien, DVD, Blu-ray, 4K Ultra HD Blu-ray oder anderen optischen Laufwerken.
  • Computerprogramme, die auf der schriftlichen Beschreibung und den offenbarten Verfahren basieren, können von einem erfahrenen Entwickler ohne Weiteres erstellt werden. Die verschiedenen Programme oder Programmmodule können mit allen bekannten Methoden erstellt werden oder in Verbindung mit bereits vorhandener Software entwickelt werden. Beispielsweise können Programmteile oder -module in oder mithilfe von .Net Framework, .Net Compact Framework (und verwandten Sprachen wie Visual Basic, C usw.), Java, C++, Objective-C, HTML, HTML/AJAX-Kombinationen, XML oder HTML mit enthaltenen Java-Applets konzipiert werden.
  • Darüber hinaus sind vorliegend zwar veranschaulichende Ausführungsformen beschrieben worden, aber der Umfang aller Ausführungsformen mit gleichwertigen Elementen, Modifikationen, Auslassungen, Kombinationen (z.B. von Aspekten verschiedener Ausführungsformen), Anpassungen und/oder Änderungen, die für einen Fachmann auf Grundlage der vorliegenden Offenbarung ersichtlich sind, ist ebenfalls umfasst. Die Einschränkungen in den Ansprüchen sind auf Grundlage der in den Ansprüchen verwendeten Sprache weit auszulegen und nicht auf die in der vorliegenden Beschreibung oder während der Weiterverfolgung der Anmeldung beschriebenen Beispiele beschränkt. Die Beispiele sind als nicht abschließend zu verstehen. Darüber hinaus können die Schritte der offenbarten Verfahren in beliebiger Weise modifiziert werden, u.a. durch Umordnen von Schritten und/oder Einfügen oder Streichen von Schritten. Es ist daher beabsichtigt, dass die Beschreibung und die Beispiele nur zur Veranschaulichung dienen, wobei der wahre Umfang und Grundgedanke durch die folgenden Ansprüche und ihren vollen Umfang an Äquivalenten angegeben wird.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 63/001733 [0001]
    • US 63/152925 [0001]

Claims (119)

  1. System zum Navigieren eines Host-Fahrzeugs, wobei das System Folgendes umfasst: mindestens einen E- (elektronischer) Horizont-Prozessor, der Schalttechnik und einen Speicher umfasst, wobei der Speicher Anweisungen enthält, die bei Ausführung durch die Schalttechnik den mindestens einen E-Horizont-Prozessor zu Folgendem veranlassen: auf eine Karte zuzugreifen, die zumindest einen Straßenabschnitt darstellt, auf dem das Host-Fahrzeug fährt oder voraussichtlich fahren wird; eine von mindestens einem Fahrzeugsensor bereitgestellte Ausgabe zu empfangen, wobei der mindestens eine Fahrzeugsensor eine oder mehrere Kameras beinhaltet, die so konfiguriert sind, dass sie Bilder einer Umgebung des Host-Fahrzeugs aufnehmen, und wobei die empfangene Ausgabe mindestens ein Bild beinhaltet, das von der einen oder den mehreren Kameras aufgenommen wurde; das Host-Fahrzeug auf Grundlage einer Analyse des mindestens einen Bildes, das von der einen oder den mehreren Kameras aufgenommen wurde, in Bezug auf die Karte zu lokalisieren; auf Grundlage der Lokalisierung des Host-Fahrzeugs in Bezug auf die Karte einen elektronischen Horizont für das Host-Fahrzeug zu bestimmen; ein Navigationsinformationspaket zu erzeugen, das Informationen in Verbindung mit dem bestimmten elektronischen Horizont beinhaltet, wobei das Navigationsinformationspaket einen Kopfteil und einen Nutzdatenteil mit variabler Größe beinhaltet und wobei der Kopfteil angibt, welche Informationen in dem Nutzdatenteil mit variabler Größe enthalten sind; und das erzeugte Navigationsinformationspaket an einen oder mehrere Navigationssystemprozessoren auszugeben, die so konfiguriert sind, dass sie das Host-Fahrzeug veranlassen, auf Grundlage der im Navigationsinformationspaket enthaltenen Informationen mindestens ein Navigationsmanöver auszuführen.
  2. System nach Anspruch 1, wobei der mindestens eine Fahrzeugsensor einen Geschwindigkeitssensor beinhaltet und wobei der elektronische Horizont zumindest teilweise auf Grundlage einer aktuellen Geschwindigkeit des Host-Fahrzeugs bestimmt wird, wie durch eine Ausgabe des Geschwindigkeitssensors angezeigt wird.
  3. System nach Anspruch 2, wobei der bestimmte elektronische Horizont mit einem Teil der Karte verbunden ist, der für das Host-Fahrzeug innerhalb eines vorbestimmten Zeitintervalls zugänglich ist.
  4. System nach Anspruch 3, wobei das vorbestimmte Intervall bis zu 1 Sekunde beträgt.
  5. System nach Anspruch 3, wobei das vorbestimmte Intervall bis zu 2 Sekunden beträgt.
  6. System nach Anspruch 3, wobei das vorbestimmte Intervall bis zu 5 Sekunden beträgt.
  7. System nach Anspruch 2, wobei der bestimmte elektronische Horizont mit einer vorbestimmten räumlichen Enveloppe um das Host-Fahrzeug herum verbunden ist.
  8. System nach Anspruch 1, wobei der Kopfteil des Navigationsinformationspakets Objekte identifiziert, die in dem Nutzdatenteil mit variabler Größe enthalten sind.
  9. System nach Anspruch 8, wobei der Kopfteil ferner eine Größe der Objekte identifiziert, die in dem Nutzdatenteil mit variabler Größe enthalten sind.
  10. System nach Anspruch 8, wobei die Identifikation der in dem Nutzdatenteil mit variabler Größe enthaltenen Objekte eine Angabe über eine Anzahl in dem Nutzdatenteil mit variabler Größe enthaltener Objekte beinhaltet.
  11. System nach Anspruch 8, wobei die in dem Nutzdatenteil mit variabler Größe enthaltenen Objekte durch den mindestens einen E-Horizont-Prozessor auf Grundlage des bestimmten elektronischen Horizonts erzeugt werden.
  12. System nach Anspruch 11, wobei die in dem Nutzdatenteil mit variabler Größe enthaltenen Objekte durch den mindestens einen E-Horizont-Prozessor auf Grundlage von mit der aufgerufenen Karte verbundenen Merkmalen erzeugt werden, die innerhalb des bestimmten elektronischen Horizonts enthalten sind.
  13. System nach Anspruch 8, wobei die in dem Nutzdatenteil mit variabler Größe enthaltenen Objekte eines oder mehrere der Folgenden umfassen: ein Spline-Objekt, ein Fahrwegprofil-Objekt, ein Fahrspurmarkierungsänderungspunkt-Objekt, ein Straßenkantenänderungspunkt-Objekt, ein Zeichenbezugspunkt-Objekt, ein Mastenbezugspunkt-Objekt, ein Fahrspurtopologie-Objekt, ein Fahrweggrenzen-Objekt, ein Fahrspurzusammenführungspunkt-Objekt, ein Fahrspuraufteilungspunkt-Objekt oder ein Referenzpunktänderungsereignis-Objekt.
  14. System nach Anspruch 1, wobei das mindestens eine Navigationsmanöver eines oder mehrere der Folgenden umfasst: Aufrechterhalten einer aktuellen Geschwindigkeit des Host-Fahrzeugs; Aufrechterhalten einer aktuellen Kursrichtung des Host-Fahrzeugs; Ändern einer Kursrichtung des Host-Fahrzeugs; Ändern einer Geschwindigkeit des Host-Fahrzeugs; Beschleunigen des Host-Fahrzeugs; oder Abbremsen des Host-Fahrzeugs.
  15. System nach Anspruch 14, wobei die aufgerufene Karte eine Vielzahl von dreidimensionalen Punktpositionen beinhaltet, die in einem der aufgerufenen Karte zugeordneten Kartenkoordinatensystem angegeben sind, und wobei eines oder mehrere der in dem Nutzdatenteil mit variabler Größe des Navigationspakets enthaltenen Objekte eine dreidimensionale Punktposition beinhalten, die in einem dem Host-Fahrzeug zugeordneten Koordinatensystem angegeben ist.
  16. System nach Anspruch 15, wobei sich ein Ursprung des dem Host-Fahrzeug zugeordneten Koordinatensystems mit einer Position einer der einen oder der mehreren Kameras überlappt.
  17. System nach Anspruch 1, wobei der mindestens eine Fahrzeugsensor einen Geschwindigkeitssensor beinhaltet.
  18. System nach Anspruch 1, wobei der mindestens eine Fahrzeugsensor einen GPS-Empfänger beinhaltet.
  19. System nach Anspruch 1, wobei die aufgerufene Karte eine Vielzahl dreidimensionaler Splines beinhaltet und wobei die dreidimensionalen Splines einen Fahrweg für das Host-Fahrzeug und/oder eine Straßenkante und/oder eine Fahrspurmarkierung darstellen.
  20. System nach Anspruch 1, wobei die aufgerufene Karte auf Grundlage von durch Crowdsourcing erhaltenen Fahrinformationen erzeugt wird, die von einer Vielzahl von Fahrzeugen gesammelt wurden, die den Straßenabschnitt, auf dem das Host-Fahrzeug fährt oder voraussichtlich fahren wird, vor dem Host-Fahrzeug durchfahren haben.
  21. System nach Anspruch 1, wobei die aufgerufene Karte durch den E-Horizont-Prozessor von einem Kartenserver empfangen wird, der sich in Bezug auf das Host-Fahrzeug entfernt befindet.
  22. System nach Anspruch 1, wobei die aufgerufene Karte einen Teilabschnitt einer größeren Karte darstellt, die auf einem in Bezug auf das Host-Fahrzeug entfernt befindlichen Kartenserver verfügbar ist.
  23. System nach Anspruch 1, wobei die Lokalisierung des Host-Fahrzeugs in Bezug auf die Karte Bestimmen einer Position des Host-Fahrzeugs in Bezug auf einen kartierten Fahrweg auf Grundlage einer Identifikation eines oder mehrerer kartierter Bezugspunkte, die in dem mindestens einen aufgenommenen Bild dargestellt sind, und eines Vergleichs einer Bildposition des einen oder der mehreren kartierten Bezugspunkte in dem mindestens einen aufgenommenen Bild mit einer erwarteten Bildposition des einen oder der mehreren kartierten Bezugspunkte, die mindestens einer Position entlang des Fahrwegs zugeordnet ist, beinhaltet.
  24. System nach Anspruch 23, wobei der kartierte Fahrweg in der Karte als dreidimensionaler Spline dargestellt wird.
  25. System nach Anspruch 1, wobei die Lokalisierung des Host-Fahrzeugs in Bezug auf die Karte Bestimmen einer Position des Host-Fahrzeugs in Bezug auf einen kartierten Fahrweg auf Grundlage einer Identifikation eines oder mehrerer kartierter Bezugspunkte, die in zwei oder mehr aufgenommenen Bildern dargestellt sind, und auf Grundlage einer Bewegungshistorie des Host-Fahrzeugs während eines Zeitraums zwischen der Erfassung der zwei oder mehr aufgenommenen Bilder beinhaltet.
  26. System nach Anspruch 1, wobei der mindestens eine E-Horizont-Prozessor so konfiguriert ist, dass er ein aktualisiertes Navigationsinformationspaket erzeugt, nachdem eine Änderung in einer Gruppe kartierter Merkmale erkannt wurde, die durch den bestimmten elektronischen Horizont für das Host-Fahrzeug impliziert wird.
  27. Nicht transientes computerlesbares Medium, das Anweisungen enthält, die bei Ausführung durch mindestens einen E-Horizont-Prozessor bewirken, dass der mindestens eine E-Horizont-Prozessor Arbeitsschritte durchführt, die Folgendes umfassen: Zugreifen auf eine Karte, die zumindest einen Straßenabschnitt darstellt, auf dem ein Host-Fahrzeug fährt oder voraussichtlich fahren wird; Empfangen einer von mindestens einem Fahrzeugsensor bereitgestellten Ausgabe, wobei der mindestens eine Fahrzeugsensor eine oder mehrere Kameras beinhaltet, die so konfiguriert sind, dass sie Bilder einer Umgebung des Host-Fahrzeugs aufnehmen, und wobei die empfangene Ausgabe mindestens ein Bild beinhaltet, das von der einen oder den mehreren Kameras aufgenommen wurde; Lokalisieren des Host-Fahrzeugs in Bezug auf die Karte auf Grundlage einer Analyse des mindestens einen Bildes, das von der einen oder den mehreren Kameras aufgenommen wurde; Bestimmen eines elektronischen Horizonts für das Host-Fahrzeug auf Grundlage der Lokalisierung des Host-Fahrzeugs in Bezug auf die Karte; Erzeugen eines Navigationsinformationspakets, das Informationen in Verbindung mit dem bestimmten elektronischen Horizont beinhaltet, wobei das Navigationsinformationspaket einen Kopfteil und einen Nutzdatenteil mit variabler Größe beinhaltet und wobei der Kopfteil angibt, welche Informationen in dem Nutzdatenteil mit variabler Größe enthalten sind; und Ausgeben des erzeugten Navigationsinformationspakets an einen oder mehrere Navigationssystemprozessoren, die so konfiguriert sind, dass sie das Host-Fahrzeug veranlassen, auf Grundlage der im Navigationsinformationspaket enthaltenen Informationen mindestens ein Navigationsmanöver auszuführen.
  28. System zum Navigieren eines Host-Fahrzeugs, wobei das System Folgendes umfasst: mindestens einen E-Horizont-Prozessor, der Schalttechnik und einen Speicher umfasst, wobei der Speicher Anweisungen enthält, die bei Ausführung durch die Schalttechnik den mindestens einen E-Horizont-Prozessor zu Folgendem veranlassen: auf eine Karte zuzugreifen, die eine Straße darstellt, auf der das Host-Fahrzeug fährt oder voraussichtlich fahren wird, wobei in der Karte die Straße als ein Zwischenknoten-Straßenabschnitt zwischen zwei kartierten Knoten dargestellt ist und wobei in der Karte der Zwischenknoten-Straßenabschnitt ferner in eine Vielzahl von Zwischenknoten-Straßenteilabschnitten unterteilt ist; eine von mindestens einem Fahrzeugsensor bereitgestellte Ausgabe zu empfangen, wobei der mindestens eine Fahrzeugsensor eine oder mehrere Kameras beinhaltet, die so konfiguriert sind, dass sie Bilder einer Umgebung des Host-Fahrzeugs aufnehmen, und wobei die empfangene Ausgabe mindestens ein Bild beinhaltet, das von der einen oder den mehreren Kameras aufgenommen wurde; das Host-Fahrzeug in Bezug auf mindestens ein kartiertes Merkmal auf Grundlage einer Analyse des mindestens einen Bildes, das von der einen oder den mehreren Kameras aufgenommen wurde, zu lokalisieren; einen elektronischen Horizont für das Host-Fahrzeug auf Grundlage der Lokalisierung des Host-Fahrzeugs in Bezug auf das mindestens eine kartierte Merkmal zu bestimmen; einen Satz von Zwischenknoten-Straßenteilabschnitten zu bestimmen, die im elektronischen Horizont enthalten sind; ein oder mehrere Navigationsinformationspakete zu erzeugen, die Informationen in Verbindung mit dem Satz von Zwischenknoten-Straßenteilabschnitten enthalten, die in dem elektronischen Horizont enthalten sind; und das eine oder die mehreren erzeugten Navigationsinformationspakete an einen oder mehrere Navigationssystemprozessoren auszugeben, die so konfiguriert sind, dass sie das Host-Fahrzeug veranlassen, auf Grundlage der im Navigationsinformationspaket enthaltenen Informationen mindestens ein Navigationsmanöver auszuführen.
  29. System nach Anspruch 28, wobei für jeden der im elektronischen Horizont enthaltenen Zwischenknoten-Straßenteilabschnitte mindestens ein Navigationsinformationspaket erzeugt wird.
  30. System nach Anspruch 28, wobei jedes des einen oder der mehreren Navigationsinformationspakete einen Kopfteil und einen Nutzdatenteil mit variabler Größe beinhaltet und wobei der Kopfteil angibt, welche Informationen in dem Nutzdatenteil mit variabler Größe enthalten sind.
  31. System nach Anspruch 30, wobei der Kopfteil des Navigationsinformationspakets Objekte identifiziert, die in dem Nutzdatenteil mit variabler Größe enthalten sind.
  32. System nach Anspruch 31, wobei der Kopfteil ferner eine Größe der Objekte identifiziert, die in dem Nutzdatenteil mit variabler Größe enthalten sind.
  33. System nach Anspruch 31, wobei die Identifikation der in dem Nutzdatenteil mit variabler Größe enthaltenen Objekte eine Angabe über eine Anzahl in dem Nutzdatenteil mit variabler Größe enthaltener Objekte beinhaltet.
  34. System nach Anspruch 31, wobei die in dem Nutzdatenteil mit variabler Größe enthaltenen Objekte durch den mindestens einen Prozessor auf Grundlage des bestimmten elektronischen Horizonts erzeugt werden.
  35. System nach Anspruch 34, wobei die in dem Nutzdatenteil mit variabler Größe enthaltenen Objekte durch den mindestens einen Prozessor auf Grundlage von mit der aufgerufenen Karte verbundenen Merkmalen erzeugt werden, die innerhalb des bestimmten elektronischen Horizonts enthalten sind.
  36. System nach Anspruch 31, wobei die in dem Nutzdatenteil mit variabler Größe enthaltenen Objekte eines oder mehrere der Folgenden umfassen: ein Spline-Objekt, ein Fahrwegprofil-Objekt, ein Fahrspurmarkierungsänderungspunkt-Objekt, ein Straßenkantenänderungspunkt-Objekt, ein Zeichenbezugspunkt-Objekt, ein Mastenbezugspunkt-Objekt, ein Fahrspurtopologie-Objekt, ein Fahrweggrenzen-Objekt, ein Fahrspurzusammenführungspunkt-Objekt, ein Fahrspuraufteilungspunkt-Objekt oder ein Referenzpunktänderungsereignis-Objekt.
  37. System nach Anspruch 28, wobei jeder der kartierten Knoten einem Kreisverkehr, einer Kreuzung, einer Fahrspuraufteilung oder einer Fahrspurzusammenführung entspricht, die in der Karte dargestellt sind.
  38. System nach Anspruch 28, wobei das mindestens eine kartierte Merkmal, in Bezug auf das das Host-Fahrzeug lokalisiert wird, einen Fahrweg für das Host-Fahrzeug beinhaltet, der in der Karte dargestellt ist.
  39. System nach Anspruch 38, wobei der Fahrweg in der Karte als dreidimensionaler Spline dargestellt wird.
  40. System nach Anspruch 28, wobei der Satz von Zwischenknoten-Straßenteilabschnitten zwei oder mehr Zwischenknoten-Straßenteilabschnitte beinhaltet.
  41. System nach Anspruch 28, wobei der Satz von Zwischenknoten-Straßenteilabschnitten nur einen Zwischenknoten-Straßenteilabschnitt beinhaltet.
  42. System nach Anspruch 28, wobei der Satz von Zwischenknoten-Straßenteilabschnitten, die in dem elektronischen Horizont enthalten sind, mindestens einen Zwischenknoten-Straßenteilabschnitt beinhaltet, der sich nur teilweise innerhalb einer dem elektronischen Horizont zugeordneten Enveloppe befindet.
  43. System nach Anspruch 28, wobei jeder der Vielzahl von Zwischenknoten-Straßenteilabschnitten in der Karte ein Teilstück des Zwischenknoten-Straßenabschnitts darstellt, das weniger als eine vorbestimmte maximale Länge aufweist.
  44. System nach Anspruch 28, wobei das eine oder die mehreren Navigationspakete ein Straßenteilabschnittlisten-Objekt beinhalten, das für die Zwischenknoten-Straßenteilabschnitte repräsentativ ist, die in dem bestimmten elektronischen Horizont enthalten sind.
  45. System nach Anspruch 44, wobei Änderungen in dem Straßenteilabschnittlisten-Objekt den einen oder die mehreren Navigationssystemprozessoren veranlassen, Informationen zu löschen, die mit Straßenteilabschnitten verbunden sind, die nicht mehr in einem empfangenen Straßenteilabschnittlisten-Objekt enthalten sind.
  46. System nach Anspruch 28, wobei der mindestens eine Fahrzeugsensor einen Geschwindigkeitssensor beinhaltet und wobei der elektronische Horizont zumindest teilweise auf Grundlage einer aktuellen Geschwindigkeit des Host-Fahrzeugs bestimmt wird, wie durch eine Ausgabe des Geschwindigkeitssensors angezeigt wird.
  47. System nach Anspruch 46, wobei der bestimmte elektronische Horizont mit einem Teil der Karte verbunden ist, der für das Host-Fahrzeug innerhalb eines vorbestimmten Zeitintervalls zugänglich ist.
  48. System nach Anspruch 47, wobei das vorbestimmte Intervall bis zu 1 Sekunde beträgt.
  49. System nach Anspruch 47, wobei das vorbestimmte Intervall bis zu 2 Sekunden beträgt.
  50. System nach Anspruch 47, wobei das vorbestimmte Intervall bis zu 5 Sekunden beträgt.
  51. System nach Anspruch 46, wobei der bestimmte elektronische Horizont mit einer vorbestimmten räumlichen Enveloppe um das Host-Fahrzeug herum verbunden ist.
  52. System nach Anspruch 28, wobei das mindestens eine Navigationsmanöver eines oder mehrere der Folgenden umfasst: Aufrechterhalten einer aktuellen Geschwindigkeit des Host-Fahrzeugs; Aufrechterhalten einer aktuellen Kursrichtung des Host-Fahrzeugs; Ändern einer Kursrichtung des Host-Fahrzeugs; Ändern einer Geschwindigkeit des Host-Fahrzeugs; Beschleunigen des Host-Fahrzeugs; oder Abbremsen des Host-Fahrzeugs.
  53. System nach Anspruch 28, wobei die aufgerufene Karte eine Vielzahl dreidimensionaler Splines beinhaltet, wobei die dreidimensionalen Splines einen Fahrweg für das Host-Fahrzeug und/oder eine Straßenkante und/oder eine Fahrspurmarkierung darstellen.
  54. System nach Anspruch 28, wobei die aufgerufene Karte auf Grundlage von durch Crowdsourcing erhaltenen Fahrinformationen erzeugt wird, die von einer Vielzahl von Fahrzeugen gesammelt wurden, die den Straßenabschnitt, auf dem das Host-Fahrzeug fährt oder voraussichtlich fahren wird, vor dem Host-Fahrzeug durchfahren haben.
  55. System nach Anspruch 28, wobei die aufgerufene Karte durch den mindestens einen E-Horizont-Prozessor von einem Kartenserver empfangen wird, der sich in Bezug auf das Host-Fahrzeug entfernt befindet.
  56. System nach Anspruch 28, wobei die aufgerufene Karte einen Teilabschnitt einer größeren Karte darstellt, die auf einem in Bezug auf das Host-Fahrzeug entfernt befindlichen Kartenserver verfügbar ist.
  57. System nach Anspruch 28, wobei die Lokalisierung des Host-Fahrzeugs in Bezug auf das mindestens eine kartierte Merkmal Bestimmen einer Position des Host-Fahrzeugs in Bezug auf einen kartierten Fahrweg auf Grundlage einer Identifikation eines oder mehrerer kartierter Bezugspunkte, die in dem mindestens einen aufgenommenen Bild dargestellt sind, und eines Vergleichs einer Bildposition des einen oder der mehreren kartierten Bezugspunkte in dem mindestens einen aufgenommenen Bild mit einer erwarteten Bildposition des einen oder der mehreren kartierten Bezugspunkte, die mindestens einer Position entlang des Fahrwegs zugeordnet ist, beinhaltet.
  58. System nach Anspruch 57, wobei der kartierte Fahrweg in der Karte als dreidimensionaler Spline dargestellt wird.
  59. System nach Anspruch 28, wobei die Lokalisierung des Host-Fahrzeugs in Bezug auf das mindestens eine kartierte Merkmal Bestimmen einer Position des Host-Fahrzeugs in Bezug auf einen kartierten Fahrweg auf Grundlage einer Identifikation eines oder mehrerer kartierter Bezugspunkte, die in zwei oder mehr aufgenommenen Bildern dargestellt sind, und auf Grundlage einer Bewegungshistorie des Host-Fahrzeugs während eines Zeitraums zwischen der Erfassung der zwei oder mehr aufgenommenen Bilder beinhaltet.
  60. Nicht transientes computerlesbares Medium, das Anweisungen enthält, die bei Ausführung durch mindestens einen E-Horizont-Prozessor bewirken, dass der mindestens eine E-Horizont-Prozessor Arbeitsschritte durchführt, die Folgendes umfassen: Zugreifen auf eine Karte, die eine Straße darstellt, auf der ein Host-Fahrzeug fährt oder voraussichtlich fahren wird, wobei in der Karte die Straße als ein Zwischenknoten-Straßenabschnitt zwischen zwei kartierten Knoten dargestellt ist und wobei in der Karte der Zwischenknoten-Straßenabschnitt ferner in eine Vielzahl von Zwischenknoten-Straßenteilabschnitten unterteilt ist; Empfangen einer von mindestens einem Fahrzeugsensor bereitgestellten Ausgabe, wobei der mindestens eine Fahrzeugsensor eine oder mehrere Kameras beinhaltet, die so konfiguriert sind, dass sie Bilder einer Umgebung des Host-Fahrzeugs aufnehmen, und wobei die empfangene Ausgabe mindestens ein Bild beinhaltet, das von der einen oder den mehreren Kameras aufgenommen wurde; Lokalisieren des Host-Fahrzeugs in Bezug auf mindestens ein kartiertes Merkmal auf Grundlage einer Analyse des mindestens einen Bildes, das von der einen oder den mehreren Kameras aufgenommen wurde; Bestimmen eines elektronischen Horizonts für das Host-Fahrzeug auf Grundlage der Lokalisierung des Host-Fahrzeugs in Bezug auf das mindestens eine kartierte Merkmal; Bestimmen eines Satzes von Zwischenknoten-Straßenteilabschnitten, die im elektronischen Horizont enthalten sind; Erzeugen eines oder mehrerer Navigationsinformationspakete, die Informationen in Verbindung mit dem Satz von Zwischenknoten-Straßenteilabschnitten enthalten, die in dem elektronischen Horizont enthalten sind; und Ausgeben des einen oder der mehreren erzeugten Navigationsinformationspakete an einen oder mehrere Navigationssystemprozessoren, die so konfiguriert sind, dass sie das Host-Fahrzeug veranlassen, auf Grundlage der im Navigationsinformationspaket enthaltenen Informationen mindestens ein Navigationsmanöver auszuführen.
  61. System zum Navigieren eines Host-Fahrzeugs, wobei das System Folgendes umfasst: mindestens einen E-Horizont-Prozessor, der Schalttechnik und einen Speicher umfasst, wobei der Speicher Anweisungen enthält, die bei Ausführung durch die Schalttechnik den mindestens einen E-Horizont-Prozessor zu Folgendem veranlassen: auf eine Karte zuzugreifen, die zumindest einen Straßenabschnitt darstellt, auf dem das Host-Fahrzeug fährt oder voraussichtlich fahren wird, wobei Punkte auf der Karte in Bezug auf einen anfänglichen Kartenursprung referenziert werden; eine von mindestens einem Fahrzeugsensor bereitgestellte Ausgabe zu empfangen, wobei der mindestens eine Fahrzeugsensor eine oder mehrere Kameras beinhaltet, die so konfiguriert sind, dass sie Bilder einer Umgebung des Host-Fahrzeugs aufnehmen, und wobei die empfangene Ausgabe mindestens ein Bild beinhaltet, das von der einen oder den mehreren Kameras aufgenommen wurde; das Host-Fahrzeug auf Grundlage einer Analyse des mindestens einen Bildes, das von der einen oder den mehreren Kameras aufgenommen wurde, in Bezug auf die Karte zu lokalisieren; auf Grundlage der Lokalisierung des Host-Fahrzeugs in Bezug auf die Karte einen elektronischen Horizont für das Host-Fahrzeug zu bestimmen; ein Navigationsinformationspaket zu erzeugen, das Informationen enthält, die mit kartierten Merkmalen verbunden sind, die in dem bestimmten elektronischen Horizont enthalten sind; das erzeugte Navigationsinformationspaket an einen oder mehrere Navigationssystemprozessoren auszugeben, die so konfiguriert sind, dass sie das Host-Fahrzeug veranlassen, auf Grundlage der im Navigationsinformationspaket enthaltenen Informationen mindestens ein Navigationsmanöver auszuführen; ein Kartenursprungsänderungsereignis zu erkennen; und in Reaktion auf ein erkanntes Kartenursprungsänderungsereignis einen aktualisierten Kartenursprung zu bestimmen und an den einen oder die mehreren Navigationssystemprozessoren eine Benachrichtigung zu senden, die eine Änderung vom ursprünglichen Kartenursprung zum aktualisierten Kartenursprung anzeigt.
  62. System nach Anspruch 61, wobei das Erkennen des Kartenursprungsänderungsereignisses Bestimmen beinhaltet, dass das Host-Fahrzeug mehr als eine vorbestimmte Entfernung von einem Punkt zurückgelegt hat, der durch den anfänglichen Kartenursprung dargestellt wird.
  63. System nach Anspruch 62, wobei die vorbestimmte Entfernung 10 km beträgt.
  64. System nach Anspruch 62, wobei die vorbestimmte Entfernung 20 km beträgt.
  65. System nach Anspruch 62, wobei die vorbestimmte Entfernung 30 km beträgt.
  66. System nach Anspruch 61, wobei die an den einen oder die mehreren Navigationssystemprozessoren gesendete Benachrichtigung, die eine Änderung vom anfänglichen Kartenursprung zum aktualisierten Kartenursprung anzeigt, ein aktualisiertes Navigationsinformationspaket beinhaltet, das Aktualisierungen der Informationen enthält, die mit kartierten Merkmalen verbunden sind, die in dem bestimmten elektronischen Horizont enthalten sind, und wobei die Aktualisierungen der Informationen mit der Änderung vom anfänglichen Kartenursprung zum aktualisierten Kartenursprung verbunden sind.
  67. System nach Anspruch 66, wobei die Aktualisierungen der Informationen, die mit kartierten Merkmalen verbunden sind, die in dem bestimmten elektronischen Horizont enthalten sind, Transformationen beinhalten, die mit einer Änderung eines Kartenursprungs vom ursprünglichen Kartenursprung zum aktualisierten Kartenursprung verbunden sind.
  68. System nach Anspruch 61, wobei der mindestens eine Fahrzeugsensor einen Geschwindigkeitssensor beinhaltet und wobei der elektronische Horizont zumindest teilweise auf Grundlage einer aktuellen Geschwindigkeit des Host-Fahrzeugs bestimmt wird, wie durch eine Ausgabe des Geschwindigkeitssensors angezeigt wird.
  69. System nach Anspruch 68, wobei der bestimmte elektronische Horizont mit einem Teil der Karte verbunden ist, der für das Host-Fahrzeug innerhalb eines vorbestimmten Zeitintervalls zugänglich ist.
  70. System nach Anspruch 69, wobei das vorbestimmte Intervall bis zu 1 Sekunde beträgt.
  71. System nach Anspruch 69, wobei das vorbestimmte Intervall bis zu 2 Sekunden beträgt.
  72. System nach Anspruch 69, wobei das vorbestimmte Intervall bis zu 5 Sekunden beträgt.
  73. System nach Anspruch 68, wobei der bestimmte elektronische Horizont mit einer vorbestimmten räumlichen Enveloppe um das Host-Fahrzeug herum verbunden ist.
  74. System nach Anspruch 61, wobei das Navigationsinformationspaket einen Kopfteil und einen Nutzdatenteil mit variabler Größe beinhaltet und wobei der Kopfteil angibt, welche Informationen in dem Nutzdatenteil mit variabler Größe enthalten sind.
  75. System nach Anspruch 74, wobei der Kopfteil des Navigationsinformationspakets Objekte identifiziert, die in dem Nutzdatenteil mit variabler Größe enthalten sind.
  76. System nach Anspruch 75, wobei der Kopfteil ferner eine Größe der Objekte identifiziert, die in dem Nutzdatenteil mit variabler Größe enthalten sind.
  77. System nach Anspruch 75, wobei die Identifikation der in dem Nutzdatenteil mit variabler Größe enthaltenen Objekte eine Angabe über eine Anzahl in dem Nutzdatenteil mit variabler Größe enthaltener Objekte beinhaltet.
  78. System nach Anspruch 75, wobei die in dem Nutzdatenteil mit variabler Größe enthaltenen Objekte durch den mindestens einen E-Horizont-Prozessor auf Grundlage des bestimmten elektronischen Horizonts erzeugt werden.
  79. System nach Anspruch 78, wobei die in dem Nutzdatenteil mit variabler Größe enthaltenen Objekte durch den mindestens einen E-Horizont-Prozessor auf Grundlage von mit der aufgerufenen Karte verbundenen Merkmalen erzeugt werden, die innerhalb des bestimmten elektronischen Horizonts enthalten sind.
  80. System nach Anspruch 75, wobei die in dem Nutzdatenteil mit variabler Größe enthaltenen Objekte eines oder mehrere der Folgenden umfassen: ein Spline-Objekt, ein Fahrwegprofil-Objekt, ein Fahrspurmarkierungsänderungspunkt-Objekt, ein Straßenkantenänderungspunkt-Objekt, ein Zeichenbezugspunkt-Objekt, ein Mastenbezugspunkt-Objekt, ein Fahrspurtopologie-Objekt, ein Fahrweggrenzen-Objekt, ein Fahrspurzusammenführungspunkt-Objekt, ein Fahrspuraufteilungspunkt-Objekt oder ein Referenzpunktänderungsereignis-Objekt.
  81. System nach Anspruch 61, wobei das mindestens eine Navigationsmanöver eines oder mehrere der Folgenden umfasst: Aufrechterhalten einer aktuellen Geschwindigkeit des Host-Fahrzeugs; Aufrechterhalten einer aktuellen Kursrichtung des Host-Fahrzeugs; Ändern einer Kursrichtung des Host-Fahrzeugs; Ändern einer Geschwindigkeit des Host-Fahrzeugs; Beschleunigen des Host-Fahrzeugs; oder Abbremsen des Host-Fahrzeugs.
  82. System nach Anspruch 61, wobei die aufgerufene Karte eine Vielzahl dreidimensionaler Splines beinhaltet, wobei die dreidimensionalen Splines einen Fahrweg für das Host-Fahrzeug und/oder eine Straßenkante und/oder eine Fahrspurmarkierung darstellen.
  83. System nach Anspruch 61, wobei die aufgerufene Karte auf Grundlage von durch Crowdsourcing erhaltenen Fahrinformationen erzeugt wird, die von einer Vielzahl von Fahrzeugen gesammelt wurden, die den Straßenabschnitt, auf dem das Host-Fahrzeug fährt oder voraussichtlich fahren wird, vor dem Host-Fahrzeug durchfahren haben.
  84. System nach Anspruch 61, wobei die aufgerufene Karte durch den mindestens einen E-Horizont-Prozessor von einem Kartenserver empfangen wird, der sich in Bezug auf das Host-Fahrzeug entfernt befindet.
  85. System nach Anspruch 61, wobei die aufgerufene Karte einen Teilabschnitt einer größeren Karte darstellt, die auf einem in Bezug auf das Host-Fahrzeug entfernt befindlichen Kartenserver verfügbar ist.
  86. System nach Anspruch 61, wobei die Lokalisierung des Host-Fahrzeugs in Bezug auf die Karte Bestimmen einer Position des Host-Fahrzeugs in Bezug auf einen kartierten Fahrweg auf Grundlage einer Identifikation eines oder mehrerer kartierter Bezugspunkte, die in dem mindestens einen aufgenommenen Bild dargestellt sind, und eines Vergleichs einer Bildposition des einen oder der mehreren kartierten Bezugspunkte in dem mindestens einen aufgenommenen Bild mit einer erwarteten Bildposition des einen oder der mehreren kartierten Bezugspunkte, die mindestens einer Position entlang des Fahrwegs zugeordnet ist, beinhaltet.
  87. System nach Anspruch 86, wobei der kartierte Fahrweg in der Karte als dreidimensionaler Spline dargestellt wird.
  88. System nach Anspruch 61, wobei die Lokalisierung des Host-Fahrzeugs in Bezug auf die Karte Bestimmen einer Position des Host-Fahrzeugs in Bezug auf einen kartierten Fahrweg auf Grundlage einer Identifikation eines oder mehrerer kartierter Bezugspunkte, die in zwei oder mehr aufgenommenen Bildern dargestellt sind, und auf Grundlage einer Bewegungshistorie des Host-Fahrzeugs während eines Zeitraums zwischen der Erfassung der zwei oder mehr aufgenommenen Bilder beinhaltet.
  89. System nach Anspruch 61, wobei der Speicher Befehle beinhaltet, die bei Ausführung durch die Schalttechnik den mindestens einen E-Horizont-Prozessor veranlassen, ein aktualisiertes Navigationsinformationspaket zu erzeugen, nachdem eine Änderung in einer Gruppe von kartierten Merkmalen erkannt wurde, die durch den bestimmten elektronischen Horizont für das Host-Fahrzeug impliziert wird.
  90. Nicht transientes computerlesbares Medium, das Anweisungen enthält, die bei Ausführung durch mindestens einen E-Horizont-Prozessor bewirken, dass der mindestens eine E-Horizont-Prozessor Arbeitsschritte durchführt, die Folgendes umfassen: Zugreifen auf eine Karte, die zumindest einen Straßenabschnitt darstellt, auf dem das Host-Fahrzeug fährt oder voraussichtlich fahren wird, wobei Punkte auf der Karte in Bezug auf einen anfänglichen Kartenursprung referenziert werden; Empfangen einer von mindestens einem Fahrzeugsensor bereitgestellten Ausgabe, wobei der mindestens eine Fahrzeugsensor eine oder mehrere Kameras beinhaltet, die so konfiguriert sind, dass sie Bilder einer Umgebung des Host-Fahrzeugs aufnehmen, und wobei die empfangene Ausgabe mindestens ein Bild beinhaltet, das von der einen oder den mehreren Kameras aufgenommen wurde; Lokalisieren des Host-Fahrzeugs in Bezug auf die Karte auf Grundlage einer Analyse des mindestens einen Bildes, das von der einen oder den mehreren Kameras aufgenommen wurde; Bestimmen eines elektronischen Horizonts für das Host-Fahrzeug auf Grundlage der Lokalisierung des Host-Fahrzeugs in Bezug auf die Karte; Erzeugen eines Navigationsinformationspakets, das Informationen enthält, die mit kartierten Merkmalen verbunden sind, die in dem bestimmten elektronischen Horizont enthalten sind; Ausgeben des erzeugten Navigationsinformationspakets an einen oder mehrere Navigationssystemprozessoren, die so konfiguriert sind, dass sie das Host-Fahrzeug veranlassen, auf Grundlage der im Navigationsinformationspaket enthaltenen Informationen mindestens ein Navigationsmanöver auszuführen; Erkennen eines Kartenursprungsänderungsereignisses; und in Reaktion auf ein erkanntes Kartenursprungsänderungsereignis erfolgendes Bestimmen eines aktualisierten Kartenursprungs und Senden einer Benachrichtigung an den einen oder die mehreren Navigationssystemprozessoren, die eine Änderung vom ursprünglichen Kartenursprung zum aktualisierten Kartenursprung anzeigt.
  91. System zum Navigieren eines Host-Fahrzeugs, wobei das System Folgendes umfasst: mindestens einen E-Horizont-Prozessor, der Schalttechnik und einen Speicher umfasst, wobei der Speicher Anweisungen enthält, die bei Ausführung durch die Schalttechnik den mindestens einen E-Horizont-Prozessor zu Folgendem veranlassen: auf eine Karte zuzugreifen, die mindestens einen Straßenabschnitt darstellt, auf dem das Host-Fahrzeug fährt oder voraussichtlich fahren wird, wobei die Karte einen oder mehrere Splines beinhaltet, die Straßenmerkmale darstellen, die mit dem Straßenabschnitt verbunden sind; eine von mindestens einem Fahrzeugsensor bereitgestellte Ausgabe zu empfangen, wobei der mindestens eine Fahrzeugsensor eine oder mehrere Kameras beinhaltet, die so konfiguriert sind, dass sie Bilder einer Umgebung des Host-Fahrzeugs aufnehmen, und wobei die empfangene Ausgabe mindestens ein Bild beinhaltet, das von der einen oder den mehreren Kameras aufgenommen wurde; das Host-Fahrzeug in Bezug auf einen Fahrweg für das Host-Fahrzeug zu lokalisieren, der unter dem einen oder den mehreren Splines dargestellt wird, wobei die Lokalisierung auf einer Analyse des mindestens einen Bildes basiert, das von der einen oder den mehreren Kameras aufgenommen wurde; auf Grundlage der Lokalisierung des Host-Fahrzeugs in Bezug auf den Fahrweg für das Host-Fahrzeug einen Satz von Punkten zu bestimmen, die dem einen oder den mehreren Splines zugeordnet sind; ein Navigationsinformationspaket zu erzeugen, das Informationen beinhaltet, die mit dem einen oder den mehreren Splines und dem bestimmten Satz von Punkten in Bezug auf den einen oder die mehreren Splines verbunden sind; und das erzeugte Navigationsinformationspaket an einen oder mehrere Navigationssystemprozessoren auszugeben, die so konfiguriert sind, dass sie das Host-Fahrzeug veranlassen, auf Grundlage der im Navigationsinformationspaket enthaltenen Informationen mindestens ein Navigationsmanöver auszuführen.
  92. System nach Anspruch 91, wobei der eine oder die mehreren Splines eine Darstellung des Fahrwegs für das Host-Fahrzeug beinhalten, und wobei der Fahrweg für das Host-Fahrzeug einer Ego-Spur des Straßenabschnitts zugeordnet ist, auf der sich das Host-Fahrzeug befindet.
  93. System nach Anspruch 91, wobei der eine oder die mehreren Splines eine Darstellung eines oder mehrerer möglicher Fahrwege für das Host-Fahrzeug beinhalten und wobei der eine oder die mehreren möglichen Fahrwege Fahrspuren des Straßenabschnitts zugeordnet sind, die sich von einer Ego-Spur des Straßenabschnitts unterscheiden, auf der sich das Host-Fahrzeug befindet.
  94. System nach Anspruch 91, wobei der eine oder die mehreren Splines eine Darstellung einer dem Straßenabschnitt zugeordneten Straßenkante beinhalten.
  95. System nach Anspruch 91, wobei der eine oder die mehreren Splines eine Darstellung einer dem Straßenabschnitt zugeordneten Fahrspurmarkierung beinhalten.
  96. System nach Anspruch 91, wobei der Satz von Punkten einen oder mehrere vorhergesagte Standorte des Host-Fahrzeugs in Bezug auf den Fahrweg für das Host-Fahrzeug beinhaltet.
  97. System nach Anspruch 96, wobei der eine oder die mehreren vorhergesagten Standorte des Host-Fahrzeugs auf Grundlage einer aktuellen Geschwindigkeit des Host-Fahrzeugs bestimmt werden.
  98. System nach Anspruch 96, wobei der eine oder die mehreren vorhergesagten Standorte des Host-Fahrzeugs auf Grundlage eines geplanten Geschwindigkeitsprofils des Host-Fahrzeugs bestimmt werden.
  99. System nach Anspruch 96, wobei der eine oder die mehreren vorhergesagten Standorte des Host-Fahrzeugs vorbestimmten zukünftigen Zeitintervallen zugeordnet sind.
  100. System nach Anspruch 91, wobei der Satz von Punkten einen oder mehrere vorhergesagte Standorte des Host-Fahrzeugs in Bezug auf einen Fahrweg für mindestens eine Spur des Straßenabschnitts beinhaltet, die sich von einer Ego-Spur unterscheidet, auf der sich das Host-Fahrzeug befindet.
  101. System nach Anspruch 91, wobei der Satz von Punkten eine Punktposition beinhaltet, die einem Schnittpunkt des Fahrwegs für das Host-Fahrzeug mit einer Haltelinie zugeordnet ist, die in der aufgerufenen Karte dargestellt ist.
  102. System nach Anspruch 91, wobei der Satz von Punkten eine Punktposition beinhaltet, die einem Fahrspuraufteilungsmerkmal des Straßenabschnitts zugeordnet ist.
  103. System nach Anspruch 91, wobei der Satz von Punkten eine Punktposition beinhaltet, die einem Fahrspurzusammenführungsmerkmal des Straßenabschnitts zugeordnet ist.
  104. System nach Anspruch 91, wobei der Satz von Punkten eine Punktposition beinhaltet, die einem Schnittpunkt eines möglichen Fahrwegs für das Host-Fahrzeug auf einer Spur, die sich von einer Ego-Spur unterscheidet, auf der sich das Host-Fahrzeug befindet, mit einer Haltelinie zugeordnet ist, die in der aufgerufenen Karte dargestellt ist.
  105. System nach Anspruch 91, wobei die aufgerufene Karte auf Grundlage von durch Crowdsourcing erhaltenen Fahrinformationen erzeugt wird, die von einer Vielzahl von Fahrzeugen gesammelt wurden, die den Straßenabschnitt vor dem Host-Fahrzeug durchfahren haben.
  106. System nach Anspruch 91, wobei die aufgerufene Karte durch den E-Horizont-Prozessor von einem Kartenserver empfangen wird, der sich in Bezug auf das Host-Fahrzeug entfernt befindet.
  107. System nach Anspruch 91, wobei die aufgerufene Karte nur einen Teilabschnitt einer größeren Karte darstellt, die auf einem in Bezug auf das Host-Fahrzeug entfernt befindlichen Kartenserver verfügbar ist.
  108. System nach Anspruch 91, wobei die Lokalisierung des Host-Fahrzeugs in Bezug auf den Fahrweg für das Host-Fahrzeug Bestimmen einer Position des Host-Fahrzeugs in Bezug auf den Fahrweg für das Host-Fahrzeug auf Grundlage einer Identifikation eines oder mehrerer kartierter Bezugspunkte, die in dem mindestens einen aufgenommenen Bild dargestellt sind, und eines Vergleichs einer Bildposition des einen oder der mehreren kartierten Bezugspunkte in dem mindestens einen aufgenommenen Bild mit einer erwarteten Bildposition des einen oder der mehreren kartierten Bezugspunkte, die mindestens einer Position entlang des Fahrwegs für das Host-Fahrzeug zugeordnet ist, beinhaltet.
  109. System nach Anspruch 91, wobei die Lokalisierung des Host-Fahrzeugs in Bezug auf den Fahrweg für das Host-Fahrzeug Bestimmen einer Position des Host-Fahrzeugs in Bezug auf den Fahrweg für das Host-Fahrzeug auf Grundlage einer Identifikation eines oder mehrerer kartierter Bezugspunkte, die in zwei oder mehr aufgenommenen Bildern dargestellt sind, und auf Grundlage einer Bewegungshistorie des Host-Fahrzeugs während eines Zeitraums zwischen der Erfassung der zwei oder mehr aufgenommenen Bilder beinhaltet.
  110. System nach Anspruch 91, wobei das mindestens eine Navigationsmanöver eines oder mehrere der Folgenden umfasst: Aufrechterhalten einer aktuellen Geschwindigkeit des Host-Fahrzeugs; Aufrechterhalten einer aktuellen Kursrichtung des Host-Fahrzeugs; Ändern einer Kursrichtung des Host-Fahrzeugs; Ändern einer Geschwindigkeit des Host-Fahrzeugs; Beschleunigen des Host-Fahrzeugs; oder Abbremsen des Host-Fahrzeugs.
  111. System nach Anspruch 91, wobei der mindestens eine Fahrzeugsensor einen Geschwindigkeitssensor beinhaltet.
  112. System nach Anspruch 91, wobei der mindestens eine Fahrzeugsensor einen GPS-Empfänger beinhaltet.
  113. System nach Anspruch 91, wobei der Satz von Punkten dreidimensionale Punkte beinhaltet, die durch ein Koordinatensystem in Bezug auf das Host-Fahrzeug referenziert werden.
  114. System nach Anspruch 113, wobei ein Ursprung des Koordinatensystems einer der einen oder der mehreren Kameras zugeordnet ist.
  115. System nach Anspruch 91, wobei das Navigationsinformationspaket den einen oder die mehreren Splines mit Fahrspuren korreliert, die dem Straßenabschnitt zugeordnet sind.
  116. System nach Anspruch 115, wobei das Navigationsinformationspaket eine Ego-Fahrspur identifiziert, auf der sich das Host-Fahrzeug befindet.
  117. System nach Anspruch 116, wobei das Navigationsinformationspaket eine oder mehrere zusätzliche Fahrspuren in Bezug auf die Ego-Spur indiziert.
  118. System nach Anspruch 116, wobei das Navigationsinformationspaket einen booleschen Wert beinhaltet, der mindestens einer Fahrspur zugeordnet ist, und wobei der boolesche Wert anzeigt, ob eine Fahrtrichtung, die der mindestens einen Fahrspur zugeordnet ist, in derselben Richtung verläuft wie eine Fahrtrichtung, die der Ego-Spur zugeordnet ist.
  119. Nicht transientes computerlesbares Medium, das Anweisungen enthält, die bei Ausführung durch mindestens einen E-Horizont-Prozessor bewirken, dass der mindestens eine E-Horizont-Prozessor Arbeitsschritte durchführt, die Folgendes umfassen: Zugreifen auf eine Karte, die mindestens einen Straßenabschnitt darstellt, auf dem ein Host-Fahrzeug fährt oder voraussichtlich fahren wird, wobei die Karte einen oder mehrere Splines beinhaltet, die Straßenmerkmale darstellen, die mit dem Straßenabschnitt verbunden sind; Empfangen einer von mindestens einem Fahrzeugsensor bereitgestellten Ausgabe, wobei der mindestens eine Fahrzeugsensor eine oder mehrere Kameras beinhaltet, die so konfiguriert sind, dass sie Bilder einer Umgebung des Host-Fahrzeugs aufnehmen, und wobei die empfangene Ausgabe mindestens ein Bild beinhaltet, das von der einen oder den mehreren Kameras aufgenommen wurde; Lokalisieren des Host-Fahrzeugs in Bezug auf einen Fahrweg für das Host-Fahrzeug, der unter dem einen oder den mehreren Splines dargestellt wird, wobei die Lokalisierung auf einer Analyse des mindestens einen Bildes basiert, das von der einen oder den mehreren Kameras aufgenommen wurde; Bestimmen eines Satzes von Punkten, die dem einen oder den mehreren Splines zugeordnet sind, auf Grundlage der Lokalisierung des Host-Fahrzeugs in Bezug auf den Fahrweg für das Host-Fahrzeug; Erzeugen eines Navigationsinformationspakets, das Informationen beinhaltet, die mit dem einen oder den mehreren Splines und dem bestimmten Satz von Punkten in Bezug auf den einen oder die mehreren Splines verbunden sind; und Ausgeben des erzeugten Navigationsinformationspakets an einen oder mehrere Navigationssystemprozessoren, die so konfiguriert sind, dass sie das Host-Fahrzeug veranlassen, auf Grundlage der im Navigationsinformationspaket enthaltenen Informationen mindestens ein Navigationsmanöver auszuführen.
DE112021002001.3T 2020-03-30 2021-03-30 Navigieren eines fahrzeugs unter verwendung eines elektronischen horizonts Pending DE112021002001T5 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063001733P 2020-03-30 2020-03-30
US63/001,733 2020-03-30
US202163152925P 2021-02-24 2021-02-24
US63/152,925 2021-02-24
PCT/IB2021/000197 WO2021198772A1 (en) 2020-03-30 2021-03-30 Navigating a vehicle using an electronic horizon

Publications (1)

Publication Number Publication Date
DE112021002001T5 true DE112021002001T5 (de) 2023-05-04

Family

ID=75660072

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021002001.3T Pending DE112021002001T5 (de) 2020-03-30 2021-03-30 Navigieren eines fahrzeugs unter verwendung eines elektronischen horizonts

Country Status (4)

Country Link
US (4) US20220228882A1 (de)
CN (5) CN117053813A (de)
DE (1) DE112021002001T5 (de)
WO (1) WO2021198772A1 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110825485A (zh) * 2018-08-07 2020-02-21 华为技术有限公司 数据处理的方法、设备和服务器
US10977198B2 (en) * 2018-09-12 2021-04-13 Micron Technology, Inc. Hybrid memory system interface
KR20210126365A (ko) * 2020-04-10 2021-10-20 팅크웨어(주) 차량 주행 영상 기반의 차선 검출 방법, 차선 검출 장치, 전자 기기, 컴퓨터 프로그램 및 컴퓨터 판독 가능한 기록 매체
US11543263B1 (en) * 2020-09-16 2023-01-03 Zoox, Inc. Map distortion determination
US20220171622A1 (en) * 2020-11-27 2022-06-02 Electronics And Telecommunications Research Institute Multi-dimension dma controller and computer system including the same
JP2022126341A (ja) * 2021-02-18 2022-08-30 本田技研工業株式会社 車両制御装置、車両制御方法、およびプログラム
US11989805B2 (en) * 2021-11-12 2024-05-21 Here Global B.V. Dynamic geometry using virtual spline for making maps
WO2023148729A1 (en) * 2022-02-02 2023-08-10 Elbit Systems C4I and Cyber Ltd. Geolocation system and method
WO2024073532A1 (en) * 2022-09-28 2024-04-04 ClearMotion, Inc. Xyz motion planning for vehicles

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8762046B2 (en) * 2008-10-01 2014-06-24 Navteq B.V. Creating geometry for advanced driver assistance systems
DE102010012877A1 (de) * 2010-03-26 2011-09-29 Continental Automotive Gmbh Bewertung von Karteninformationen
US10060749B2 (en) * 2015-02-19 2018-08-28 Here Global B.V. Method and apparatus for creating a clothoid road geometry
US20170240171A1 (en) * 2016-02-18 2017-08-24 Delphi Technologies, Inc. Method for modifying steering of an automated vehicle for improved passenger comfort
US20170247040A1 (en) * 2016-02-25 2017-08-31 Ford Global Technologies, Llc Autonomous vehicle control transitioning
US10234294B2 (en) * 2016-04-01 2019-03-19 Here Global B.V. Road geometry matching with componentized junction models
US10240943B2 (en) * 2016-06-17 2019-03-26 Here Global B.V. Method, apparatus and computer program product for a navigation user interface
US10838426B2 (en) * 2016-07-21 2020-11-17 Mobileye Vision Technologies Ltd. Distributing a crowdsourced sparse map for autonomous vehicle navigation
WO2020141493A1 (en) * 2019-01-04 2020-07-09 Visteon Global Technologies, Inc. Ehorizon upgrader module, moving objects as ehorizon extension, sensor detected map data as ehorizon extension, and occupancy grid as ehorizon extension
WO2021149846A1 (ko) * 2020-01-22 2021-07-29 엘지전자 주식회사 경로 제공 장치 및 그것의 경로 제공 방법
WO2021230387A1 (ko) * 2020-05-11 2021-11-18 엘지전자 주식회사 경로 제공 장치 및 그것의 경로 제공 방법

Also Published As

Publication number Publication date
CN117053814A (zh) 2023-11-14
WO2021198772A1 (en) 2021-10-07
CN117073704A (zh) 2023-11-17
US11615563B2 (en) 2023-03-28
US20220215603A1 (en) 2022-07-07
CN117053813A (zh) 2023-11-14
US20220282994A1 (en) 2022-09-08
US20220228882A1 (en) 2022-07-21
CN115516277A (zh) 2022-12-23
CN117053812A (zh) 2023-11-14
US20220221279A1 (en) 2022-07-14

Similar Documents

Publication Publication Date Title
JP7009716B2 (ja) 自律車両ナビゲーションのための疎な地図
DE112020002604T5 (de) Systeme und verfahren für die fahrzeugnavigation
DE112020002175T5 (de) Systeme und verfahren zur fahrzeugnavigation
DE112020006426T5 (de) Systeme und verfahren zur fahrzeugnavigation
DE112021002001T5 (de) Navigieren eines fahrzeugs unter verwendung eines elektronischen horizonts
DE112020003897T5 (de) Systeme und verfahren zur überwachung von fahrspurüberlastung
DE112020004931T5 (de) Systeme und verfahren zur bestimmung der verkehrssicherheit
DE112020004133T5 (de) Systeme und verfahren zur identifizierung möglicher kommunikationshindernisse
DE112020000821T5 (de) Systeme und verfahren zur fahrzeugnavigation
DE112018002143T5 (de) Systeme und verfahren zur kompression von fahrspurdaten
DE112021000094T5 (de) Systeme und verfahren zur fahrzeugnavigation, die ampeln und verkehrszeichen einbezieht
DE112020002764T5 (de) Systeme und verfahren zur fahrzeugnavigation
JP2022553491A (ja) 車両ナビゲーション用のシステムおよび方法
DE112020002869T5 (de) Navigationssysteme und verfahren zum bestimmen von objektabmessungen
DE112020000925T5 (de) Systeme und verfahren zur fahrzeugnavigation
DE112020002592T5 (de) Systeme und verfahren zur fahrzeugnavigation basierend auf bildanalyse
DE112021003811T5 (de) Systeme und verfahren zur dynamischen strassengeometriemodellierung und navigation
DE112021002680T5 (de) Systeme und verfahren zum erkennen einer offenen tür
DE112021004128T5 (de) Systeme und verfahren für kartenbasierte modellierung der realen welt
DE112021002014T5 (de) Regelkreis zum navigieren eines fahrzeugs
DE112020006427T5 (de) Systeme und verfahren zum detektieren von ampeln
DE112020005275T5 (de) Systeme und verfahren zur selektiven verzögerung eines fahrzeugs
DE112022000380T5 (de) Systeme und verfahren zur einheitlichen geschwindigkeitskartierung und navigation
DE102022128968A1 (de) Systeme und verfahren zum sammeln von bildern zur fahrzeugnavigation

Legal Events

Date Code Title Description
R012 Request for examination validly filed