DE112020005275T5 - Systeme und verfahren zur selektiven verzögerung eines fahrzeugs - Google Patents

Systeme und verfahren zur selektiven verzögerung eines fahrzeugs Download PDF

Info

Publication number
DE112020005275T5
DE112020005275T5 DE112020005275.3T DE112020005275T DE112020005275T5 DE 112020005275 T5 DE112020005275 T5 DE 112020005275T5 DE 112020005275 T DE112020005275 T DE 112020005275T DE 112020005275 T5 DE112020005275 T5 DE 112020005275T5
Authority
DE
Germany
Prior art keywords
vehicle
host
road
target
data
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
DE112020005275.3T
Other languages
English (en)
Inventor
Jack Kario
Michael Navon
David Aloni
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 DE112020005275T5 publication Critical patent/DE112020005275T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/09Taking automatic action to avoid collision, e.g. braking and steering
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60TVEHICLE BRAKE CONTROL SYSTEMS OR PARTS THEREOF; BRAKE CONTROL SYSTEMS OR PARTS THEREOF, IN GENERAL; ARRANGEMENT OF BRAKING ELEMENTS ON VEHICLES IN GENERAL; PORTABLE DEVICES FOR PREVENTING UNWANTED MOVEMENT OF VEHICLES; VEHICLE MODIFICATIONS TO FACILITATE COOLING OF BRAKES
    • B60T7/00Brake-action initiating means
    • B60T7/12Brake-action initiating means for automatic initiation; for initiation not subject to will of driver or passenger
    • B60T7/22Brake-action initiating means for automatic initiation; for initiation not subject to will of driver or passenger initiated by contact of vehicle, e.g. bumper, with an external object, e.g. another vehicle, or by means of contactless obstacle detectors mounted on the vehicle
    • 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
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/18Conjoint control of vehicle sub-units of different type or different function including control of braking systems
    • 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, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/095Predicting travel path or likelihood of collision
    • B60W30/0953Predicting travel path or likelihood of collision the prediction being responsive to vehicle dynamic parameters
    • 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, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/095Predicting travel path or likelihood of collision
    • B60W30/0956Predicting travel path or likelihood of collision the prediction being responsive to traffic or environmental parameters
    • 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
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • B60W40/04Traffic conditions
    • 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
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/10Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to vehicle motion
    • B60W40/105Speed
    • 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
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/12Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to parameters of the vehicle itself, e.g. tyre models
    • 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
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/08Interaction between the driver and the control system
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • B60W50/16Tactile feedback to the driver, e.g. vibration or force feedback to the driver on the steering wheel or the accelerator pedal
    • 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
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0015Planning or execution of driving tasks specially adapted for safety
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60TVEHICLE BRAKE CONTROL SYSTEMS OR PARTS THEREOF; BRAKE CONTROL SYSTEMS OR PARTS THEREOF, IN GENERAL; ARRANGEMENT OF BRAKING ELEMENTS ON VEHICLES IN GENERAL; PORTABLE DEVICES FOR PREVENTING UNWANTED MOVEMENT OF VEHICLES; VEHICLE MODIFICATIONS TO FACILITATE COOLING OF BRAKES
    • B60T2201/00Particular use of vehicle brake systems; Special systems using also the brakes; Special software modules within the brake system controller
    • B60T2201/02Active or adaptive cruise control system; Distance control
    • B60T2201/022Collision avoidance systems
    • 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
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/08Interaction between the driver and the control system
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • B60W2050/143Alarm means
    • 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
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/08Interaction between the driver and the control system
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • B60W2050/146Display means
    • 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
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo or light sensitive means, e.g. infrared sensors
    • B60W2420/403Image sensing, e.g. optical camera
    • B60W2420/408
    • 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
    • B60W2510/00Input parameters relating to a particular sub-units
    • B60W2510/18Braking system
    • B60W2510/182Brake pressure, e.g. of fluid or between pad and disc
    • 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
    • B60W2554/00Input parameters relating to objects
    • B60W2554/80Spatial relation or speed relative to objects
    • 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
    • B60W2556/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle
    • B60W2556/50External transmission of data to or from the vehicle for navigation systems
    • 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
    • B60W2720/00Output or target parameters relating to overall vehicle dynamics
    • B60W2720/10Longitudinal speed
    • B60W2720/106Longitudinal acceleration

Abstract

Es werden Systeme und Verfahren für die Fahrzeugnavigation bereitgestellt. In einer Implementierung enthält ein System für ein Host-Fahrzeug mindestens einen Prozessor, der dazu programmiert ist, basierend auf einer Ausgabe mindestens eines Sensors des Host-Fahrzeugs eine oder mehrere Zieldynamiken eines Zielfahrzeugs zu bestimmen; basierend auf einer oder mehreren Host-Dynamiken des Host-Fahrzeugs und den Zieldynamiken eine Zeit bis zur Kollision zu bestimmen; basierend auf der Zeit bis zur Kollision und der Host-Dynamiken eine Host-Verzögerung für das Host-Fahrzeug zu bestimmen, um die Kollision zu vermeiden; basierend auf der Zeit bis zur Kollision und der Zieldynamik eine Zielverzögerung für das Zielfahrzeug zu bestimmen, um die Kollision zu vermeiden; basierend auf der Host-Verzögerung und der Zielverzögerung einen Host-Verzögerungsschwellenwert zu bestimmen; und basierend auf einer Geschwindigkeit des Host-Fahrzeugs und dem Host-Verzögerungsschwellenwert zu bestimmen, das Host-Fahrzeug zu bremsen.

Description

  • Querverweis auf verwandte Anmeldung
  • Diese Anmeldung beansprucht den Vorteil der Priorität der vorläufigen US-Anmeldung Nr. 62/945.503 , eingereicht am 09. Dezember 2019. Die vorgenannte Anmeldung ist hier in ihrer Gesamtheit durch Bezugnahme in das vorliegende Dokument aufgenommen.
  • HINTERGRUND
  • Technisches Gebiet
  • Die vorliegende Offenbarung bezieht sich allgemein auf die autonome Fahrzeugnavigation.
  • Hintergrundinformationen
  • Mit dem weiteren Fortschritt der Technologie 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 vorgesehenen Zielort sicher und genau zu erreichen. Beispielsweise muss ein autonomes Fahrzeug möglicherweise visuelle Informationen (z. B. aus einer Kamera erfasste Informationen) verarbeiten und interpretieren und kann auch Informationen aus anderen Quellen (z. B. aus einer GPS-Vorrichtung, einem Geschwindigkeitssensor, einem Beschleunigungsmesser, einem Federungssensor usw.) verwenden. Um zu einem Zielort zu gelangen, muss ein autonomes Fahrzeug unter Umständen auch seine Position auf einer bestimmten Fahrbahn (z. B. einen bestimmten Fahrstreifen auf einer Straße mit mehreren Fahrstreifen) identifizieren, neben anderen Fahrzeugen fahren, Hindernissen und Fußgängern ausweichen, Ampeln und Verkehrsschilder beachten und an geeigneten Kreuzungen oder Einmündungen von einer Straße auf eine andere wechseln. Die Nutzung und Interpretation großer Mengen an Informationen, die durch ein autonomes Fahrzeug auf dem Weg zu seinem Zielort gesammelt werden, stellt eine Vielzahl von Herausforderungen an die Entwicklung. Die schiere Menge an Daten (z. B. erfasste 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 zudem ein autonomes Fahrzeug zum Navigieren auf herkömmliche Kartentechnologie angewiesen ist, stellt die schiere Datenmenge, die zum Speichern und Aktualisieren der Karte benötigt wird, eine gewaltige Herausforderung dar.
  • KURZDARSTELLUNG
  • Ausführungsformen, die im Einklang mit der vorliegenden Offenbarung stehen, stellen Systeme und Verfahren für die autonome Fahrzeugnavigation bereit. Die offenbarten Ausführungsformen können Kameras verwenden, um autonome Fahrzeugnavigationsfunktionen zur Verfügung zu stellen. In Übereinstimmung mit den offenbarten Ausführungsformen können die offenbarten Systeme zum Beispiel eine, zwei oder mehr Kameras aufweisen, die die Umgebung eines Fahrzeugs überwachen. Die offenbarten Systeme können eine Navigationsreaktion liefern, die beispielsweise auf einer Analyse der durch eine oder mehrere der Kameras aufgenommenen Bilder basiert.
  • Eine Ausführungsform der vorliegenden Offenbarung bezieht sich auf ein System für ein Host-Fahrzeug. Das System kann mindestens einen Prozessor enthalten, der dazu programmiert ist, basierend auf einer Ausgabe mindestens eines Sensors des Zielfahrzeugs eine oder mehreren Zieldynamiken in einer Umgebung des Host-Fahrzeugs zu bestimmen; basierend auf einer oder mehreren Host-Dynamiken des Host-Fahrzeugs und der einen oder mehreren Zieldynamiken eine Zeit bis zu einer Kollision des Host-Fahrzeugs und des Zielfahrzeugs zu bestimmen; basierend auf der Zeit bis zur Kollision und der einen oder mehreren Host-Dynamiken eine Host-Verzögerung für das Host-Fahrzeug zum Vermeiden der Kollision zu bestimmen; basierend auf der Zeit bis zur Kollision und der einen oder mehreren Zieldynamiken eine Zielverzögerung für das Zielfahrzeug zum Vermeiden der Kollision zu bestimmen; basierend auf der Host-Verzögerung und der Zielverzögerung einen Host-Verzögerungsschwellenwert zu bestimmen; und basierend auf einer Geschwindigkeit des Host-Fahrzeugs und des Host-Verzögerungsschwellenwerts zu bestimmen, das Host-Fahrzeug zu bremsen.
  • Eine weitere Ausführungsform der vorliegenden Offenbarung bezieht sich auf ein computerimplementiertes Verfahren. Das Verfahren kann Folgendes umfassen: Bestimmen einer oder mehrerer Zieldynamiken eines Zielfahrzeugs in einer Umgebung des Host-Fahrzeugs basierend auf einer Ausgabe mindestens eines Sensors eines Host-Fahrzeugs; Bestimmen einer Zeit bis zu einer Kollision des Host-Fahrzeugs und des Zielfahrzeugs basierend auf einer oder mehreren Host-Dynamiken des Host-Fahrzeugs und der einen oder mehreren Zieldynamiken; Bestimmen einer Host-Verzögerung für das Host-Fahrzeug zum Vermeiden der Kollision basierend auf der Zeit bis zur Kollision und der einen oder mehreren Host-Dynamiken; Bestimmen einer Zielverzögerung für das Zielfahrzeug basierend auf der Zeit bis zur Kollision und der einen oder mehreren Zieldynamiken zum Vermeiden der Kollision; Bestimmen eines Host-Verzögerungsschwellenwerts basierend auf der Host-Verzögerung und der Zielverzögerung; und Bestimmen basierend auf einer Geschwindigkeit des Host-Fahrzeugs und des Host-Verzögerungsschwellenwerts, das Host-Fahrzeug zu bremsen.
  • In Übereinstimmung mit anderen offenbarten Ausführungsformen können nichtflüchtige computerlesbare Speichermedien Programmanweisungen speichern, die durch mindestens eine Verarbeitungsvorrichtung ausgeführt werden und die hier beschriebenen Verfahren durchführen.
  • Die vorstehende allgemeine Beschreibung und die folgende detaillierte Beschreibung sind lediglich Beispiele und Erläuterungen und schränken die Ansprüche nicht ein.
  • Figurenliste
  • Die beigefügten Zeichnungen, die Bestandteil dieser Offenbarung sind, veranschaulichen verschiedene offenbarte Ausführungsformen. In den Zeichnungen gilt:
    • 1 ist eine schematische Darstellung eines beispielhaften Systems in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 2A ist eine schematische Seitenansicht eines beispielhaften Fahrzeugs mit einem System in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 2B ist eine schematische Draufsicht auf das in 2A gezeigte Fahrzeug und System in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 2C ist eine schematische Draufsicht auf eine andere Ausführungsform eines Fahrzeugs mit einem System in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 2D ist eine schematische Draufsicht auf eine weitere Ausführungsform eines Fahrzeugs mit einem System in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 2E ist eine schematische Draufsicht auf eine weitere Ausführungsform eines Fahrzeugs mit einem System in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 2F ist eine schematische Darstellung beispielhafter Fahrzeugsteuerungssysteme in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 3A ist eine schematische Darstellung des Innenraums eines Fahrzeugs mit einem Rückspiegel und einer Benutzeroberfläche für ein Fahrzeugbildgebungssystem in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 3B ist eine Illustration eines Beispiels einer Kamerahalterung, die dazu ausgelegt ist, hinter einem Rückspiegel und an der Windschutzscheibe eines Fahrzeugs positioniert zu werden, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 3C ist eine Illustration der in 3B gezeigten Kamerahalterung aus einer anderen Perspektive in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 3D ist eine Illustration eines Beispiels einer Kamerahalterung, die in Übereinstimmung mit den offenbarten Ausführungsformen dazu ausgelegt ist, hinter einem Rückspiegel und an der Windschutzscheibe eines Fahrzeugs positioniert zu werden.
    • 4 ist ein Beispiel für ein Blockdiagramm eines Speichers, der in Übereinstimmung mit den offenbarten Ausführungsformen dazu ausgelegt ist, Anweisungen zum Durchführen einer oder mehrerer Operationen zu speichern.
    • 5A ist ein Flussdiagramm, das ein Beispiel für einen Prozess zum Bewirken einer oder mehrerer Navigationsreaktionen basierend auf einer monokularen Bildanalyse in Übereinstimmung mit den offenbarten Ausführungsformen zeigt.
    • 5B ist ein Flussdiagramm, das ein Beispiel für einen Prozess zum Erkennen eines oder mehrerer Fahrzeuge und/oder Fußgänger in einem Satz von Bildern in Übereinstimmung mit den offenbarten Ausführungsformen zeigt.
    • 5C ist ein Flussdiagramm, das ein Beispiel für einen Prozess zum Erkennen von Fahrstreifenmarkierungen und/oder Fahrstreifengeometrieinformationen in einem Satz von Bildern in Übereinstimmung mit den offenbarten Ausführungsformen zeigt.
    • 5D ist ein Flussdiagramm, das ein Beispiel für einen Prozess zum Erkennen von Verkehrsampeln in einem Satz von Bildern in Übereinstimmung mit den offenbarten Ausführungsformen zeigt.
    • 5E ist ein Flussdiagramm, das ein Beispiel für einen Prozess zum Bewirken einer oder mehrerer Navigationsreaktionen basierend auf einem Fahrzeugweg in Übereinstimmung mit den offenbarten Ausführungsformen zeigt.
    • 5F ist ein Flussdiagramm, das ein Beispiel für einen Prozess zum Ermitteln in Übereinstimmung mit den offenbarten Ausführungsformen zeigt, ob ein vorausfahrendes Fahrzeug den Fahrstreifen wechselt.
    • 6 ist ein Flussdiagramm, das ein Beispiel für einen Prozess zum Bewirken einer oder mehrerer Navigationsreaktionen basierend auf einer Stereobildanalyse in Übereinstimmung mit den offenbarten Ausführungsformen zeigt.
    • 7 ist ein Flussdiagramm, das ein Beispiel für einen Prozess zum Bewirken einer oder mehrerer Navigationsreaktionen basierend auf einer Analyse von drei Sätzen von Bildern in Übereinstimmung mit den offenbarten Ausführungsformen zeigt.
    • 8 zeigt eine dünnbesetzte Karte für die Navigation von autonomen Fahrzeugen in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 9A zeigt eine Polynomdarstellung von Teilen eines Straßensegments in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 9B zeigt eine Kurve im dreidimensionalen Raum, die eine Sollbewegungsbahn eines Fahrzeugs für ein bestimmtes Straßensegment darstellt, das in einer dünnbesetzten Karte enthalten ist, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 10 zeigt ein Beispiel für Orientierungspunkte, die in einer dünnbesetzten Karte in Übereinstimmung mit den offenbarten Ausführungsformen enthalten sein können.
    • 11A zeigt Polynomdarstellungen von Bewegungsbahnen in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 11B und 11C zeigen Sollbewegungsbahnen auf einer Straße mit mehreren Fahrstreifen in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 11D zeigt ein Beispiel für ein Straßensignaturprofil, das mit den offenbarten Ausführungsformen übereinstimmt.
    • 12 ist eine schematische Darstellung eines Systems, das Crowdsourcing-Daten, die aus einer Vielzahl von Fahrzeugen empfangen werden, für die Navigation von autonomen Fahrzeugen verwendet, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 13 zeigt ein Beispiel für ein Straßennavigationsmodell für autonome Fahrzeuge, das durch eine Vielzahl von dreidimensionalen Splines dargestellt wird, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 14 zeigt ein Kartenskelett, das aus der Kombination von Positionsinformationen aus vielen Fahrten erzeugt wurde, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 15 zeigt ein Beispiel für eine Längsausrichtung zweier Fahrbahnen mit Beispielschildern als Orientierungspunkte in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 16 zeigt ein Beispiel für eine Längsausrichtung vieler Antriebe mit einem Beispielverkehrsschild als Orientierungspunkt in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 17 ist eine schematische Darstellung eines Systems zur Erzeugung von Fahrdaten unter Verwendung einer Kamera, eines Fahrzeugs und eines Servers in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 18 ist eine schematische Darstellung eines Systems für Crowdsourcing einer dünnbesetzten Karte in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 19 ist ein Flussdiagramm, das ein Beispiel für einen Prozess zur Erzeugung einer dünnbesetzten Karte für die Navigation autonomer Fahrzeuge auf einem Straßensegment zeigt, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 20 zeigt ein Blockdiagramm eines Servers in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 21 zeigt ein Blockdiagramm eines Speichers in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 22 zeigt ein Verfahren zum Bündeln von Fahrzeugbewegungsbahnen mit Zuordnung zu Fahrzeugen in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 23 zeigt ein Navigationssystem für ein Fahrzeug, das für die autonome Navigation verwendet werden kann, in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 24A, 24B, 24C und 24D zeigen Beispiele für Fahrstreifenmarkierungen, die in Übereinstimmung mit den offenbarten Ausführungsformen erkannt werden können.
    • 24E zeigt Beispiele für kartierte Fahrstreifenmarkierungen in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 24F zeigt ein Beispiel für eine Anomalie mit Zuordnung zur Erkennung einer Fahrstreifenmarkierung in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 25A zeigt ein Beispiel für ein Bild der Umgebung eines Fahrzeugs für die Navigation basierend auf den kartierten Fahrstreifenmarkierungen in Übereinstimmung mit den dargestellten Ausführungsformen.
    • 25B zeigt eine seitliche Lokalisierungskorrektur eines Fahrzeugs basierend auf kartierten Fahrstreifenmarkierungen in einem Straßennavigationsmodell in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 26A ist ein Flussdiagramm, das ein Beispiel für einen Prozess zum Kartieren einer Fahrstreifenmarkierung zur Verwendung bei der Navigation autonomer Fahrzeug in Übereinstimmung mit den offenbarten Ausführungsformen zeigt.
    • 26B ist ein Flussdiagramm, das ein Beispiel für einen Prozess für die autonome Navigation eines Host-Fahrzeugs auf einem Straßensegment unter Verwendung von kartierten Fahrstreifenmarkierungen in Übereinstimmung mit den offenbarten Ausführungsformen zeigt.
    • 27 ist eine schematische Darstellung einer Draufsicht auf die Bewegungsbahnen sich kreuzender Fahrzeuge und eine Kollisionsabschätzung in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 28 zeigt eine beispielhafte Kniepunktfunktion zum Bestimmen der Verzögerungen sich kreuzender Fahrzeuge in Übereinstimmung mit den offenbarten Ausführungsformen.
    • 29 ist ein Flussdiagramm, das ein Beispiel für einen Prozess zur selektiven Verzögerung eines Host-Fahrzeugs in Übereinstimmung mit den offenbarten Ausführungsformen zeigt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die folgende detaillierte Beschreibung bezieht sich auf die beigefügten Zeichnungen. Wo immer möglich, werden in den Zeichnungen und in der folgenden Beschreibung die gleichen Referenznummern verwendet, um auf gleiche oder ähnliche Teile hinzuweisen. Obwohl hier mehrere Anschauungsbeispiele für Ausführungsformen beschrieben werden, sind auch Änderungen, Anpassungen und andere Implementierungen möglich. Beispielsweise können die in den Zeichnungen dargestellten Komponenten ersetzt, ergänzt oder modifiziert werden, und die hier beschriebenen Verfahren können durch Ersetzen, Umordnen, Entfernen oder Hinzufügen von Schritten zu den offenbarten Verfahren modifiziert werden. Dementsprechend ist die folgende detaillierte Beschreibung nicht auf die offenbarten Ausführungsformen und Beispiele beschränkt. Stattdessen wird der tatsächliche Schutzbereich durch die beigefügten Ansprüche definiert.
  • Überblick über autonome Fahrzeuge
  • Der in dieser Offenbarung verwendete Begriff „autonomes Fahrzeug“ bezieht sich auf ein Fahrzeug, das in der Lage ist, mindestens eine Navigationsänderung ohne Eingreifen des Fahrers durchzuführen. Eine „Navigationsänderung“ bezieht sich auf eine oder mehrere Änderungen beim Lenken, Bremsen oder Beschleunigen des Fahrzeugs. Um autonom zu sein, braucht ein Fahrzeug nicht vollautomatisch (z. B. voll betriebsfähig ohne Fahrer oder ohne Fahrereingabe) zu sein. Ein autonomes Fahrzeug ist vielmehr ein Fahrzeug, das während bestimmter Zeiträume unter der Kontrolle des Fahrers und während anderer Zeiträume ohne Kontrolle des Fahrers betrieben werden kann. Autonome Fahrzeuge können auch Fahrzeuge sein, die nur einige Aspekte der Fahrzeugnavigation steuern, wie z. B. die Lenkung (z. B. um den Kurs des Fahrzeugs zwischen den Fahrstreifenbegrenzungen zu halten), andere Aspekte (z. B. das Bremsen) aber dem Fahrer überlassen. In manchen Fällen können autonome Fahrzeuge einige oder alle Aspekte des Bremsens, der Geschwindigkeitssteuerung und/oder der Lenkung des Fahrzeugs übernehmen.
  • Da sich menschliche Fahrer beim Steuern eines Fahrzeugs in der Regel auf visuelle Hinweise und Beobachtungen verlassen, sind die Verkehrsinfrastrukturen dementsprechend aufgebaut: Fahrstreifenmarkierungen, Verkehrsschilder und Ampeln sind so konzipiert, dass sie dem Fahrer visuelle Informationen liefern. Angesichts dieser Konstruktionsmerkmale von Verkehrsinfrastrukturen kann ein autonomes Fahrzeug mit einer Kamera und einer Verarbeitungseinheit ausgestattet sein, die die aus der Umgebung des Fahrzeugs erfassten visuellen Informationen analysiert. Zu den visuellen Informationen können beispielsweise durch den Fahrer wahrnehmbare Komponenten der Verkehrsinfrastruktur (z. B. Fahrstreifenmarkierungen, Verkehrsschilder, Ampeln usw.) sowie andere Hindernisse (z. B. andere Fahrzeuge, Fußgänger, Schutt usw.) gehören. Darüber hinaus kann ein autonomes Fahrzeug auch gespeicherte Informationen verwenden, z. B. Informationen, die ein Modell der Umgebung des Fahrzeugs für die Navigation bereitstellen. Beispielsweise kann das Fahrzeug GPS-Daten, Sensordaten (z. B. aus einem Beschleunigungsmesser, einem Geschwindigkeitssensor, einem Federungssensor 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 diese Informationen dazu verwenden, sich selbst auf dem Modell zu lokalisieren.
  • In einigen Ausführungsformen dieser Offenbarung kann ein autonomes Fahrzeug Informationen verwenden, die es während der Navigation (z. B. aus einer Kamera, einer GPS-Vorrichtung, einem Beschleunigungsmesser, einem Geschwindigkeitssensor, einem Federungssensor usw.) erhält. In anderen Ausführungsformen kann ein autonomes Fahrzeug während der Navigation Informationen verwenden, die es aus früheren Navigationsvorgängen (oder aus anderen Fahrzeugen) erhalten hat. In anderen Ausführungsformen kann ein autonomes Fahrzeug eine Kombination aus Informationen, die es während der Navigation erhält, und Informationen aus früheren Navigationsvorgängen verwenden. Die folgenden Abschnitte geben einen Überblick über ein System in Übereinstimmung mit den offenbarten Ausführungsformen, gefolgt von einem Überblick über ein nach vorne gerichtetes Bildgebungssystem und Verfahren in Übereinstimmung mit dem System. In den folgenden Abschnitten werden Systeme und Verfahren zur Erstellung, Verwendung und Aktualisierung einer dünnbesetzten Karte für die Navigation autonomer Fahrzeuge offenbart.
  • Systemübersicht
  • 1 zeigt ein Blockdiagramm eines System 100 in Übereinstimmung mit den beispielhaften offenbarten Ausführungsformen. Das System 100 kann je nach Anforderungen einer bestimmten Implementierung verschiedene Komponenten enthalten. 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 Benutzeroberfläche 170 und einen drahtlosen Sender-Empfänger 172 enthalten. Die Verarbeitungseinheit 110 kann einen oder mehrere Verarbeitungsvorrichtungen enthalten. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 einen Anwendungsprozessor 180, einen Bildprozessor 190 oder eine andere geeignete Verarbeitungsvorrichtung enthalten. Ebenso kann die Bilderfassungseinheit 120 je nach den Anforderungen einer bestimmten Anwendung eine beliebige Anzahl von Bilderfassungsvorrichtungen und -komponenten enthalten. In einigen Ausführungsformen kann die Bilderfassungseinheit 120 eine oder mehrere Bildaufhahmevorrichtungen (z. B. Kameras) enthalten, wie die Bildaufnahmevorrichtung 122, die Bildaufhahmevorrichtung 124 und die Bildaufhahmevorrichtung 126. Das System 100 kann auch eine Datenschnittstelle 128 enthalten, die die Verarbeitungsvorrichtung 110 mit der Bilderfassungsvorrichtung 120 kommunikativ verbindet. Die Datenschnittstelle 128 kann zum Beispiel eine oder mehrere drahtgebundene und/oder drahtlose Verbindungen zum Übertragen von Bilddaten, die durch die Bilderfassungsvorrichtung 120 erfasst wurden, an die Verarbeitungseinheit 110 enthalten.
  • Der drahtlose Sender-Empfänger 172 kann eine oder mehrere Vorrichtungen enthalten, die dazu ausgelegt sind, Ü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 auszutauschen. Der drahtlose Sender-Empfänger 172 kann jeden bekannten Standard zum Senden und/oder Empfangen von Daten (z. B. Wi-Fi, Bluetooth®, Bluetooth Smart, 802.15.4, ZigBee usw.) verwenden. Solche Übertragungen können die Kommunikation aus dem Host-Fahrzeug an einen oder mehrere entfernte Server umfassen. Solche Übertragungen können auch die (uni- oder bidirektionale) Kommunikation zwischen dem Host-Fahrzeug und einem oder mehreren Zielfahrzeugen in einer Umgebung des Host-Fahrzeugs (z. B. zur leichteren Koordinierung der Navigation des Host-Fahrzeugs im Hinblick auf oder zusammen mit Zielfahrzeugen in der Umgebung des Host-Fahrzeugs) oder sogar eine Rundsendeübertragung an nicht näher bezeichnete Empfänger in der Nähe des übertragenden Fahrzeugs umfassen.
  • Sowohl der Anwendungsprozessor 180 als auch der Bildprozessor 190 können verschiedene Arten von Verarbeitungsvorrichtungen enthalten. Der Anwendungsprozessor 180 und der Bildprozessor 190 können beispielsweise einen Mikroprozessor, Vorprozessoren (z. B. einen Bildvorprozessor), eine Grafikverarbeitungseinheit (Graphics Processing Unit, GPU), eine Zentraleinheit (Central Processing Unit, CPU), Unterstützungsschaltungen, digitale Signalprozessoren, integrierte Schaltungen, Speicher oder andere Arten von Vorrichtungen umfassen, die für die Ausführung 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 Mobilvorrichtungen, Zentraleinheit usw. umfassen. Es können verschiedene Verarbeitungsvorrichtungen verwendet werden, z. B. Prozessoren von Herstellern wie Intel®, AMD® usw. oder GPUs von Herstellern wie NVIDIA®, ATI® usw., die verschiedene Architekturen umfassen können (z. B. x86-Prozessor, ARM® usw.).
  • In einigen Ausführungsformen können der Anwendungsprozessor 180 und/oder der Bildprozessor 190 einen beliebigen der von Mobileye® erhältlichen Prozessorchips der EyeQ-Serie enthalten. Diese Prozessorausführungen können jeweils mehrere Verarbeitungseinheiten mit lokalem Speicher und Befehlssätzen umfassen. Solche Prozessoren können Videoeingänge für das Empfangen von Bilddaten aus mehreren Bildsensoren und auch Videoausgangsfunktionen enthalten. In einem Beispiel verwendet der EyeQ2® 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® Cores), fünf Vision Computing Engines (VCE), drei Vektor-Mikrocode-Prozessoren (VMP®), einem Denali 64-Bit-Mobile-DDR-Controller, einem internen 128-Bit-Sonics-Interconnect, zwei 16-Bit-Videoeingangs- und 18-Bit-Videoausgangs-Controllern, 16-Kanal-DMA und verschiedenen Peripherievorrichtungen. Die CPU MIPS34K steuert die fünf VCEs, drei VMP™ und die DMA, die zweite CPU MIPS34K und der Mehrkanal-DMA sowie die anderen Peripherievorrichtungen. Die fünf VCEs, drei VMP® und die CPU MIPS34K 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 als der EyeQ2® ist, in den offenbarten Ausführungsformen verwendet werden. In anderen Beispielen können der EyeQ4® und/oder der EyeQ5® in den offenbarten Ausführungsformen verwendet werden. Selbstverständlich können auch neuere oder zukünftige EyeQ-Verarbeitungsvorrichtungen zusammen mit den hier offenbarten Ausführungsformen verwendet werden.
  • Jede der hier offenbarten Verarbeitungsvorrichtungen kann zum Ausführen bestimmter Funktionen ausgelegt sein. Das Auslegen einer Verarbeitungsvorrichtung, wie eines der beschriebenen EyeQ-Prozessoren oder einer anderen Steuervorrichtung oder eines anderen Mikroprozessors, zum Ausführen bestimmter Funktionen kann das Programmieren von computerausführbaren Anweisungen und das Bereitstellen dieser Anweisungen an die Verarbeitungsvorrichtung zum Ausführen während des Betriebs der Verarbeitungsvorrichtung umfassen. In einigen Ausführungsformen kann das Auslegen einer Verarbeitungsvorrichtung ein direktes Programmieren der Verarbeitungsvorrichtung mit Architekturanweisungen beinhalten. Beispielsweise können Verarbeitungsvorrichtungen wie feldprogrammierbare Gate-Arrays (Field-Programmable Gate Arrays, FPGAs), anwendungsspezifische integrierte Schaltkreise (Application-Specific Integrated Circuits, ASICs) und dergleichen unter Verwendung einer oder mehrerer Hardwarebeschreibungssprachen (Hardware Description Languages, HDLs) ausgelegt werden.
  • In anderen Ausführungsformen kann das Auslegen einer Verarbeitungsvorrichtung das Speichern von ausführbaren Anweisungen in einem Speicher umfassen, auf den die Verarbeitungsvorrichtung während des Betriebs zugreifen kann. Beispielsweise kann die Verarbeitungsvorrichtung auf den Speicher zugreifen, um die gespeicherten Anweisungen während des Betriebs abzurufen und auszuführen. In jedem Fall stellt die Verarbeitungsvorrichtung, die für die Durchführung der hier offenbarten Erfassungs-, Bildanalyse- und/oder Navigationsfunktionen ausgelegt ist, ein spezialisiertes hardwarebasiertes System dar, das mehrere hardwarebasierte Komponenten eines Host-Fahrzeugs steuert.
  • Obwohl in 1 zwei separate Verarbeitungsvorrichtungen in der Verarbeitungseinheit 110 dargestellt sind, können auch mehr oder weniger Verarbeitungsvorrichtungen verwendet werden. In einigen Ausführungsformen kann zum Beispiel eine einzige Verarbeitungsvorrichtung verwendet werden, um die Aufgaben des Anwendungsprozessors 180 und des Bildprozessors 190 zu erfüllen. In anderen Ausführungsformen können diese Aufgaben durch mehr als zwei Verarbeitungsvorrichtungen ausgeführt werden. Ferner kann das System 100 in einigen Ausführungsformen eine oder mehrere Verarbeitungseinheiten 110 enthalten, ohne andere Komponenten, wie z. B. die Bilderfassungseinheit 120, einzubeziehen.
  • Die Verarbeitungseinheit 110 kann verschiedene Arten von Vorrichtungen umfassen. Die Verarbeitungseinheit 110 kann beispielsweise verschiedene Vorrichtungen wie eine Steuervorrichtung, einen Bildvorprozessor, eine Zentraleinheit (CPU), eine Grafikverarbeitungseinheit (GPU), Unterstützungsschaltungen, digitale Signalprozessoren, integrierte Schaltungen, Speicher oder andere Arten von Vorrichtungen für die Bildverarbeitung und -analyse umfassen. Der Bildvorprozessor kann einen Videoprozessor zum Aufnehmen, Digitalisieren und Verarbeiten der Bilder aus 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 allgemein in der Technik gut bekannt sind, wie Cache-, Stromversorgungs-, Takt- und Eingangs-/Ausgangsschaltungen. Im Speicher kann Software gespeichert sein, die beim Ausführen durch den Prozessor den Betrieb des Systems steuert. Der Speicher kann Datenbanken und Bildverarbeitungssoftware beinhalten. Der Speicher kann eine beliebige Anzahl von Direktzugriffsspeichern, Festwertspeichern, Flash-Speichern, Plattenspeichern, 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 beim Ausführen durch einen Prozessor (z. B. den 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 z. B. ein neuronales Netz oder ein tiefes neuronales Netz, umfassen. Zu den Speichereinheiten können Direktzugriffsspeicher (Random Access Memory, RAM), Festwertspeicher (Read Only Memory, ROM), Flash-Speicher, Plattenspeicher, optische Speicher, Bandspeicher, Wechselspeicher und/oder andere Speicherarten gehören. 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 jede Art von Vorrichtung umfassen, die geeignet ist, eine mindestens einer Komponente des Systems 100 zugeordnete Position zu ermitteln. In einigen Ausführungsformen kann der Positionssensor 130 einen GPS-Empfänger enthalten. Diese Empfänger können die Position und die Geschwindigkeit des Benutzers durch Verarbeiten von Signalen ermitteln, die durch Satelliten des Global Positioning Systems gesendet werden. Die 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 Drehzahlmesser, einen Geschwindigkeitsmesser) zur Messung der Geschwindigkeit des Fahrzeugs 200 und/oder einen Beschleunigungsmesser (entweder einachsig oder mehrachsig) zur Messung der Beschleunigung des Fahrzeugs 200 enthalten.
  • Die Benutzeroberfläche 170 kann jede Vorrichtung enthalten, die geeignet ist, einem oder mehreren Benutzern des Systems 100 Informationen zu liefern oder Eingaben von diesen zu empfangen. In einigen Ausführungsformen kann die Benutzeroberfläche 170 Benutzereingabevorrichtungen enthalten, wie z. B. einen Touchscreen, ein Mikrofon, eine Tastatur, Zeigergeräte, Trackwheels, Kameras, Knöpfe, Tasten usw. Mit diesen Eingabevorrichtungen kann ein Benutzer in der Lage sein, Informationseingaben oder Befehle an das System 100 durch Eingeben von Anweisungen oder Informationen, Erteilen von Sprachbefehlen, Auswählen von Menüoptionen auf einem Bildschirm mittels Schaltflächen, Zeigern oder Augenverfolgung oder andere geeignete Techniken zur Übermittlung von Informationen an das System 100 zu geben.
  • Die Benutzeroberfläche 170 kann mit einer oder mehreren Verarbeitungsvorrichtungen ausgestattet sein, die dazu ausgelegt sind, Informationen an einen Benutzer bereitzustellen und von einem Benutzer zu empfangen und diese Informationen zur Verwendung durch z. B. den Anwendungsprozessor 180 zu verarbeiten. In einigen Ausführungsformen können solche Verarbeitungsvorrichtungen 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 Benutzeroberfläche 170 eine Anzeigevorrichtung, einen Lautsprecher, eine taktile Vorrichtung und/oder andere Vorrichtungen zur Bereitstellung von Ausgabeinformationen für einen Benutzer umfassen.
  • Die Kartendatenbank 160 kann jede Art von Datenbank zum Speichern von Kartendaten beinhalten, die für das System 100 von Nutzen sind. In einigen Ausführungsformen kann die Kartendatenbank 160 Daten enthalten, die sich auf die Position verschiedener Elemente in einem Referenzkoordinatensystem beziehen, z. B. Straßen, Gewässer, geografische Merkmale, Unternehmen, Punkte von Interesse, Restaurants, Tankstellen usw. In der Kartendatenbank 160 können nicht nur die Positionen solcher Objekte, sondern auch Deskriptoren gespeichert sein, die sich auf diese Objekte beziehen, wie z. B. Namen, die den gespeicherten Merkmalen zugeordnet sind. In einigen Ausführungsformen kann sich die Kartendatenbank 160 physisch mit anderen Komponenten des Systems 100 verbunden befinden. 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 die 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 Polynomdarstellungen bestimmter Straßenmerkmale (z. B. Fahrstreifenmarkierungen) oder Sollbewegungsbahnen für das Host-Fahrzeug speichern. Systeme und Verfahren zur Erzeugung einer solchen Karte werden im Folgenden unter Bezugnahme auf 8-19 erörtert.
  • Die Bilderaufuahmevorrichtungen 122, 124 und 126 können alle Arten von Vorrichtungen umfassen, die für die Aufnahme mindestens eines Bildes aus einer Umgebung geeignet sind. Außerdem kann eine beliebige Anzahl von Bildaufnahmevorrichtungen verwendet werden, um Bilder für die Eingabe in den Bildprozessor zu erfassen. Einige Ausführungsformen können nur eine einzige Bildaufnahmevorrichtung enthalten, während andere Ausführungsformen zwei, drei oder sogar vier oder mehr Bildaufnahmevorrichtungen enthalten können. Die Bildaufnahmevorrichtungen 122, 124 und 126 werden nachstehend unter Bezugnahme auf 2B-2E näher beschrieben.
  • Das System 100 oder verschiedene Komponenten davon können in verschiedene Plattformen integriert sein. In einigen Ausführungsformen kann das System 100 wie in 2A gezeigt in einem Fahrzeug 200 enthalten sein. Beispielsweise kann das Fahrzeug 200 mit einer Verarbeitungseinheit 110 und allen anderen Komponenten des Systems 100 ausgestattet sein, wie oben mit Bezug auf 1 beschrieben. Obwohl in einigen Ausführungsformen das Fahrzeug 200 mit nur einer einzigen Bildaufhahmevorrichtung (z. B. einer Kamera) ausgestattet sein kann, können in anderen Ausführungsformen, die mit Bezug auf 2B-2E erörtert werden, mehrere Bildaufnahmevorrichtungen verwendet werden. Beispielsweise kann eine der beiden Bildaufnahmevorrichtungen 122 und 124 des Fahrzeugs 200, wie in 2A dargestellt, Teil einer Bildgebungsvorrichtung eines fortgeschrittenen Fahrerassistenzsystems (Advanced Driver Assistance System, ADAS) sein.
  • Die Bildaufhahmevorrichtungen, 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 Bildaufnahmevorrichtung 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 Ermittlung helfen kann, was für den Fahrer sichtbar ist und was nicht. Die Bildaufhahmevorrichtung 122 kann an einer beliebigen Stelle in der Nähe des Rückspiegels positioniert sein, aber die Platzierung der Bildaufhahmevorrichtung 122 auf der Fahrerseite des Spiegels kann dazu beitragen, Bilder zu erhalten, die das Sichtfeld und/oder die Sichtlinie des Fahrers darstellen.
  • Es können auch andere Stellen für die Bildaufnahmevorrichtungen der Bilderfassungseinheit 120 verwendet werden. Die Bildaufhahmevorrichtung 124 kann sich zum Beispiel an oder in einem Stoßfänger des Fahrzeugs 200 befinden. Eine solche Stelle eignet sich besonders für Bildaufhahmevorrichtungen mit einem weiten Sichtfeld. Die Sichtlinie der am Stoßfänger angebrachten Bildaufhahmevorrichtungen kann sich von der des Fahrers unterscheiden, sodass die Stoßfänger-Bildaufhahmevorrichtung und der Fahrer unter Umständen nicht immer dieselben Objekte sehen können. Die Bildaufhahmevorrichtungen (z. B. die Bildaufhahmevorrichtungen 122, 124 und 126) können sich auch an anderen Stellen befinden. Die Bildaufnahmevorrichtungen können sich beispielsweise an oder in einem oder beiden Seitenspiegeln des Fahrzeugs 200, auf dem Dach des Fahrzeugs 200, auf der Motorhaube des Fahrzeugs 200, auf dem Kofferraum des Fahrzeugs 200, an den Seiten des Fahrzeugs 200, an, hinter oder vor einem der Fenster des Fahrzeugs 200 und in oder in der Nähe von Lichtfiguren an der Vorder- und/oder Rückseite des Fahrzeugs 200 usw. befinden.
  • Zusätzlich zu den Bildaufhahmevorrichtungen kann das Fahrzeug 200 verschiedene andere Komponenten des Systems 100 enthalten. Beispielsweise kann die Verarbeitungseinheit 110 in das Fahrzeug 200 integriert oder vom Motorsteuergerät (Engine Control Unit, ECU) des Fahrzeugs getrennt sein. Das Fahrzeug 200 kann auch mit einem Positionssensor 130, z. B. einem GPS-Empfänger, ausgestattet sein und eine Kartendatenbank 160 sowie Hauptspeichereinheiten 140 und 150 enthalten.
  • Wie bereits erwähnt, kann der drahtlose Sender-Empfänger 172 Daten über ein oder mehrere Netzwerke (z. B. Mobilfunknetze, das Internet usw.) empfangen. Beispielsweise kann der drahtlose Sender-Empfänger 172 die durch das System 100 gesammelten Daten auf einen oder mehrere Server hochladen und Daten aus dem einen oder den mehreren Servern herunterladen. Über den drahtlosen Sender-Empfänger 172 kann das System 100 beispielsweise regelmäßige oder bedarfsabhängige Aktualisierungen der in der Kartendatenbank 160, im Speicher 140 und/oder im Speicher 150 gespeicherten Daten empfangen. In ähnlicher Weise kann der drahtlose Sender-Empfänger 172 alle Daten (z. B. Bilder, die durch die Bilderfassungseinheit 120 aufgenommen wurden, Daten, die durch den Positionssensor 130 oder andere Sensoren, Fahrzeugsteuerungssysteme usw. empfangen wurden) aus dem System 100 und/oder alle Daten, die durch die Verarbeitungseinheit 110 verarbeitet wurden, auf einen oder mehrere Server hochladen.
  • Das System 100 kann Daten auf Grundlage einer Datenschutzstufe auf einen Server (z. B. in die Cloud) hochladen. Beispielsweise kann das System 100 Datenschutzstufen 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/Halter eines Fahrzeugs eindeutig identifizieren können. Solche Einstellungen können durch den Benutzer z. B. über den drahtlosen Sender-Empfänger 172 vorgenommen werden, durch werkseitige Standardeinstellungen oder durch aus dem drahtlosen Sender-Empfänger 172 empfangene Daten initialisiert werden.
  • 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. Positionsinformationen in Bezug auf eine Route, aufgenommene Bilder usw.) ohne Einzelheiten über das spezifische Fahrzeug und/oder den Fahrer/Halter übertragen. Beim Hochladen von Daten gemäß einer „hohen“ Datenschutzeinstellung kann das System 100 beispielsweise keine Fahrzeugidentifizierungsnummer oder den Namen eines Fahrers oder Halters des Fahrzeugs enthalten und stattdessen Daten wie aufgenommene Bilder und/oder begrenzte Positionsinformationen in Bezug auf eine Route übertragen.
  • Andere Datenschutzstufen werden in Betracht gezogen. Beispielsweise kann das System 100 Daten gemäß einer „mittleren“ Datenschutzstufe an einen Server übertragen und zusätzliche Informationen enthalten, die in der „hohen“ Datenschutzstufe nicht enthalten sind, wie z. B. die Marke und/oder das Modell eines Fahrzeugs und/oder die Fahrzeugart (z. B. Pkw, Geländewagen, Lkw usw.). In einigen Ausführungsformen kann das System 100 Daten gemäß einer „niedrigen“ Datenschutzstufe hochladen. Bei einer „niedrigen“ Datenschutzstufe kann das System 100 Daten hochladen und Informationen enthalten, die ausreichen, um ein bestimmtes Fahrzeug, den Halter/Fahrer und/oder einen Teil oder die gesamte durch das Fahrzeug zurückgelegte Route eindeutig zu identifizieren. Solche Daten mit „niedriger“ Datenschutzstufe können beispielsweise die Fahrgestellnummer, den Namen des Fahrers/Halters, den Abfahrtsort des Fahrzeugs, den vorgesehenen Zielort des Fahrzeugs, die Marke und/oder das Modell des Fahrzeugs, die Fahrzeugart usw. enthalten.
  • 2A ist eine schematische Seitenansicht eines Beispiels für ein Fahrzeugbildgebungssystem in Übereinstimmung mit 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 enthalten, das in seiner Karosserie ein System 100 mit einer ersten Bildaufhahmevorrichtung 122, die in der Nähe des Rückspiegels und/oder in der Nähe des Fahrers des Fahrzeugs 200 positioniert ist, eine zweite Bildaufhahmevorrichtung 124, die auf oder in einem Stoßfängerbereich (z. B. einem der Stoßfängerbereiche 210) des Fahrzeugs 200 positioniert ist, und eine Verarbeitungseinheit 110 enthält.
  • Wie in 2C dargestellt, können die Bildaufhahmevorrichtungen 122 und 124 beide in der Nähe des Rückspiegels und/oder in der Nähe des Fahrers des Fahrzeugs 200 angeordnet sein. Obwohl in 2B und 2C zwei Bildaufnahmevorrichtungen 122 und 124 gezeigt sind, können andere Ausführungsformen auch mehr als zwei Bildaufhahmevorrichtungen enthalten. Beispielsweise sind in den in 2D und 2E gezeigten Ausführungsformen eine erste, zweite und dritte Bildaufhahmevorrichtung 122, 124 und 126 in das System 100 des Fahrzeugs 200 integriert.
  • Wie in 2D dargestellt, kann die Bildaufhahmevorrichtung 122 in der Nähe des Rückspiegels und/oder in der Nähe des Fahrers des Fahrzeugs 200 positioniert sein, und die Bildaufhahmevorrichtungen 124 und 126 können auf oder in einem Stoßfängerbereich (z. B. einem der Stoßfängerbereiche 210) des Fahrzeugs 200 positioniert sein. Und wie in 2E gezeigt, können die Bildaufhahmevorrichtungen 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 Auslegung der Bildaufhahmevorrichtungen beschränkt, und die Bildaufhahmevorrichtungen 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 Zusammenhängen angewendet werden können. Es ist auch zu verstehen, dass die offenbarten Ausführungsformen nicht auf eine bestimmte Fahrzeugart 200 beschränkt sind und für alle Fahrzeugarten, einschließlich Pkws, Lkws, Anhänger und andere Fahrzeugarten, anwendbar sein können.
  • Die erste Bildaufnahmevorrichtung 122 kann jede geeignete Art von Bildaufhahmevorrichtung sein. Die Bildaufhahmevorrichtung 122 kann eine optische Achse enthalten. In einem Fall kann die Bildaufhahmevorrichtung 122 einen Aptina M9V024 WVGA-Sensor mit einem globalen Verschluss enthalten. In anderen Ausführungsformen kann die Bildaufnahmevorrichtung 122 eine Auflösung von 1280x960 Pixeln bieten und einen Rollverschluss enthalten. Die Bildaufhahmevorrichtung 122 kann verschiedene optische Elemente enthalten. In einigen Ausführungsformen können eine oder mehrere Linsen enthalten sein, um z. B. eine gewünschte Brennweite und ein gewünschtes Sichtfeld für die Bildaufhahmevorrichtung bereitzustellen. In einigen Ausführungsformen kann die Bildaufnahmevorrichtung 122 einem 6-mm-Objektiv oder einem 12-mm-Objektiv zugeordnet sein. In einigen Ausführungsformen kann die Bildaufnahmevorrichtung 122 dazu ausgelegt sein, Bilder mit einem gewünschten Sichtfeld (Field of View, FOV) 202 aufzunehmen, wie in 2D dargestellt. Zum Beispiel kann die Bildaufnahmevorrichtung 122 dazu ausgelegt sein, ein reguläres FOV, z. B. in einem Bereich von 40 Grad bis 56 Grad, wie beispielsweise ein FOV von 46 Grad, ein FOV von 50 Grad, ein FOV 52 Grad oder mehr aufzuweisen. Alternativ kann die Bildaufhahmevorrichtung 122 dazu ausgelegt sein, ein schmales FOV im Bereich von 23 bis 40 Grad, z. B. ein FOV von 28 Grad oder 36 Grad aufzuweisen. Darüber hinaus kann die Bildaufhahmevorrichtung 122 dazu ausgelegt sein, ein weites FOV im Bereich von 100 bis 180 Grad aufzuweisen. In einigen Ausführungsformen kann die Bildaufnahmevorrichtung 122 eine Weitwinkel-Stoßfängerkamera oder eine Kamera mit einem Sichtfeld von bis zu 180 Grad enthalten. In einigen Ausführungsformen kann die Bildaufhahmevorrichtung 122 eine 7,2-Megapixel-Bildaufnahmevorrichtung mit einem Seitenverhältnis von etwa 2:1 (z. B. HxV=3800x1900 Pixel) mit einem horizontalen Sichtfeld von etwa 100 Grad sein. Eine solche Bildaufhahmevorrichtung kann anstelle einer Ausbildung mit drei Bildaufhahmevorrichtungen verwendet werden. Aufgrund starker Linsenverzeichnung kann das vertikale Sichtfeld einer solchen Bildaufnahmevorrichtung deutlich weniger als 50 Grad betragen, wenn die Bildaufhahmevorrichtung eine radialsymmetrische Linse verwendet. Eine solche Linse kann zum Beispiel nicht radial symmetrisch sein, was ein vertikales Sichtfeld von mehr als 50 Grad bei einem horizontalen Sichtfeld von 100 Grad ermöglichen würde.
  • Die erste Bildaufnahmevorrichtung 122 kann eine Vielzahl von ersten Bildern in Bezug auf eine dem Fahrzeug 200 zugeordnete Szenerie aufnehmen. Jedes der Vielzahl von ersten Bildern kann als eine Reihe von Bildabtastzeilen erfasst werden, die mit einem Rollverschluss aufgenommen werden können. Jede Abtastzeile kann eine Vielzahl von Pixeln enthalten.
  • Die erste Bildaufnahmevorrichtung 122 kann eine Abtastrate aufweisen, die der Erfassung jeder der ersten Reihe von Bildabtastzeilen zugeordnet ist. Die Abtastrate kann sich auf eine Geschwindigkeit beziehen, mit der ein Bildsensor Bilddaten erfassen kann, die jedem Pixel in einer bestimmten Abtastzeile zugeordnet sind.
  • Die Bildaufhahmevorrichtungen 122, 124 und 126 können jede geeignete Art und Anzahl von Bildsensoren, z. B. CCD-Sensoren oder CMOS-Sensoren, enthalten. In einer Ausführungsform kann ein CMOS-Bildsensor zusammen mit einem Rollverschluss verwendet werden, sodass jedes Pixel in einer Reihe einzeln ausgelesen wird und die Reihen zeilenweise abgetastet werden, bis ein ganzes Bild aufgenommen wurde. In einigen Ausführungsformen können die Zeilen in Bezug auf den Rahmen von oben nach unten aufgenommen werden.
  • In einigen Ausführungsformen können eine oder mehrere der hier offenbarten Bildaufhahmevorrichtungen (z. B. die Bildaufhahmevorrichtungen 122, 124 und 126) einen hochauflösenden Bildgeber darstellen und eine Auflösung von mehr als 5 Mio. Pixel, 7 Mio. Pixel, 10 Mio. Pixel oder mehr aufweisen.
  • Die Verwendung eines Rollverschlusses kann dazu führen, dass Pixel in verschiedenen Reihen zu unterschiedlichen Zeiten belichtet und aufgenommen werden, was zu Verzerrungen und anderen Bildartefakten im aufgenommenen Bild führen kann. Ist die Bildaufnahmevorrichtung 122 hingegen dazu ausgelegt, mit einem globalen oder synchronen Verschluss zu arbeiten, können alle Pixel in der gleichen Zeit und während eines gemeinsamen Belichtungszeitraums belichtet werden. Infolgedessen stellen die Bilddaten in einem Bild, das durch ein System mit globalem Verschluss erfasst wird, eine Momentaufnahme des gesamten FOV (z. B. FOV 202) zu einem bestimmten Zeitpunkt dar. Im Gegensatz dazu wird bei einer Rollverschlussanwendung jede Zeile eines Bildes belichtet und die Daten werden zu unterschiedlichen Zeiten aufgenommen. Daher können bewegte Objekte in einer Bildaufnahmevorrichtung mit Rollverschluss verzerrt erscheinen. Dieses Phänomen wird im Folgenden ausführlicher beschrieben.
  • Bei der zweiten Bildaufnahmevorrichtung 124 und der dritten Bildaufnahmevorrichtung 126 kann es sich um jede Art von Bildaufnahmevorrichtung handeln. Wie die erste Bildaufnahmevorrichtung 122 kann auch jede der Bildaufnahmevorrichtungen 124 und 126 eine optische Achse aufweisen. In einer Ausführungsform kann jede der Bildaufnahmevorrichtungen 124 und 126 einen Aptina M9V024 WVGA-Sensor mit einem globalen Verschluss enthalten. Alternativ kann jede der Bildaufnahmevorrichtungen 124 und 126 einen Rollverschluss enthalten. Wie die Bildaufnahmevorrichtung 122 können auch die Bildaufnahmevorrichtungen 124 und 126 dazu ausgelegt sein, verschiedene Linsen und optische Elemente zu enthalten. In einigen Ausführungsformen können Linsen, die den Bildaufnahmevorrichtungen 124 und 126 zugeordnet sind, FOVs (wie die FOVs 204 und 206) bereitstellen, die gleich oder schmaler als ein FOV (wie das FOV 202) sind, das der Bildaufnahmevorrichtung 122 zugeordnet ist. Beispielsweise können die Bildaufnahmevorrichtungen 124 und 126 ein FOV von 40 Grad, 30 Grad, 26 Grad, 23 Grad, 20 Grad oder weniger aufweisen.
  • Die Bildaufnahmevorrichtungen 124 und 126 können eine Vielzahl von zweiten und dritten Bildern in Bezug auf eine dem Fahrzeug 200 zugeordnete Szenerie aufnehmen. Jedes der Vielzahl von zweiten und dritten Bildern kann als eine zweite und dritte Serie von Bildabtastzeilen erfasst werden, die durch Verwendung eines Rollverschlusses aufgenommen werden können. Jede Abtastzeile oder -reihe kann eine Vielzahl von Pixeln enthalten. Die Bildaufnahmevorrichtungen 124 und 126 können eine zweite und dritte Abtastrate aufweisen, die der Erfassung jeder der Bildabtastzeilen in der zweiten und dritten Serie zugeordnet sind.
  • Jede Bildaufnahmevorrichtung 122, 124 und 126 kann in jeder geeigneten Position und Ausrichtung relativ zum Fahrzeug 200 positioniert sein. Die relative Positionierung der Bildaufnahmevorrichtungen 122, 124 und 126 kann so gewählt sein, dass die durch die Bildaufnahmevorrichtungen erfassten Informationen zusammengeführt werden. In einigen Ausführungsformen kann sich zum Beispiel ein FOV (wie das FOV 204), das der Bildaufnahmevorrichtung 124 zugeordnet ist, teilweise oder vollständig einem FOV (wie dem FOV 202), das der Bildaufnahmevorrichtung 122 zugeordnet ist, und einem FOV (wie dem FOV 206), das der Bildaufnahmevorrichtung 126 zugeordnet ist, überschneiden.
  • Die Bildaufnahmevorrichtungen 122, 124 und 126 können am Fahrzeug 200 in jeder geeigneten Höhe angebracht sein. In einem Fall kann ein Höhenunterschied zwischen den Bildaufnahmevorrichtungen 122, 124 und 126 bestehen, der ausreichende Parallaxeninformationen für eine Stereoanalyse liefern kann. Wie in 2A dargestellt, befinden sich die beiden Bildaufnahmevorrichtungen 122 und 124 beispielsweise auf unterschiedlichen Höhen. Es kann auch eine seitliche Verschiebungsdifferenz zwischen den Bildaufnahmevorrichtungen 122, 124 und 126 bestehen, die zum Beispiel zusätzliche Parallaxeninformationen für die Stereoanalyse durch die Verarbeitungseinheit 110 liefert. Die Differenz der seitlichen Verschiebung kann mit dx bezeichnet werden, wie in 2C und 2D gezeigt. In einigen Ausführungsformen kann zwischen den Bildaufhahmevorrichtungen 122, 124 und 126 eine Verschiebung nach vorne oder hinten (z. B. eine Bereichsverschiebung) bestehen. Beispielsweise kann sich die Bildaufhahmevorrichtung 122 0,5 bis 2 Meter oder mehr hinter der Bildaufhahmevorrichtung 124 und/oder der Bildaufhahmevorrichtung 126 befinden. Durch diese Art der Verschiebung kann eine der Bildaufnahmevorrichtungen mögliche blinde Stellen der anderen Bildaufnahmevorrichtung(en) abdecken.
  • Die Bildaufhahmevorrichtungen 122 können ein beliebiges geeignetes Auflösungsvermögen aufweisen (z. B. die Anzahl der dem Bildsensor zugeordneten Pixel), und die Auflösung des Bildsensors/der Bildsensoren, der/die der Bildaufnahmevorrichtung 122 zugeordnet ist/sind, kann höher, niedriger oder gleich wie die Auflösung des Bildsensors/der Bildsensoren sein, der/die den Bildaufnahmevorrichtungen 124 und 126 zugeordnet ist/sind. In einigen Ausführungsformen kann der Bildsensor bzw. können die Bildsensoren, die der Bildaufnahmevorrichtung 122 und/oder den Bildaufhahmevorrichtungen 124 und 126 zugeordnet sind, eine Auflösung von 640 x 480, 1024 x 768, 1280 x 960 oder eine andere geeignete Auflösung aufweisen.
  • Die Bildrate (z. B. die Geschwindigkeit, mit der eine Bildaufnahmevorrichtung einen Satz von Pixeldaten eines Bildes erfasst, bevor sie zur Aufnahme von Pixeldaten des nächsten Bildes übergeht) kann steuerbar sein. Die der Bildaufhahmevorrichtung 122 zugeordnete Bildrate kann höher, niedriger oder gleich wie die den Bildaufnahmevorrichtungen 124 und 126 zugeordnete Bildrate sein. Die den Bildaufhahmevorrichtungen 122, 124 und 126 zugeordnete Bildrate kann von einer Vielzahl von Faktoren abhängen, die die Zeitsteuerung der Bildrate beeinflussen können. Beispielsweise können eine oder mehrere der Bildaufnahmevorrichtungen 122, 124 und 126 eine wählbare Pixelverzögerungsdauer enthalten, die vor oder nach der Erfassung von Bilddaten, die einem oder mehreren Pixeln eines Bildsensors in der Bildaufhahmevorrichtung 122, 124 und/oder 126 zugeordnet sind, auferlegt wird. Im Allgemeinen können die Bilddaten, die jedem Pixel entsprechen, gemäß einer Taktrate (z. B. ein Pixel pro Taktzyklus) für die Vorrichtung erfasst werden. In Ausführungsformen mit Rollverschluss können eine oder mehrere der Bildaufnahmevorrichtungen 122, 124 und 126 außerdem eine wählbare horizontale Austastdauer enthalten, die vor oder nach der Erfassung von Bilddaten, die einer Reihe von Pixeln eines Bildsensors in der Bildaufhahmevorrichtung 122, 124 und/oder 126 zugeordnet sind, auferlegt wird. Darüber hinaus können eine oder mehrere der Bildaufnahmevorrichtungen 122, 124 und/oder 126 eine wählbare vertikale Austastdauer enthalten, die vor oder nach der Erfassung von Bilddaten, die einem Bildrahmen der Bildaufhahmevorrichtung 122, 124 und 126 zugeordnet sind, auferlegt wird.
  • Diese Zeitsteuerungen können die Synchronisierung der Bildraten der Bildaufhahmevorrichtungen 122, 124 und 126 ermöglichen, selbst wenn die Zeilenabtastraten der einzelnen Vorrichtungen unterschiedlich sind. Wie weiter unten näher erläutert, können diese wählbaren Zeitsteuerungen neben anderen Faktoren (z. B. Bildsensorauflösung, maximale Zeilenabtastraten usw.) die Synchronisierung der Bildaufnahme aus einem Bereich ermöglichen, in dem sich das FOV der Bildaufhahmevorrichtung 122 mit einem oder mehreren FOVs der Bildaufnahmevorrichtungen 124 und 126 überschneidet, selbst wenn sich das Sichtfeld der Bildaufnahmevorrichtung 122 von den FOVs der Bildaufhahmevorrichtungen 124 und 126 unterscheidet.
  • Die Zeitsteuerung der Bildrate in den Bildaufnahmevorrichtungen 122, 124 und 126 kann von der Auflösung der zugeordneten Bildsensoren abhängen. Wenn beispielsweise eine Vorrichtung einen Bildsensor mit einer Auflösung von 640 x 480 und eine andere Vorrichtung einen Bildsensor mit einer Auflösung von 1280 x 960 aufweist, wird bei ähnlichen Zeilenabtastraten für beide Vorrichtungen mehr Zeit für die Erfassung eines Bildes mit Bilddaten aus dem Sensor mit der höheren Auflösung benötigt.
  • Ein weiterer Faktor, der die Zeitsteuerung der Bilddatenerfassung in den Bildaufnahmevorrichtungen 122, 124 und 126 beeinflussen kann, ist die maximale Zeilenabtastrate. Die Erfassung einer Reihe von Bilddaten aus einem Bildsensor, der in den Bildaufnahmevorrichtungen 122, 124 und 126 enthalten ist, erfordert zum Beispiel eine gewisse Mindestzeit. Unter der Annahme, dass keine Pixelverzögerungszeiten hinzugefügt werden, hängt diese Mindestzeit für die Erfassung einer Bilddatenreihe mit der maximalen Zeilenabtastrate für eine bestimmte Vorrichtung zusammen. Vorrichtungen, die eine höhere maximale Zeilenabtastrate bieten, haben das Potenzial, höhere Bildraten als Vorrichtungen mit einer niedrigeren maximalen Zeilenabtastrate zu liefern. In einigen Ausführungsformen können eine oder mehrere der Bildaufnahmevorrichtungen 124 und 126 eine maximale Zeilenabtastrate aufweisen, die höher als die maximale Zeilenabtastrate der Bildaufhahmevorrichtung 122 ist. In einigen Ausführungsformen kann die maximale Zeilenabtastrate der Bildaufhahmevorrichtung 124 und/oder 126 das 1,25-, 1,5-, 1,75- oder 2-fache oder mehr der maximalen Zeilenabtastrate der Bildaufnahmevorrichtung 122 betragen.
  • In einer anderen Ausführungsform können die Bildaufnahmevorrichtungen 122, 124 und 126 die gleiche maximale Zeilenabtastrate aufweisen, aber die Bildaufnahmevorrichtung 122 kann mit einer Abtastrate betrieben werden, die kleiner oder gleich ihrer maximalen Abtastrate ist. Das System kann dazu ausgelegt sein, dass eine oder mehrere der Bildaufnahmevorrichtungen 124 und 126 mit einer Zeilenabtastrate arbeiten, die gleich der Zeilenabtastrate der Bildaufnahmevorrichtung 122 ist. In anderen Fällen kann das System so ausgelegt sein, dass die Zeilenabtastrate der Bildaufnahmevorrichtung 124 und/oder der Bildaufnahmevorrichtung 126 das 1,25-, 1,5-, 1,75- oder 2-fache oder mehr der Zeilenabtastrate der Bildaufnahmevorrichtung 122 beträgt.
  • In einigen Ausführungsformen können die Bildaufnahmevorrichtungen 122, 124 und 126 asymmetrisch sein. Das heißt, sie können Kameras mit unterschiedlichen Sichtfeldern (Fields of View, FOV) und Brennweiten enthalten. Die Sichtfelder der Bildaufnahmevorrichtungen 122, 124 und 126 können jeden gewünschten Bereich in Bezug auf die Umgebung des Fahrzeugs 200 enthalten. In einigen Ausführungsformen können eine oder mehrere der Bildaufnahmevorrichtungen 122, 124 und 126 dazu ausgelegt sein, Bilddaten aus einer Umgebung vor dem Fahrzeug 200, hinter dem Fahrzeug 200, an den Seiten des Fahrzeugs 200 oder Kombinationen davon zu erfassen.
  • Darüber hinaus kann die Brennweite jeder Bildaufhahmevorrichtung 122, 124 und/oder 126 wählbar sein (z. B. durch Einfügen geeigneter Linsen usw.), sodass jede Vorrichtung Bilder von Objekten in einem gewünschten Entfernungsbereich relativ zum Fahrzeug 200 erfasst. In einigen Ausführungsformen können die Bildaufnahmevorrichtungen 122, 124 und 126 beispielsweise Bilder von Objekten aufnehmen, die sich nur wenige Meter vom Fahrzeug entfernt befinden. Die Bildaufnahmevorrichtungen 122, 124 und 126 können auch dazu ausgelegt sein, Bilder von Objekten aufzunehmen, die weiter (z. B. 25 m, 50 m, 100 m, 150 m oder mehr) vom Fahrzeug entfernt sind. Ferner können die Brennweiten der Bildaufnahmevorrichtungen 122, 124 und 126 so gewählt sein, dass eine Bildaufhahmevorrichtung (z. B. die Bildaufnahmevorrichtung 122) Bilder von Objekten erfassen kann, die sich relativ nah (z. B. innerhalb von 10 m oder innerhalb von 20 m) am Fahrzeug befinden, während die anderen Bildaufnahmevorrichtungen (z. B. die Bildaufnahmevorrichtungen 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 eines oder mehrerer Bildaufnahmevorrichtungen 122, 124 und 126 einen weiten Winkel aufweisen. Beispielsweise kann es von Vorteil sein, ein FOV von 140 Grad aufzuweisen, insbesondere für die Bildaufnahmevorrichtungen 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 Bildaufnahmevorrichtung 122 dazu verwendet werden, Bilder des Bereichs rechts oder links des Fahrzeugs 200 aufzunehmen, und in solchen Ausführungsformen kann es wünschenswert sein, dass die Bildaufnahmevorrichtung 122 ein weites Sichtfeld (z. B. von mindestens 140 Grad) aufweist.
  • Das Sichtfeld der einzelnen Bildaufnahmevorrichtungen 122, 124 und 126 kann von den jeweiligen Brennweiten abhängen. Beispielsweise nimmt mit zunehmender Brennweite das entsprechende Sichtfeld ab.
  • Die Bildaufnahmevorrichtungen 122, 124 und 126 können dazu ausgelegt sein, ein beliebiges geeignetes Sichtfeld aufzuweisen. In einem bestimmten Beispiel kann die Bildaufhahmevorrichtung 122 ein horizontales FOV von 46 Grad, die Bildaufnahmevorrichtung 124 ein horizontales FOV von 23 Grad und die Bildaufnahmevorrichtung 126 ein horizontales FOV zwischen 23 und 46 Grad aufweisen. In einem anderen Fall kann die Bildaufnahmevorrichtung 122 ein horizontales FOV von 52 Grad, die Bildaufnahmevorrichtung 124 ein horizontales FOV von 26 Grad und die Bildaufhahmevorrichtung 126 ein horizontales FOV zwischen 26 und 52 Grad aufweisen. In einigen Ausführungsformen kann das Verhältnis zwischen dem FOV der Bildaufnahmevorrichtung 122 und den FOVs der Bildaufnahmevorrichtung 124 und/oder der Bildaufnahmevorrichtung 126 zwischen 1,5 und 2,0 variieren. In anderen Ausführungsformen kann dieses Verhältnis zwischen 1,25 und 2,25 variieren.
  • Das System 100 kann so ausgelegt sein, dass sich ein Sichtfeld der Bildaufhahmevorrichtung 122 mindestens teilweise oder vollständig mit einem Sichtfeld der Bildaufhahmevorrichtung 124 und/oder der Bildaufnahmevorrichtung 126 überschneidet. In einigen Ausführungsformen kann das System 100 so ausgelegt sein, dass die Sichtfelder der Bildaufnahmevorrichtungen 124 und 126 beispielsweise in das Sichtfeld der Bildaufhahmevorrichtung 122 fallen (z. B. schmaler sind als dieses) und einen gemeinsamen Mittelpunkt mit diesem aufweisen. In anderen Ausführungsformen können die Bildaufnahmevorrichtungen 122, 124 und 126 benachbarte FOVs aufnehmen oder ihre FOVs können sich teilweise überschneiden. In einigen Ausführungsformen können die Sichtfelder der Bildaufnahmevorrichtungen 122, 124 und 126 so ausgerichtet sein, dass sich die Mitte der Bildaufnahmevorrichtungen 124 und/oder 126 mit dem engeren Sichtfeld in der unteren Hälfte des Sichtfelds der Vorrichtung 122 mit dem weiteren Sichtfeld befindet.
  • 2F ist eine schematische Darstellung von beispielhaften Fahrzeugsteuerungssystemen in Übereinstimmung mit den offenbarten Ausführungsformen. Wie in 2F dargestellt, kann das Fahrzeug 200 ein Drosselsystem 220, ein Bremssystem 230 und ein Lenksystem 240 enthalten. Das System 100 kann Eingaben (z. B. Steuersignale) an das Drosselsystem 220, das Bremssystem 230 oder das Lenksystem 240 über eine oder mehrere Datenverbindungen (z. B. eine oder mehrere drahtgebundene und/oder drahtlose Verbindungen zur Datenübertragung) bereitstellen. Beispielsweise kann das System 100 basierend auf der Analyse von Bildern, die durch die Bildaufhahmevorrichtungen 122, 124 und/oder 126 erfasst werden, Steuersignale an ein oder mehrere Drosselsysteme 220, Bremssysteme 230 und Lenksysteme 240 senden, um das Fahrzeug 200 zu navigieren (z. B. durch Veranlassen einer Beschleunigung, eines Abbiegens, eines Fahrstreifenwechsels usw.). Ferner kann das System 100 Eingaben aus einem oder mehreren Drosselsystemen 220, Bremssystemen 230 und Lenksystemen 240 empfangen, die die Betriebsbedingungen des Fahrzeugs 200 (z. B. die Geschwindigkeit, ob das Fahrzeug 200 bremst und/oder abbiegt usw.) angeben. Weitere Einzelheiten werden in Verbindung mit 4-7 beschrieben.
  • Wie in 3A gezeigt, kann das Fahrzeug 200 auch eine Benutzeroberfläche 170 für die Interaktion mit einem Fahrer oder einem Fahrgast des Fahrzeugs 200 enthalten. Beispielsweise kann die Benutzeroberfläche 170 in einer Fahrzeuganwendung einen Touchscreen 320, Knöpfe 330, Tasten 340 und ein Mikrofon 350 enthalten. Ein Fahrer oder Fahrgast des Fahrzeugs 200 kann auch Handgriffe (z. B. an oder in der Nähe der Lenksäule des Fahrzeugs 200, z. B. Blinkergriffe), Knöpfe (z. B. am Lenkrad des Fahrzeugs 200) und dergleichen zur Interaktion mit dem System 100 verwenden. In einigen Ausführungsformen kann das Mikrofon 350 in der Nähe eines Rückspiegels 310 positioniert sein. In ähnlicher Weise kann sich in einigen Ausführungsformen die Bildaufnahmevorrichtung 122 in der Nähe des Rückspiegels 310 befinden. In einigen Ausführungsformen kann die Benutzeroberfläche 170 auch einen oder mehrere Lautsprecher 360 (z. B. Lautsprecher eines Fahrzeugaudiosystems) enthalten. Beispielsweise kann das System 100 verschiedene Benachrichtigungen (z. B. Alarme) über die Lautsprecher 360 ausgeben.
  • 3B-3D sind Illustrationen eines Beispiels für eine Kamerahalterung 370 in Übereinstimmung mit den offenbarten Ausführungsformen, die dazu ausgelegt ist, hinter einem Rückspiegel (z. B. dem Rückspiegel 310) und an einer Fahrzeugwindschutzscheibe positioniert zu werden. Wie in 3B gezeigt, kann die Kamerahalterung 370 die Bildaufnahmevorrichtungen 122, 124 und 126 enthalten. Die Bildaufnahmevorrichtungen 124 und 126 können hinter einem Blendschutz 380 positioniert werden, der bündig an der Windschutzscheibe des Fahrzeugs anliegen kann und eine Zusammensetzung aus Folie und/oder nicht reflektierenden Materialien enthält. Der Blendschutz 380 kann beispielsweise so positioniert sein, dass er sich an der Windschutzscheibe des Fahrzeugs mit entsprechender Neigung ausrichtet. In einigen Ausführungsformen können die einzelnen Bildaufhahmevorrichtungen 122, 124 und 126 hinter dem Blendschutz 380 positioniert sein, wie z. B. in 3D dargestellt. Die offenbarten Ausführungsformen sind nicht auf eine bestimmte Ausbildung der Bildaufhahmevorrichtungen 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 der Fachmann anhand dieser Offenbarung erkennen wird, können zahlreiche Varianten 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. Ferner kann jede Komponente in jedem geeigneten Teil des Systems 100 untergebracht werden, und die Komponenten können in einer Vielzahl von Ausbildungen neu angeordnet werden, wobei die Funktionalität der offenbarten Ausführungsformen erhalten bleibt. Daher sind die vorstehenden Ausbildungen lediglich Beispiele, und unabhängig von den oben beschriebenen Konfigurationen kann das System 100 eine breite Palette von Funktionen zur Analyse der Umgebung des Fahrzeugs 200 und zur Navigation des Fahrzeugs 200 als Reaktion auf die Analyse bieten.
  • Wie im Folgenden näher erläutert und in Übereinstimmung mit verschiedenen offenbarten Ausführungsformen, kann 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-Positionsinformationen), Kartendaten, Geschwindigkeitsdaten und/oder Daten aus im Fahrzeug 200 vorhandenen Sensoren analysieren. Das System 100 kann die Daten zur Analyse beispielsweise aus der Bilderfassungseinheit 120, dem Positionssensor 130 und anderen Sensoren sammeln. Ferner kann das System 100 die gesammelten Daten analysieren, um zu ermitteln, ob das Fahrzeug 200 eine bestimmte Aktion durchführen sollte oder nicht, und dann automatisch die ermittelte Aktion ohne menschliches Eingreifen durchführen. Wenn das Fahrzeug 200 beispielsweise ohne menschliches Eingreifen navigiert, kann das System 100 automatisch das Bremsen, Beschleunigen und/oder Lenken des Fahrzeugs 200 (z. B. durch Senden von Steuersignalen an das Drosselsystem 220, das Bremssystem 230 oder das Lenksystem 240) steuern. Ferner kann das System 100 die gesammelten Daten analysieren und basierend auf der Analyse der gesammelten Daten Warnungen und/oder Hinweise an die Fahrzeuginsassen ausgeben. Weitere Einzelheiten zu den verschiedenen Ausführungsformen, die das System 100 bietet, werden im Folgenden beschrieben.
  • Nach vorne gerichtetes Mehrfachbildgebungssystem
  • Wie oben erörtert, kann das System 100 eine Fahrassistenzfunktion bereitstellen, die ein Mehrkamerasystem verwendet. Das Mehrkamerasystem kann eine oder mehrere Kameras verwenden, die in Vorwärtsrichtung eines Fahrzeugs gerichtet sind. In anderen Ausführungsformen kann das Mehrkamerasystem eine oder mehrere Kameras enthalten, 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 Bildaufhahmevorrichtungen 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 als das der zweiten Kamera ist oder sich teilweise mit diesem überschneidet. Darüber hinaus kann die erste Kamera einem ersten Bildprozessor zugeordnet sein, um eine monokulare Bildanalyse der durch die erste Kamera gelieferten Bilder durchzuführen, und die zweite Kamera kann einem zweiten Bildprozessor zugeordnet sein, um eine monokulare Bildanalyse der durch die zweite Kamera gelieferten Bilder durchzuführen. Die Ausgaben (z. B. verarbeitete Informationen) des ersten und zweiten Bildprozessors können miteinander kombiniert werden. In einigen Ausführungsformen kann der zweite Bildprozessor Bilder sowohl aus der ersten als auch aus 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 basierend auf Informationen treffen, die aus Objekten abgeleitet sind, die sich in veränderlichen Entfernungen sowohl vor als auch seitlich des Fahrzeugs befinden. „Monokulare Bildanalyse“ kann sich auf Fälle beziehen, in denen die Bildanalyse basierend auf Bildern durchgeführt wird, die aus einem einzigen Blickwinkel (z. B. aus einer einzigen Kamera) aufgenommen wurden. „Stereobildanalyse“ kann sich auf Fälle beziehen, in denen die Bildanalyse basierend auf zwei oder mehr Bildern durchgeführt wird, die mit einer oder mehreren Variationen eines Bildaufnahmeparameters aufgenommen wurden. Zu den aufgenommenen Bildern, die sich für die Durchführung einer Stereobildanalyse eignen, können beispielsweise Bilder gehören, die aus zwei oder mehr verschiedenen Positionen, aus unterschiedlichen Blickwinkeln, mit unterschiedlichen Brennweiten, zusammen mit Parallaxeninformationen usw. aufgenommen wurden.
  • In einer Ausführungsform kann das System 100 beispielsweise eine Ausbildung mit drei Kameras unter Verwendung der Bildaufnahmevorrichtungen 122, 124 und 126 implementieren. In einer solchen Ausbildung kann die Bildaufhahmevorrichtung 122 ein enges Sichtfeld (z. B. 34 Grad oder andere Werte, die aus einem Bereich von etwa 20 bis 45 Grad usw. ausgewählt werden) bieten, die Bildaufhahmevorrichtung 124 kann ein weites Sichtfeld (z. B. 150 Grad oder andere Werte, die aus einem Bereich von etwa 100 bis etwa 180 Grad ausgewählt werden) bieten, und die Bildaufhahmevorrichtung 126 kann ein mittleres Sichtfeld (z. B. 46 Grad oder andere Werte, die aus einem Bereich von etwa 35 bis etwa 60 Grad ausgewählt werden) bieten. In einigen Ausführungsformen kann die Bildaufhahmevorrichtung 126 als Haupt- oder Primärkamera fungieren. Die Bildaufnahmevorrichtungen 122, 124 und 126 können hinter dem Rückspiegel 310 und im Wesentlichen nebeneinander (z. B. mit 6 cm Abstand) angeordnet sein. Ferner können in einigen Ausführungsformen, wie oben beschrieben, eine oder mehrere der Bildaufnahmevorrichtungen 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 Fahrzeuginnern auf die Bildaufnahmevorrichtungen 122, 124 und 126 zu minimieren.
  • In einer anderen Ausführungsform kann die Kamera mit dem weiten Sichtfeld (z. B. die Bildaufhahmevorrichtung 124 im obigen Beispiel) wie oben in Verbindung mit 3B und 3C erörtert, niedriger als die Kameras mit dem schmalen und dem Hauptsichtfeld (z. B. die Bildvorrichtungen 122 und 126 im obigen Beispiel) angebracht sein. Diese Ausbildung kann eine freie Sichtlinie von der Kamera mit dem weiten Sichtfeld ermöglichen. Zur Verringerung von Reflexionen können die Kameras in der Nähe der Windschutzscheibe des Fahrzeugs 200 angebracht und mit Polarisatoren ausgestattet sein, um reflektiertes Licht zu dämpfen.
  • Ein System mit drei Kameras kann bestimmte Leistungsmerkmale bieten. Einige Ausführungsformen können zum Beispiel die Möglichkeit bieten, die Erkennung von Objekten durch eine Kamera basierend auf den Erkennungsergebnissen einer anderen Kamera zu überprüfen. In der oben beschriebenen Ausbildung mit drei Kameras kann die Verarbeitungseinheit 110 beispielsweise drei Verarbeitungsvorrichtungen (z. B. drei Prozessorchips der EyeQ-Serie, wie oben beschrieben) enthalten, wobei jede Verarbeitungsvorrichtung für die Verarbeitung von Bildern zuständig ist, die durch eine oder mehrere der Bildaufnahmevorrichtungen 122, 124 und 126 aufgenommen wurden.
  • In einem System mit drei Kameras kann eine erste Verarbeitungsvorrichtung Bilder sowohl aus der Hauptkamera als auch aus der Kamera mit schmalem Sichtfeld empfangen und eine Bildverarbeitung der Kamera mit schmalem FOV durchführen, um zum Beispiel andere Fahrzeuge, Fußgänger, Fahrstreifenmarkierungen, Verkehrszeichen, Ampeln und andere Straßenobjekte zu erkennen. Darüber hinaus kann die erste Verarbeitungsvorrichtung eine Disparität der Pixel zwischen den Bildern der Hauptkamera und der Schmalfeldkamera berechnen und eine 3D-Rekonstruktion der Umgebung des Fahrzeugs 200 erstellen. Die erste Verarbeitungsvorrichtung kann dann die 3D-Rekonstruktion mit 3D-Kartendaten oder mit 3D-Informationen kombinieren, die basierend auf Informationen aus einer anderen Kamera berechnet wurden.
  • Die zweite Verarbeitungsvorrichtung kann Bilder aus der Hauptkamera empfangen und eine Bildverarbeitung durchführen, um andere Fahrzeuge, Fußgänger, Fahrstreifenmarkierungen, Verkehrszeichen, Ampeln und andere Straßenobjekte zu erkennen. Zusätzlich kann die zweite Verarbeitungsvorrichtung eine Kameraverschiebung berechnen und basierend auf der Verschiebung eine Disparität von Pixeln zwischen aufeinanderfolgenden Bildern berechnen und eine 3D-Rekonstruktion der Szenerie (z. B. eine Struktur aus Bewegung) erstellen. Die zweite Verarbeitungsvorrichtung kann die Struktur aus der bewegungsbasierten 3D-Rekonstruktion an die erste Verarbeitungsvorrichtung senden, um sie mit den 3D-Stereobildern zu kombinieren.
  • Die dritte Verarbeitungsvorrichtung kann Bilder aus der Kamera mit weitem Sichtfeld empfangen und die Bilder verarbeiten, um Fahrzeuge, Fußgänger, Fahrstreifenmarkierungen, Verkehrszeichen, Ampeln und andere Straßenobjekte zu erkennen. Die dritte Verarbeitungsvorrichtung 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 den Fahrstreifen 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 darstellen, Redundanz im System zu schaffen. Eine solche Redundanz kann z. B. darin bestehen, dass eine erste Bildaufhahmevorrichtung und die durch diese Vorrichtung verarbeiteten Bilder dazu verwendet werden, um Informationen zu überprüfen und/oder zu ergänzen, die durch das Erfassen und Verarbeiten von Bildinformationen aus mindestens einer zweiten Bildaufnahmevorrichtung erhalten werden.
  • In einigen Ausführungsformen kann das System 100 zwei Bildaufnahmevorrichtungen (z. B. die Bildaufnahmevorrichtungen 122 und 124) für die Navigationsunterstützung des Fahrzeugs 200 verwenden und eine dritte Bildaufhahmevorrichtung (z. B. die Bildaufnahmevorrichtung 126) verwenden, um Redundanz zu schaffen und die Analyse der aus den beiden anderen Bildaufnahmevorrichtungen empfangenen Daten zu überprüfen. Zum Beispiel können in einer solchen Ausbildung die Bildaufnahmevorrichtungen 122 und 124 Bilder für die Stereoanalyse durch das System 100 zur Navigation des Fahrzeugs 200 liefern, während die Bildaufhahmevorrichtung 126 Bilder für die monokulare Analyse durch das System 100 liefern kann, um Redundanz und Überprüfung von Informationen bereitzustellen, die basierend auf Bildern erhalten werden, die aus der Bildaufhahmevorrichtung 122 und/oder aus der Bildaufhahmevorrichtung 124 erfasst werden. Das heißt, die Bildaufhahmevorrichtung 126 (und eine entsprechende Verarbeitungsvorrichtung) können als redundantes Teilsystem betrachtet werden, um die aus den Bildaufnahmevorrichtungen 122 und 124 abgeleitete Analyse zu überprüfen (z. B. um ein automatisches Notbremssystem (Automatic Emergency Braking, AEB) bereitzustellen). Darüber hinaus kann in einigen Ausführungsformen die Redundanz und Überprüfung der empfangenen Daten basierend auf Informationen ergänzt werden, die aus einem oder mehreren Sensoren (z. B. Radar, Lidar, akustischen Sensoren, Informationen aus einem oder mehreren Sender-Empfängern außerhalb des Fahrzeugs usw.) empfangen werden.
  • Der Fachmann wird erkennen, dass die oben genannten Kameraausbildungen, Kameraplatzierungen, Anzahl der Kameras, Kamerapositionen usw. lediglich Beispiele sind. Diese und andere Komponenten, die im Zusammenhang mit dem Gesamtsystem beschrieben werden, können in einer Vielzahl unterschiedlicher Ausbildungen zusammengestellt und verwendet werden, ohne dass vom Anwendungsbereich der offenbarten Ausführungsformen abgewichen wird. Weitere Einzelheiten zur Verwendung eines Mehrkamerasystems zur Bereitstellung von Fahrerassistenz- und/oder autonomen Fahrzeugfunktionen folgen weiter unten.
  • 4 ist ein Beispiel für ein funktionales Blockdiagramm des Speichers 140 und/oder 150, der mit Anweisungen zur Durchführung einer oder mehrerer Operationen in Übereinstimmung mit den offenbarten Ausführungsformen gespeichert/programmiert werden kann. Obwohl sich das Folgende auf den Speicher 140 bezieht, wird der Fachmann erkennen, dass die Anweisungen im Speicher 140 und/oder 150 gespeichert werden können.
  • Wie in 4 dargestellt, kann der Speicher 140 ein monokulares Bildanalysemodul 402, ein Stereobildanalysemodul 404, ein Geschwindigkeits- und Beschleunigungsmodul 406 und ein Navigationsreaktionsmodul 408 speichern. Die offenbarten Ausführungsformen sind nicht auf eine bestimmte Ausbildung des Speichers 140 beschränkt. Ferner kann der Anwendungsprozessor 180 und/oder der Bildprozessor 190 die in den Modulen 402, 404, 406 und 408 des Speichers 140 gespeicherten Anweisungen ausführen. Der Fachmann wird verstehen, dass sich die Verweise auf die Verarbeitungseinheit 110 im Folgenden auf den Anwendungsprozessor 180 und den Bildprozessor 190 einzeln oder gemeinsam beziehen können. Dementsprechend können die Schritte jedes der folgenden Verfahren durch eine oder mehrere Verarbeitungsvorrichtungen durchgeführt werden.
  • In einer Ausführungsform kann das monokulare Bildanalysemodul 402 Anweisungen (wie z. B. Computer-Vision-Software) speichern, die bei Ausführung durch die Verarbeitungseinheit 110 eine monokulare Bildanalyse eines Satzes von Bildern durchführen, die durch eine der Bildaufhahmevorrichtungen 122, 124 und 126 erfasst werden. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Informationen aus einem Satz von Bildern mit zusätzlichen sensorischen Informationen (z. B. Informationen aus Radar, Lidar usw.) kombinieren, um die monokulare Bildanalyse durchzuführen. Wie in Verbindung mit 5A-5D unten beschrieben, kann das monokulare Bildanalysemodul 402 Anweisungen zur Erkennung eines Satzes von Merkmalen innerhalb des Satzes von Bildern enthalten, wie z. B. Fahrstreifenmarkierungen, Fahrzeuge, Fußgänger, Straßenschilder, Autobahnausfahrten, Ampeln, gefährliche Objekte und jedes andere Merkmal, das der Umgebung eines Fahrzeugs zugeordnet ist. 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. Abbiegen, Fahrstreifenwechsel, Änderung der Beschleunigung und dergleichen, wie unten in Verbindung mit dem Navigationsreaktionsmodul 408 beschrieben.
  • In einer Ausführungsform kann das Stereobildanalysemodul 404 Anweisungen (z. B. Computer-Vision-Software) speichern, die beim Ausführen durch die Verarbeitungseinheit 110 eine Stereobildanalyse eines ersten und eines zweiten Satzes von Bildern durchführen, die durch eine Kombination von Bildaufhahmevorrichtungen erfasst wurden, die aus beliebigen der Bildaufhahmevorrichtungen 122, 124 und 126 ausgewählt wurden. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Informationen aus dem ersten und zweiten Satz von Bildern mit zusätzlichen sensorischen Informationen (z. B. Radarinformationen) kombinieren, um die Stereobildanalyse durchzuführen. Beispielsweise kann das Stereobildanalysemodul 404 Anweisungen zur Durchführung einer Stereobildanalyse basierend auf einem ersten Satz von Bildern, die durch die Bildaufnahmevorrichtung 124 erfasst wurden, und einem zweiten Satz von Bildern, die durch die Bildaufhahmevorrichtung 126 erfasst wurden, enthalten. Wie in Verbindung mit 6 unten beschrieben, kann das Stereobildanalysemodul 404 Anweisungen zur Erkennung eines Satzes von Merkmalen innerhalb des ersten und zweiten Satzes von Bildern enthalten, wie z. B. Fahrstreifenmarkierungen, 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. Abbiegen, Fahrstreifenwechsel, Ändern der Beschleunigung und dergleichen, wie unten in Verbindung mit dem Navigationsreaktionsmodul 408 erörtert. Darüber hinaus kann das Stereobildanalysemodul 404 in einigen Ausführungsformen Techniken implementieren, die einem trainierten System (z. B. einem neuronalen Netz oder einem tiefen neuronalen Netz) oder einem untrainierten System zugeordnet sind, wie z. B. einem System, das dazu ausgelegt sein kann, mithilfe von Computer-Vision-Algorithmen Objekte in einer Umgebung zu erkennen und/oder zu kennzeichnen, aus der sensorische Informationen erfasst und verarbeitet wurden. In einer Ausführungsform können das Stereobildanalysemodul 404 und/oder andere Bildverarbeitungsmodule dazu ausgelegt sein, eine Kombination aus einem trainierten und einem untrainierten System zu verwenden.
  • In einer Ausführungsform kann das Geschwindigkeits- und Beschleunigungsmodul 406 Software speichern, die dazu ausgelegt ist, Daten zu analysieren, die aus einem oder mehreren Rechen- und elektromechanischen Vorrichtungen im Fahrzeug 200 empfangen werden, die dazu ausgelegt sind, eine Änderung der Geschwindigkeit und/oder Beschleunigung des Fahrzeugs 200 zu bewirken. Beispielsweise kann die Verarbeitungseinheit 110 Anweisungen ausführen, die dem Geschwindigkeits- und Beschleunigungsmodul 406 zugeordnet sind, um eine Sollgeschwindigkeit für das Fahrzeug 200 basierend auf Daten zu berechnen, die aus der Ausführung des monokularen Bildanalysemoduls 402 und/oder des Stereobildanalysemoduls 404 stammen. Solche Daten können beispielsweise eine Sollposition, -geschwindigkeit und/oder -beschleunigung, die Position und/oder Geschwindigkeit des Fahrzeugs 200 in Bezug auf ein nahe befindliches Fahrzeug, einen Fußgänger oder ein Straßenobjekt, Positionsinformationen für das Fahrzeug 200 in Bezug auf Fahrstreifenmarkierungen auf der Straße und dergleichen beinhalten. Darüber hinaus kann die Verarbeitungseinheit 110 eine Sollgeschwindigkeit für das Fahrzeug 200 basierend auf sensorischen Eingaben (z. B. Informationen aus Radar) und Eingaben aus anderen Systemen des Fahrzeugs 200, wie dem Drosselsystem 220, dem Bremssystem 230 und/oder dem Lenksystem 240 des Fahrzeugs 200, berechnen. Basierend auf der berechneten Sollgeschwindigkeit kann die Verarbeitungseinheit 110 elektronische Signale an das Drosselsystem 220, das Bremssystem 230 und/oder das Lenksystem 240 des Fahrzeugs 200 senden, um eine Änderung der Geschwindigkeit und/oder der Beschleunigung beispielsweise durch physisches Betätigen der Bremse oder Reduzieren der Gaspedalstellung des Fahrzeugs 200 zu bewirken.
  • In einer Ausführungsform kann das Navigationsreaktionsmodul 408 Software speichern, die durch die Verarbeitungseinheit 110 ausführbar ist, um eine gewünschte Navigationsreaktion basierend auf Daten zu ermitteln, die aus der Ausführung des monokularen Bildanalysemoduls 402 und/oder des Stereobildanalysemoduls 404 stammen. Solche Daten können Positions- und Geschwindigkeitsinformationen mit Zuordnung zu nahe befindlichen Fahrzeugen, Fußgängern und Straßenobjekten, Sollpositionsinformationen für das Fahrzeug 200 und dergleichen enthalten. Zusätzlich kann in einigen Ausführungsformen die Navigationsreaktion (teilweise oder vollständig) auf Kartendaten, einer vorgegebenen Position des Fahrzeugs 200 und/oder einer relativen Geschwindigkeit oder einer relativen Beschleunigung zwischen dem Fahrzeug 200 und einem oder mehreren Objekten basieren, die durch die Ausführung des monokularen Bildanalysemoduls 402 und/oder des Stereobildanalysemoduls 404 erfasst wurden. Das Navigationsreaktionsmodul 408 kann auch eine gewünschte Navigationsreaktion basierend auf sensorischen Eingaben (z. B. Informationen aus dem Radar) und Eingaben aus anderen Systemen des Fahrzeugs 200, wie dem Drosselsystem 220, dem Bremssystem 230 und dem Lenksystem 240 des Fahrzeugs 200, ermitteln. Basierend auf der gewünschten Navigationsreaktion kann die Verarbeitungseinheit 110 elektronische Signale an das Drosselsystem 220, das Bremssystem 230 und das Lenksystem 240 des Fahrzeugs 200 übertragen, um eine gewünschte Navigationsreaktion zu bewirken, indem beispielsweise das Lenkrad des Fahrzeugs 200 gedreht wird, um eine Drehung um einen vorgegebenen 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 Geschwindigkeits- und Beschleunigungsmoduls 406 verwenden, um eine Geschwindigkeitsänderung des Fahrzeugs 200 zu berechnen.
  • Ferner kann jedes der hier offenbarten Module (z. B. die Module 402, 404 und 406) Techniken implementieren, die einem trainierten System (z. B. einem neuronalen Netz oder einem tiefen neuronalen Netz) oder einem untrainierten System zugeordnet sind.
  • 5A ist ein Flussdiagramm, das ein Beispiel für einen Prozess 500A zum Auslösen einer oder mehrerer Navigationsreaktionen basierend auf einer monokularen Bildanalyse in Übereinstimmung mit den offenbarten Ausführungsformen zeigt. In Schritt 510 kann die Verarbeitungseinheit 110 eine Vielzahl von Bildern über die 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 Bildaufnahmevorrichtung 122 mit dem Sichtfeld 202), eine Vielzahl von Bildern eines Bereichs vor dem Fahrzeug 200 (oder z. B. an den Seiten oder am Heck eines Fahrzeugs) aufnehmen und über eine Datenverbindung (z. B. digital, verkabelt, USB, drahtlos, Bluetooth usw.) an die Verarbeitungseinheit 110 übertragen. Die Verarbeitungseinheit 110 kann das monokulare Bildanalysemodul 402 ausführen, um die Vielzahl von Bildern in Schritt 520 zu analysieren, wie nachfolgend in Verbindung mit 5B-5D näher beschrieben. Durch die Durchführung der Analyse kann die Verarbeitungseinheit 110 eine Reihe von Merkmalen innerhalb der Bilder erkennen, wie z. B. Fahrstreifenmarkierungen, Fahrzeuge, Fußgänger, Straßenschilder, Autobahnausfahrten, Ampeln und dergleichen.
  • Die Verarbeitungseinheit 110 kann auch das monokulare Bildanalysemodul 402 ausführen, um in Schritt 520 verschiedene Gefahren auf der Straße zu erkennen, wie z. B. Teile eines Lkw-Reifens, umgefallene Straßenschilder, lose Ladung, kleine Tiere und dergleichen. Gefahren auf der Straße 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 monokulare Bildanalysemodul 402 ausführen, um eine Mehrbildanalyse der Vielzahl von Bildern durchzuführen, um Straßengefahren zu erkennen. Beispielsweise kann die Verarbeitungseinheit 110 die Kamerabewegung zwischen aufeinanderfolgenden Bildern abschätzen und die Disparitäten in den Pixeln zwischen den Bildern 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 basierend auf der in Schritt 520 durchgeführten Analyse und der oben in Verbindung mit 4 beschriebenen Techniken zu bewirken. Zu den Navigationsreaktionen können z. B. ein Abbiegen, ein Fahrstreifenwechsel, eine Änderung der Beschleunigung und dergleichen gehören. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Daten verwenden, die aus der Ausführung des Geschwindigkeits- und Beschleunigungsmoduls 406 stammen, um die eine oder mehreren Navigationsreaktionen zu bewirken. Außerdem können mehrere Navigationsreaktionen gleichzeitig, nacheinander oder in beliebiger Kombination erfolgen. Beispielsweise kann die Verarbeitungseinheit 110 das Fahrzeug 200 veranlassen, einen Fahrstreifen zu wechseln und dann zu beschleunigen, indem sie beispielsweise nacheinander Steuersignale an das Lenksystem 240 und das Drosselsystem 220 des Fahrzeugs 200 sendet. Alternativ kann die Verarbeitungseinheit 110 das Fahrzeug 200 dazu veranlassen, zu bremsen und gleichzeitig den Fahrstreifen zu wechseln, indem sie beispielsweise gleichzeitig Steuersignale an das Bremssystem 230 und das Lenksystem 240 des Fahrzeugs 200 sendet.
  • 5B ist ein Flussdiagramm, das ein beispielhaftes Verfahren 500B zum Erkennen eines oder mehrerer Fahrzeuge und/oder Fußgänger in einem Satz von Bildern in Übereinstimmung mit offenbarten Ausführungsformen zeigt. Die Verarbeitungseinheit 110 kann das Modul 402 zur monokularen Bildanalyse ausführen, um den Prozess 500B zu implementieren. In Schritt 540 kann die Verarbeitungseinheit 110 einen Satz von in Frage kommenden Objekten ermitteln, 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 (z. B. Fahrzeuge, Fußgänger oder Teile davon) enthalten können. Die vorgegebenen Muster können so gestaltet sein, dass eine hohe Rate von „Falschtreffern“ und eine niedrige Rate von „Übersehungen“ erreicht wird Beispielsweise kann die Verarbeitungseinheit 110 einen niedrigen Schwellenwert für die Ähnlichkeit mit vorgegebenen Mustern verwenden, um die in Frage kommenden Objekte 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 die Menge der in Frage kommenden Objekte filtern, um bestimmte Kandidaten (z. B. irrelevante oder weniger relevante Objekte) basierend auf Klassifizierungskriterien auszuschließen. Solche Kriterien können aus verschiedenen Eigenschaften abgeleitet werden, die Objektarten zugeordnet sind, die in einer Datenbank (z. B. einer im Speicher 140 gespeicherten Datenbank) gespeichert sind. Zu den Eigenschaften können Form, Abmessungen, Textur, Position (z. B. relativ zum Fahrzeug 200) des Objekts und dergleichen gehören. Beispielsweise kann die Verarbeitungseinheit 110 einen oder mehrere Sätze von Kriterien dazu verwenden, um falsche Kandidaten aus der Menge der in Frage kommenden Objekte auszuschließen.
  • In Schritt 544 kann die Verarbeitungseinheit 110 mehrere Bilder analysieren, um zu ermitteln, ob die Objekte in der Gruppe der in Frage kommenden Objekte Fahrzeuge und/oder Fußgänger darstellen. Beispielsweise kann die Verarbeitungseinheit 110 ein erkanntes in Frage kommendes Objekt über aufeinanderfolgende Bilder hinweg verfolgen und Bild-für-Bild Daten mit Zuordnung zu dem erkannten Objekt (z. B. Größe, Position relativ zum Fahrzeug 200 usw.) sammeln. Darüber hinaus kann die Verarbeitungseinheit 110 Parameter für das erkannte Objekt schätzen und die Bild-für-Bild-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-, Geschwindigkeits- und Beschleunigungswerte (relativ zum Fahrzeug 200) beinhalten, die den erkannten Objekten zugeordnet sind. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die Messungen basierend auf Schätzverfahren mit einer Reihe von zeitbasierten Beobachtungen wie Kalman-Filtern oder linearer quadratischer Schätzung (Linear Quadratic Estimation, LQE) und/oder basierend auf verfügbaren Modellierungsdaten für verschiedene Objektarten (z. B. Pkws, Lkws, Fußgänger, Fahrräder, Straßenschilder usw.) konstruieren. Die Kalman-Filter können auf einer Messung der Größe eines Objekts basieren, wobei die Größenmessung proportional zur Zeit bis zur Kollision (z. B. der Zeit, die das Fahrzeug 200 zum Erreichen des Objekts benötigt) erfolgt. Durch Ausführen der Schritte 540-546 kann die Verarbeitungseinheit 110 also Fahrzeuge und Fußgänger identifizieren, die in der Menge der aufgenommenen Bilder erscheinen, und Informationen (z. B. Position, Geschwindigkeit, Größe) ableiten, die den Fahrzeugen und Fußgängern zugeordnet sind. Basierend auf der Identifikation und den abgeleiteten Informationen kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen im Fahrzeug 200 bewirken, wie oben 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 „Falschtreffer“ erkannt und ein Objekt, das ein Fahrzeug oder einen Fußgänger darstellt, übersehen wird. Die optische Flussanalyse kann sich beispielsweise auf die Analyse von Bewegungsmustern in Bezug auf das Fahrzeug 200 in einem oder mehreren Bildern beziehen, die anderen Fahrzeugen und Fußgängern zugeordnet sind und sich von der Bewegung der Straßenoberfläche unterscheiden. Die Verarbeitungseinheit 110 kann die Bewegung der in Frage kommenden Objekte berechnen, indem sie die unterschiedlichen Positionen der Objekte über mehrere Bilder hinweg beobachtet, die zu unterschiedlichen Zeiten aufgenommen wurden. Die Verarbeitungseinheit 110 kann die Positions- und Zeitwerte als Eingaben in mathematische Modelle zur Berechnung der Bewegung der in Frage kommenden Objekte verwenden. Beispielsweise kann die optische Flussanalyse ein weiteres Verfahren zur Erkennung von Fahrzeugen und Fußgängern sein, die sich in der Nähe von Fahrzeug 200 befinden. Die Verarbeitungseinheit 110 kann eine optische Flussanalyse in Kombination mit den Schritten 540-546 durchführen, um Redundanz bei der Erkennung von Fahrzeugen und Fußgängern zu schaffen und die Zuverlässigkeit des Systems 100 zu erhöhen.
  • 5C ist ein Flussdiagramm, das ein Beispiel für einen Prozess 500C zum Erkennen von Fahrstreifenmarkierungen und/oder Fahrstreifengeometrieinformationen in einem Satz von Bildern in Übereinstimmung mit den offenbarten Ausführungsformen zeigt. Um den Prozess 500C zu implementieren, kann die Verarbeitungseinheit 110 das monokulare Bildanalysemodul 402 ausführen. In Schritt 550 kann die Verarbeitungseinheit 110 eine Menge von Objekten durch Abtasten eines oder mehrerer Bilder erkennen. Um Segmente von Fahrstreifenmarkierungen, Informationen zur Fahrbahngeometrie und andere relevante Straßenmarkierungen zu erfassen, kann die Verarbeitungseinheit 110 die Menge der Objekte filtern, um diejenigen auszuschließen, die als irrelevant (z. B. kleinere Schlaglöcher, kleine Steine usw.) eingestuft werden. In Schritt 552 kann die Verarbeitungseinheit 110 die in Schritt 550 erkannten Segmente, die zur gleichen Straßenmarkierung oder Fahrstreifenmarkierung gehören, zusammenfassen. Basierend auf der Gruppierung kann die Verarbeitungseinheit 110 ein Modell, z. B. ein mathematisches Modell, zur Darstellung der erkannten Segmente entwickeln.
  • In Schritt 554 kann die Verarbeitungseinheit 110 eine Reihe von Messungen konstruieren, die den erkannten Segmenten zugeordnet sind. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Projektion der erkannten Segmente von der Bildebene auf die Ebene der realen Welt erstellen. Die Projektion kann durch ein Polynom 3. Grades charakterisiert werden, dessen Koeffizienten den physischen Eigenschaften wie Position, Neigung, Krümmung und Krümmungsableitung der erfassten Straße entsprechen. Bei der Erstellung der Projektion kann die Verarbeitungseinheit 110 Änderungen der Straßenoberfläche sowie die dem Fahrzeug 200 zugeordneten Neigungs- und Rollraten berücksichtigen. Durch Analysieren der auf der Straßenoberfläche vorhandenen Positions- und Bewegungshinweise kann die Verarbeitungseinheit 110 darüber hinaus die Straßenhöhe modellieren. Ferner kann die Verarbeitungseinheit 110 die dem Fahrzeug 200 zugeordneten Neigungs- und Rollraten durch Verfolgen einer Reihe von Merkmalspunkten in einem oder mehreren Bildern schätzen.
  • In Schritt 556 kann die Verarbeitungseinheit 110 eine Mehrbildanalyse durchführen, indem sie z. B. die erfassten Segmente über aufeinanderfolgende Bilder hinweg verfolgt und Bild-für-Bild Daten sammelt, die den erfassten Segmenten zugeordnet sind. Mithilfe der Mehrbildanalyse durch die Verarbeitungseinheit 110 kann die in Schritt 554 erstellte Reihe von Messungen zuverlässiger werden und mit einer zunehmend höheren Vertrauensstufe behaftet sein. Durch Ausführen der Schritte 550, 552, 554 und 556 kann die Verarbeitungseinheit 110 daher Straßenmarkierungen in den aufgenommenen Bildern identifizieren und Informationen zur Fahrstreifengeometrie ableiten. Basierend auf der Identifikation und den abgeleiteten Informationen kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen im Fahrzeug 200 bewirken, wie oben 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 Zusammenhang mit seiner Umgebung weiterzuentwickeln. Die Verarbeitungseinheit 110 kann das Sicherheitsmodell dazu verwenden, einen Zusammenhang zu definieren, in dem das System 100 die autonome Steuerung des Fahrzeugs 200 auf sichere Weise ausführen kann. Um das Sicherheitsmodell zu entwickeln, kann die Verarbeitungseinheit 110 in einigen Ausführungsformen die Position und Bewegung anderer Fahrzeuge, die erfassten Straßenränder und Hindernisse und/oder allgemeine Beschreibungen der Straßenform berücksichtigen, die aus Kartendaten (z. B. Daten aus der Kartendatenbank 160) extrahiert wurden. Durch Berücksichtigen zusätzlicher Informationsquellen kann die Verarbeitungseinheit 110 Redundanz bei der Erfassung von Straßenmarkierungen und Fahrstreifengeometrie bereitstellen und die Zuverlässigkeit des Systems 100 erhöhen.
  • 5D ist ein Flussdiagramm, das ein Beispiel für einen Prozess 500D zum Erfassen von Verkehrsampeln in einem Satz von Bildern in Übereinstimmung mit offenbarten Ausführungsformen zeigt. Um den Prozess 500D zu implementieren, kann die Verarbeitungseinheit 110 das monokulare Bildanalysemodul 402 ausführen. In Schritt 560 kann die Verarbeitungseinheit 110 den Satz von Bildern abtasten und Objekte identifizieren, die an Stellen in den Bildern erscheinen, die wahrscheinlich Ampeln enthalten. Beispielsweise kann die Verarbeitungseinheit 110 die identifizierten Objekte filtern, um eine Gruppe von in Frage kommenden Objekten zu erstellen, wobei Objekte ausgeschlossen werden, bei denen es unwahrscheinlich ist, dass sie einer Ampel entsprechen. Die Filterung kann basierend auf verschiedenen Eigenschaften erfolgen, die Verkehrsampeln zugeordnet sind, wie z. B. Form, Abmessungen, Textur, Position (z. B. relativ zum Fahrzeug 200) und dergleichen. Diese 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 Mehrbildanalyse für die Menge der in Frage kommenden Objekte durchführen, die mögliche Verkehrsampeln widerspiegeln. Beispielsweise kann die Verarbeitungseinheit 110 die in Frage kommenden Objekte über aufeinanderfolgende Bilder hinweg verfolgen, die reale Position der in Frage kommenden Objekte schätzen und sich bewegende Objekte (bei denen es unwahrscheinlich ist, dass es sich um Verkehrsampeln handelt) herausfiltern. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Farbanalyse der in Frage kommenden Objekte durchführen und die relative Position der erfassten Farben innerhalb möglicher Ampeln identifizieren.
  • In Schritt 562 kann die Verarbeitungseinheit 110 die Geometrie einer Kreuzung analysieren. Die Analyse kann auf einer beliebigen Kombination von Faktoren basieren: (i) der Anzahl der Fahrstreifen, die auf beiden Seiten des Fahrzeugs 200 erfasst wurden, (ii) Markierungen (z. B. Pfeile), die auf der Straße erfasst wurden, und (iii) Beschreibungen der Kreuzung, die aus Kartendaten (z. B. 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 monokularen Analysemoduls 402 stammen. Darüber hinaus kann die Verarbeitungseinheit 110 eine Übereinstimmung zwischen den in Schritt 560 erfassten Ampeln und den in der Nähe des Fahrzeugs 200 erscheinenden Fahrstreifen ermitteln.
  • Wenn sich das Fahrzeug 200 der Kreuzung nähert, kann die Verarbeitungseinheit 110 in Schritt 564 die Vertrauensstufe aktualisieren, die der analysierten Kreuzungsgeometrie und den erfassten Ampeln zugeordnet ist. Beispielsweise kann sich die Anzahl der geschätzten Ampeln an der Kreuzung im Vergleich zur tatsächlichen Anzahl an der Kreuzung auf die Vertrauensstufe auswirken. Basierend auf der Vertrauensstufe kann die Verarbeitungseinheit 110 die Steuerung 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 Ampeln identifizieren, die in der Menge der aufgenommenen Bilder erscheinen, und Informationen über die Kreuzungsgeometrie analysieren. Basierend auf der Identifikation und der Analyse kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen im Fahrzeug 200 bewirken, wie oben in Verbindung mit 5A beschrieben.
  • 5E ist ein Flussdiagramm, das ein Beispiel für einen Prozess 500E zum Bewirken einer oder mehrerer Navigationsreaktionen im Fahrzeug 200 basierend auf einem Fahrzeugweg in Übereinstimmung mit den offenbarten Ausführungsformen zeigt. In Schritt 570 kann die Verarbeitungseinheit 110 einen anfänglichen Fahrzeugweg konstruieren, der dem Fahrzeug 200 zugeordnet ist. Der Weg des Fahrzeugs kann durch eine Reihe von Punkten dargestellt werden, die in Koordinaten (x, z) ausgedrückt werden, und der Abstand di zwischen zwei Punkten in der Reihe von Punkten kann im Bereich von 1 bis 5 Metern liegen. In einer Ausführungsform kann die Verarbeitungseinheit 110 den anfänglichen Fahrzeugweg mithilfe von zwei Polynomen, z. B. einem linken und einem rechten Straßenpolynom, konstruieren. Die Verarbeitungseinheit 110 kann den geometrischen Mittelpunkt zwischen den beiden Polynomen berechnen und jeden Punkt, der in dem resultierenden Fahrzeugweg enthalten ist, um gegebenenfalls einen vorgegebenen Versatz (z. B. einen intelligenten Fahrstreifenversatz) versetzen (ein Versatz von null kann einer Fahrt in der Mitte eines Fahrstreifens entsprechen). Der Versatz kann in einer Richtung liegen, die im rechten Winkel zu einem Segment zwischen zwei beliebigen Punkten auf dem Fahrzeugweg verläuft. In einer anderen Ausführungsform kann die Verarbeitungseinheit 110 ein Polynom und eine geschätzte Fahrstreifenbreite dazu verwenden, jeden Punkt des Fahrzeugweges um die Hälfte der geschätzten Fahrstreifenbreite plus einem vorgegebenen Versatz (z. B. einem intelligenten Fahrstreifenversatz) zu versetzen.
  • In Schritt 572 kann die Verarbeitungseinheit 110 den in Schritt 570 erstellten Fahrzeugweg aktualisieren. Die Verarbeitungseinheit 110 kann den in Schritt 570 konstruierten Fahrzeugweg mit einer höheren Auflösung rekonstruieren, sodass der Abstand dk zwischen zwei Punkten in der den Fahrzeugweg darstellenden Punktmenge kleiner als der oben beschriebene Abstand di ist. 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 ergibt, der der Gesamtlänge des Fahrzeugwegs (d. h. basierend auf der den Fahrzeugweg darstellenden Punktmenge) entspricht.
  • In Schritt 574 kann die Verarbeitungseinheit 110 einen Vorausschau-Punkt (ausgedrückt in Koordinaten als xl, zl) basierend auf dem in Schritt 572 konstruierten aktualisierten Fahrzeugweg ermitteln. Die Verarbeitungseinheit 110 kann den Vorausschau-Punkt aus dem kumulativen Abstandsvektor S extrahieren, und der Vorausschau-Punkt kann einem Vorausschau-Abstand und einer Vorausschau-Zeit zugeordnet sein. Der Vorausschau-Abstand, der eine untere Grenze von 10 bis 20 Metern aufweisen kann, kann als das Produkt aus der Geschwindigkeit des Fahrzeugs 200 und der Vorausschau-Zeit berechnet werden. Wenn sich beispielsweise die Geschwindigkeit des Fahrzeugs 200 verringert, kann sich auch der Vorausschau-Abstand verringern (z. B. bis er die untere Grenze erreicht). Die Vorausschau-Zeit, die im Bereich von 0,5 bis 1,5 Sekunden liegen kann, kann umgekehrt proportional zur Verstärkung eines oder mehrerer Regelkreise sein, die dem Bewirken einer Navigationsreaktion im Fahrzeug 200 zugeordnet sind, wie z. B. der Regelkreis für die Kursfehlerverfolgung. Die Verstärkung des Regelkreises für die Kursabweichung 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 die Kursfehlerverfolgung ist, desto geringer ist die Vorausschau-Zeit.
  • In Schritt 576 kann die Verarbeitungseinheit 110 einen Kursfehler und einen Gierratenbefehl basierend auf dem in Schritt 574 ermittelten Vorausschau-Punkt ermitteln. Die Verarbeitungseinheit 110 kann den Kursfehler ermitteln, indem sie den Arkustangens des Vorausschau-Punktes berechnet, z. B. arctan(xl/zl). Die Verarbeitungseinheit 110 kann den Gierratenbefehl als Produkt aus dem Kursfehler und einer hohen Regelverstärkung ermitteln. Die hohe Regelverstärkung kann gleich 2/Vorausschau-Zeit sein, wenn der Vorausschau-Abstand nicht an der unteren Grenze liegt. Andernfalls kann die hohe Regelverstärkung gleich 2 * Geschwindigkeit des Fahrzeugs 200/Vorausschau-Abstand sein.
  • 5F ist ein Flussdiagramm, das ein Beispiel für einen Prozess 500F zum Ermitteln in Übereinstimmung mit den offenbarten Ausführungsformen zeigt, ob ein vorausfahrendes Fahrzeug den Fahrstreifen wechselt. In Schritt 580 kann die Verarbeitungseinheit 110 Navigationsinformationen ermitteln, die einem vorausfahrenden Fahrzeug (z. B. einem Fahrzeug, das vor dem Fahrzeug 200 fährt) zugeordnet sind. Beispielsweise kann die Verarbeitungseinheit 110 die Position, die Geschwindigkeit (z. B. Richtung und Geschwindigkeit) und/oder die Beschleunigung des vorausfahrenden Fahrzeugs unter Verwendung der oben in Verbindung mit 5A und 5B beschriebenen Techniken ermitteln. Die Verarbeitungseinheit 110 kann auch ein oder mehrere Straßenpolynome, einen Vorausschau-Punkt (der dem Fahrzeug 200 zugeordnet ist) und/oder eine Schneckenspur (z. B. eine Reihe von Punkten, die einen durch das vorausfahrende Fahrzeug zurückgelegten Weg beschreiben) unter Verwendung der oben in Verbindung mit 5E beschriebenen Techniken ermitteln.
  • In Schritt 582 kann die Verarbeitungseinheit 110 die in Schritt 580 ermittelten 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 (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) überschreitet, kann die Verarbeitungseinheit 110 ermitteln, dass das vorausfahrende Fahrzeug wahrscheinlich den Fahrstreifen wechselt. Wenn mehrere Fahrzeuge erfasst werden, die vor dem Fahrzeug 200 fahren, kann die Verarbeitungseinheit 110 die den einzelnen Fahrzeugen zugeordneten Schneckenspuren vergleichen. Anhand des Vergleichs kann die Verarbeitungseinheit 110 ermitteln, dass ein Fahrzeug, dessen Schneckenspur nicht mit den Schneckenspuren der anderen Fahrzeuge übereinstimmt, wahrscheinlich den Fahrstreifen wechselt. Die Verarbeitungseinheit 110 kann zusätzlich die Krümmung der (dem vorausfahrenden Fahrzeug zugeordneten) Schneckenspur mit der erwarteten Krümmung des Straßensegments vergleichen, auf dem das vorausfahrende Fahrzeug fährt. Die erwartete Krümmung kann aus Kartendaten (z. B. aus der Kartendatenbank 160), aus Straßenpolynomen, aus den Schneckenspuren anderer Fahrzeuge, aus dem 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ßensegments einen vorgegebenen Schwellenwert überschreitet, kann die Verarbeitungseinheit 110 ermitteln, dass das vorausfahrende Fahrzeug wahrscheinlich den Fahrstreifen wechselt.
  • In einer anderen Ausführungsform kann die Verarbeitungseinheit 110 die momentane Position des vorausfahrenden Fahrzeugs mit dem Vorausschau-Punkt (der dem Fahrzeug 200 zugeordnet ist) ü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 Vorausschau-Punkt während des bestimmten Zeitraums variiert und die kumulative Summe der Variationen einen vorgegebenen Schwellenwert (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) überschreitet, kann die Verarbeitungseinheit 110 ermitteln, dass das vorausfahrende Fahrzeug wahrscheinlich den Fahrstreifen wechselt. In einer anderen Ausführungsform kann die Verarbeitungseinheit 110 die Geometrie der Schneckenspur durch Vergleichen der seitlichen Strecke, die entlang der Spur zurückgelegt wurde, mit der erwarteten Krümmung der Schneckenspur analysieren. Der zu erwartende Krümmungsradius kann anhand der folgenden Berechnung ermittelt werden: (δz 2 + δx 2) / 2 / (δx), wobei δx die seitlich zurückgelegte Strecke und δz die in Längsrichtung zurückgelegte Strecke darstellt. Übersteigt die Differenz zwischen der zurückgelegten seitlichen Strecke und der erwarteten Kurve einen vorgegebenen Schwellenwert (z. B. 500 bis 700 Meter), kann die Verarbeitungseinheit 110 ermitteln, dass das vorausfahrende Fahrzeug wahrscheinlich den Fahrstreifen 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 ermitteln, dass das vorausfahrende Fahrzeug wahrscheinlich den Fahrstreifen wechselt. Wenn die Position des vorausfahrenden Fahrzeugs so ist, dass ein anderes Fahrzeug vor dem vorausfahrenden Fahrzeug erfasst wird und die Schneckenspuren der beiden Fahrzeuge nicht parallel sind, kann die Verarbeitungseinheit 110 ermitteln, dass das (nähere) vorausfahrende Fahrzeug wahrscheinlich den Fahrstreifen wechselt.
  • In Schritt 584 kann die Verarbeitungseinheit 110 basierend auf der in Schritt 582 durchgeführten Analyse ermitteln, ob das vorausfahrende Fahrzeug 200 den Fahrstreifen wechselt oder nicht. Beispielsweise kann die Verarbeitungseinheit 110 die Ermittlung basierend auf einem gewichteten Durchschnitt der in Schritt 582 durchgeführten Einzelanalysen vornehmen. Im Rahmen eines solchen Schemas kann beispielsweise eine Entscheidung der Verarbeitungseinheit 110, dass das vorausfahrende Fahrzeug basierend auf einer bestimmten Analyseart wahrscheinlich den Fahrstreifen wechselt, mit dem Wert „1“ (und „0“ für die Ermittlung, dass das vorausfahrende Fahrzeug wahrscheinlich nicht den Fahrstreifen wechselt) versehen werden. Unterschiedlichen Analysen, die in Schritt 582 durchgeführt werden, können unterschiedliche Gewichtungen zugeordnet werden, und die offenbarten Ausführungsformen sind nicht auf eine bestimmte Kombination von Analysen und Gewichtungen beschränkt.
  • 6 ist ein Flussdiagramm, das ein Beispiel für einen Prozess 600 zum Bewirken einer oder mehrerer Navigationsreaktionen basierend auf einer Stereobildanalyse in Übereinstimmung mit offenbarten Ausführungsformen zeigt. In Schritt 610 kann die Verarbeitungseinheit 110 eine erste und zweite Vielzahl von Bildern über die Datenschnittstelle 128 empfangen. Beispielsweise können die Kameras in der Bilderfassungseinheit 120 (wie den Bildaufhahmevorrichtungen 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 ü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 zweite Vielzahl von Bildern über zwei oder mehr Datenschnittstellen empfangen. Die offenbarten Ausführungsformen sind nicht auf bestimmte Datenschnittstellenauslegungen oder - protokolle beschränkt.
  • In Schritt 620 kann die Verarbeitungseinheit 110 das Stereobildanalysemodul 404 ausführen, um eine Stereobildanalyse der ersten und zweiten Vielzahl von Bildern durchzuführen, um eine 3D-Karte der Straße vor dem Fahrzeug zu erstellen und Merkmale in den Bildern, wie z. B. Fahrstreifenmarkierungen, Fahrzeuge, Fußgänger, Straßenschilder, Autobahnausfahrten, Ampeln, Gefahren und dergleichen, zu erfassen. Die Stereobildanalyse kann in ähnlicher Weise wie die oben in Verbindung mit 5A-5D beschriebenen Schritte durchgeführt werden. Beispielsweise kann die Verarbeitungseinheit 110 das Stereobildanalysemodul 404 ausführen, um Kandidatenobjekte (z. B. Fahrzeuge, Fußgänger, Fahrstreifenmarkierungen, Ampeln, Straßenhindernisse usw.) in der ersten und zweiten Vielzahl von Bildern zu erfassen, eine Teilmenge der Kandidatenobjekte basierend auf verschiedenen Kriterien herauszufiltern und eine Mehrbildanalyse durchzuführen, Messungen zu konstruieren und eine Vertrauensstufe für die verbleibenden in Frage kommenden Objekte zu ermitteln. Bei der Durchführung der obigen Schritte kann die Verarbeitungseinheit 110 Informationen sowohl aus der ersten als auch aus der zweiten Vielzahl von Bildern anstatt nur Informationen aus einem Satz von Bildern berücksichtigen. Beispielsweise kann die Verarbeitungseinheit 110 die Unterschiede in den Daten auf Pixelebene (oder anderen Datenteilmengen aus den beiden Strömen von aufgenommenen Bildern) für ein in Frage kommendes Objekt analysieren, das sowohl in der ersten als auch in der zweiten Vielzahl von Bildern erscheint. Als weiteres Beispiel kann die Verarbeitungseinheit 110 eine Position und/oder Geschwindigkeit eines in Frage kommenden Objekts (z. B. relativ zum Fahrzeug 200) schätzen, indem sie beobachtet, dass das Objekt in einem der Vielzahl von Bildern, aber nicht im anderen oder relativ zu anderen Unterschieden erscheint, die relativ zu Objekten bestehen können, die in den beiden Bildströmen erscheinen. So können beispielsweise Position, Geschwindigkeit und/oder Beschleunigung relativ zum Fahrzeug 200 basierend auf Bewegungsbahnen, Positionen, Bewegungsmerkmalen usw. von Merkmalen ermittelt werden, die einem Objekt zugeordnet sind, das in einem oder beiden Bildströmen erscheint.
  • In Schritt 630 kann die Verarbeitungseinheit 110 das Navigationsreaktionsmodul 408 ausführen, um eine oder mehrere Navigationsreaktionen im Fahrzeug 200 basierend auf der in Schritt 620 durchgeführten Analyse und der oben in Verbindung mit 4 beschriebenen Techniken zu bewirken. Zu den Navigationsreaktionen können beispielsweise ein Abbiegen, ein Fahrstreifenwechsel, eine Änderung der Beschleunigung, eine Änderung der Geschwindigkeit, ein Abbremsen und dergleichen gehören. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Daten verwenden, die aus der Ausführung des Geschwindigkeits- und Beschleunigungsmoduls 406 stammen, um die eine oder mehreren Navigationsreaktionen zu bewirken. Außerdem können mehrere Navigationsreaktionen gleichzeitig, nacheinander oder in beliebiger Kombination erfolgen.
  • 7 ist ein Flussdiagramm, das ein Beispiel für einen Prozess 700 zum Bewirken einer oder mehrerer Navigationsreaktionen basierend auf einer Analyse von drei Sätzen von Bildern in Übereinstimmung mit offenbarten Ausführungsformen zeigt. In Schritt 710 kann die Verarbeitungseinheit 110 eine erste, zweite und dritte Vielzahl von Bildern über die Datenschnittstelle 128 empfangen. Beispielsweise können Kameras in der Bilderfassungseinheit 120 (z. B. in den Bildaufhahmevorrichtungen 122, 124 und 126 mit den Sichtfeldern 202, 204 und 206) eine erste, zweite und dritte Vielzahl von Bildern eines Bereichs vor und/oder seitlich des Fahrzeugs 200 aufnehmen und ü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, zweite und dritte Vielzahl von Bildern über drei oder mehr Datenschnittstellen empfangen. Beispielsweise kann jede der Bildaufhahmevorrichtungen 122, 124, 126 eine zugeordnete Datenschnittstelle zur Übermittlung von Daten an die Verarbeitungseinheit 110 aufweisen. Die offenbarten Ausführungsformen sind nicht auf bestimmte Datenschnittstellenauslegungen oder -protokolle beschränkt.
  • In Schritt 720 kann die Verarbeitungseinheit 110 die erste, zweite und dritte Vielzahl von Bildern analysieren, um Merkmale in den Bildern, z. B. Fahrstreifenmarkierungen, Fahrzeuge, Fußgänger, Straßenschilder, Autobahnausfahrten, Ampeln, Straßengefahren und dergleichen, zu erkennen. Die Analyse kann ähnlich wie die oben in Verbindung mit 5A-5D und 6 beschriebenen Schritte durchgeführt werden. Beispielsweise kann die Verarbeitungseinheit 110 eine monokulare Bildanalyse (z. B. über die Ausführung des monokularen Bildanalysemoduls 402 und basierend auf den oben in Verbindung mit 5A-5D beschriebenen Schritten) für jedes der ersten, zweiten und dritten Vielzahl von Bildern durchführen. Alternativ kann die Verarbeitungseinheit 110 eine Stereobildanalyse (z. B. über die Ausführung des Stereobildanalysemoduls 404 und basierend auf den oben in Verbindung mit 6 beschriebenen Schritten) für die erste und zweite Vielzahl von Bildern, die zweite und dritte Vielzahl von Bildern und/oder die erste und dritte Vielzahl von Bildern durchführen. Die verarbeiteten Informationen, die der Analyse der ersten, zweiten und/oder dritten Vielzahl von Bildern entsprechen, können miteinander kombiniert werden. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 eine Kombination aus monokularer und Stereobildanalyse durchführen. Zum Beispiel kann die Verarbeitungseinheit 110 eine monokulare Bildanalyse (z. B. durch Ausführen des monokularen Bildanalysemoduls 402) für die erste Vielzahl von Bildern und eine Stereobildanalyse (z. B. durch Ausführen des Stereobildanalysemoduls 404) für die zweite und dritte Vielzahl von Bildern durchführen. Die Ausbildung der Bildaufnahmevorrichtungen 122, 124 und 126, einschließlich ihrer jeweiligen Positionen und Sichtfelder 202, 204 und 206, kann die Arten von Analysen beeinflussen, die an der ersten, zweiten und dritten Vielzahl von Bildern durchgeführt werden. Die offenbarten Ausführungsformen sind nicht auf eine bestimmte Ausbildung der Bildaufnahmevorrichtungen 122, 124 und 126 oder auf die Arten von Analysen beschränkt, die an der ersten, zweiten und dritten Vielzahl von Bildern durchgeführt werden.
  • In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Tests am System 100 basierend auf den in den Schritten 710 und 720 erfassten und analysierten Bildern durchführen. Diese Tests können einen Indikator für die Gesamtleistung des Systems 100 für bestimmte Ausbildungen von Bildaufnahmevorrichtungen 122, 124 und 126 liefern. Beispielsweise kann die Verarbeitungseinheit 110 den Anteil der „Falschtreffer“ (z. B. Fälle, in denen das System 100 das Vorhandensein eines Fahrzeugs oder Fußgängers fälschlicherweise festgestellt hat) und der „Übersehungen“ ermitteln.
  • In Schritt 730 kann die Verarbeitungseinheit 110 eine oder mehrere Navigationsreaktionen im Fahrzeug 200 bewirken, die auf Informationen basieren, die aus zwei der ersten, zweiten und dritten Vielzahl von Bildern stammen. Die Auswahl von zwei aus der ersten, zweiten und dritten Vielzahl von Bildern kann von verschiedenen Faktoren abhängen, wie z. B. der Anzahl, Art und Größe der Objekte, die in jedem der Vielzahl von Bildern erfasst werden. Die Verarbeitungseinheit 110 kann die Auswahl auch basierend auf der Bildqualität und -auflösung, dem effektiven Sichtfeld, das sich in den Bildern widerspiegelt, der Anzahl der aufgenommenen Bilder, dem Ausmaß, in dem ein oder mehrere Objekte von Interesse tatsächlich in den Bildern erscheinen (z. B. der Prozentsatz der Bilder, in denen ein Objekt erscheint, der Anteil des Objekts, der in jedem dieser Bilder erscheint, usw.), und dergleichen treffen.
  • In einigen Ausführungsformen kann die Verarbeitungseinheit 110 Informationen auswählen, die aus zwei der ersten, zweiten und dritten Vielzahl von Bildern stammen, indem sie das Ausmaß ermittelt, in dem die aus einer Bildquelle stammenden Informationen mit den aus anderen Bildquellen stammenden Informationen übereinstimmen. Beispielsweise kann die Verarbeitungseinheit 110 die verarbeiteten Informationen kombinieren, die aus jeder der Bildaufnahmevorrichtungen 122, 124 und 126 stammen (sei es durch monokulare Analyse, Stereoanalyse oder eine beliebige Kombination aus beidem), und visuelle Indikatoren (z. B. Fahrstreifenmarkierungen, ein erfasstes Fahrzeug und dessen Position und/oder Weg, eine erfasste Ampel usw.) ermitteln, die über die aus jeder der Bildaufnahmevorrichtungen 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 den Fahrstreifen wechselt, ein Fahrstreifenmodell, das ein Fahrzeug anzeigt, das sich zu nahe am Fahrzeug 200 befindet, usw.). Auf diese Weise kann die Verarbeitungseinheit 110 Informationen auswählen, die aus zwei der ersten, zweiten und dritten Vielzahl von Bildern abgeleitet sind, basierend auf den Feststellungen von konsistenten und inkonsistenten Informationen.
  • Zu den Navigationsreaktionen können z. B. ein Abbiegen, ein Fahrstreifenwechsel, eine Änderung der Beschleunigung und dergleichen gehören. Die Verarbeitungseinheit 110 kann die eine oder die mehreren Navigationsreaktionen basierend auf der in Schritt 720 durchgeführten Analyse und den oben in Verbindung mit 4 beschriebenen Techniken bewirken. Die Verarbeitungseinheit 110 kann auch Daten verwenden, die aus dem Ausführen des Geschwindigkeits- und Beschleunigungsmoduls 406 stammen, um die eine oder mehreren Navigationsreaktionen zu bewirken. In einigen Ausführungsformen kann die Verarbeitungseinheit 110 die eine oder mehreren Navigationsreaktionen basierend auf einer relativen Position, einer relativen Geschwindigkeit und/oder einer relativen Beschleunigung zwischen dem Fahrzeug 200 und einem Objekt, das in einem der ersten, zweiten und dritten Vielzahl von Bildern erfasst wurde, bewirken. Mehrere Navigationsreaktionen können 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 die autonome Fahrzeugnavigation verwenden. Insbesondere kann die dünnbesetzte Karte für die autonome Fahrzeugnavigation entlang eines Straßensegments verwendet werden. Beispielsweise kann die dünnbesetzte Karte ausreichende Informationen für die Navigation eines autonomen Fahrzeugs liefern, ohne dass eine große Datenmenge gespeichert und/oder aktualisiert werden muss. Wie unten näher erläutert, kann ein autonomes Fahrzeug die dünnbesetzte Karte verwenden, um eine oder mehrere Straßen basierend auf einer oder mehreren gespeicherten Bewegungsbahnen 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 die autonome Fahrzeugnavigation erzeugen. Beispielsweise kann die dünnbesetzte Karte genügend Informationen für die Navigation liefern, ohne dass eine übermäßige Datenspeicherung oder Datenübertragungsrate erforderlich ist. Wie weiter unten 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 z. B. Daten bezüglich einer Straße und möglicherweise Orientierungspunkte entlang der Straße enthalten, die für die Fahrzeugnavigation ausreichen, aber auch nur einen kleinen Datenfußabdruck aufweisen. Beispielsweise können die im Folgenden beschriebenen dünnbesetzten Datenkarten im Vergleich zu digitalen Karten mit detaillierten Karteninformationen, wie z. B. entlang einer Straße gesammelten Bilddaten, deutlich weniger Speicherplatz und Datenübertragungsbandbreite erfordern.
  • Anstatt detaillierte Darstellungen eines Straßensegments zu speichern, kann die dünnbesetzte Datenkarte beispielsweise dreidimensionale Polynomdarstellungen von bevorzugten Fahrzeugwegen auf einer Straße speichern. Diese Wege benötigen unter Umständen sehr wenig Datenspeicherplatz. Ferner können in den beschriebenen Karten mit dünnbesetzten Daten Orientierungspunkte identifiziert und in das Straßenmodell der dünnbesetzten Karte aufgenommen werden, um die Navigation zu erleichtern. Diese Orientierungspunkte können in beliebigen Abständen angeordnet sein, die für die Fahrzeugnavigation geeignet sind, aber in einigen Fällen brauchen solche Orientierungspunkte bei hoher Dichte und geringen Abständen nicht identifiziert und in das Modell aufgenommen zu werden. Vielmehr kann die Navigation in einigen Fällen anhand von Orientierungspunkten 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, kann die dünnbesetzte Karte basierend auf Daten erstellt werden, die durch Fahrzeuge gesammelt oder gemessen werden, die mit verschiedenen Sensoren und Vorrichtungen ausgestattet sind, wie z. B. Bildaufhahmevorrichtungen, Global Positioning System-Sensoren, Bewegungssensoren usw., während die Fahrzeuge auf den Straßen fahren. In einigen Fällen kann die dünnbesetzte Karte basierend auf Daten erstellt werden, die während mehrerer Fahrten eines oder mehrerer Fahrzeuge auf einer bestimmten Straße gesammelt wurden. Die Erstellung einer dünnbesetzten Karte unter Verwendung mehrerer Fahrten eines oder mehrerer Fahrzeuge kann als „Crowdsourcing“ einer dünn besetzten Karte bezeichnet werden.
  • In Übereinstimmung mit den 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 zur Erzeugung eines Straßennavigationsmodells für ein autonomes Fahrzeug verteilen und ein autonomes Fahrzeug auf einem Straßensegment unter Verwendung einer dünnbesetzten Karte und/oder eines erzeugten Straßennavigationsmodells navigieren. Dünnbesetzte Karten, die mit der vorliegenden Offenbarung übereinstimmen, können eine oder mehrere dreidimensionale Konturen enthalten, die vorgegebene Bewegungsbahnen darstellen können, auf denen autonome Fahrzeuge fahren können, wenn sie sich auf zugeordneten Straßensegmenten bewegen.
  • Dünnbesetzte Karten im Sinne der vorliegenden Offenbarung können auch Daten enthalten, die ein oder mehrere Straßenmerkmale darstellen. Zu diesen Straßenmerkmalen können erfasste Orientierungspunkte, Straßensignaturprofile und andere straßenbezogene Merkmale gehören, die für die Navigation eines Fahrzeugs nützlich sind. Dünnbesetzte Karten, die mit der vorliegenden Offenbarung übereinstimmen, können die autonome Navigation eines Fahrzeugs basierend auf relativ kleinen Datenmengen ermöglichen, die in der dünnbesetzten Karte enthalten sind. Anstatt detaillierte Darstellungen einer Straße zu enthalten, wie beispielsweise Straßenränder, Straßenkrümmungen, Straßensegmenten zugeordnete Bilder oder Daten, die andere einem Straßensegment zugeordnete physische 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 Datenbedarf 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 Bewegungsbahnen speichern, denen ein Fahrzeug auf der Straße folgen kann. Anstatt also Details ü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 auf einem bestimmten Straßensegment navigiert werden, ohne dass in einigen Fällen physische Aspekte der Straße interpretiert werden müssen, indem sein Fahrweg an einer Bewegungsbahn (z. B. einem Polynomspline) entlang des bestimmten Straßensegments ausgerichtet wird. Auf diese Weise kann das Fahrzeug hauptsächlich basierend auf der gespeicherten Bewegungsbahn (z. B. einem Polynomspline) navigiert werden, die viel weniger Speicherplatz als ein Ansatz benötigt, der die Speicherung von Straßenbildern, Straßenparametern, Straßenlayout usw. beinhaltet.
  • Zusätzlich zu den gespeicherten Polynomdarstellungen von Bewegungsbahnen entlang eines Straßensegments 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 enthalten, die aus einem digitalen Bild (oder einem digitalen Signal) abgeleitet sind, das durch einen Sensor (z. B. eine Kamera oder einen anderen Sensor, wie einen Federungssensor) an Bord eines Fahrzeugs, das auf dem Straßensegment fährt, erhalten wurde. Die digitale Signatur kann im Vergleich zu dem durch den Sensor erfassten Signal eine reduzierte Größe aufweisen. In einigen Ausführungsformen kann die digitale Signatur so erstellt werden, dass sie mit einer Klassifizierungsfunktion kompatibel ist, die dazu ausgelegt ist, das Straßenmerkmal aus dem durch den Sensor erfassten Signal, z. B. während einer nachfolgenden Fahrt, zu erkennen und zu identifizieren. In einigen Ausführungsformen kann eine digitale Signatur so erstellt werden, dass die digitale Signatur einen möglichst kleinen Fußabdruck aufweist, während die Fähigkeit erhalten bleibt, das Straßenmerkmal mit der gespeicherten Signatur basierend auf einem Bild (oder einem durch einen Sensor erzeugten digitalen Signal, wenn die gespeicherte Signatur nicht auf einem Bild basiert und/oder andere Daten enthält) des Straßenmerkmals zu korrelieren oder abzugleichen, das durch eine Kamera an Bord eines zu einem späteren Zeitpunkt auf demselben Straßensegment fahrenden Fahrzeugs erfasst wird.
  • In einigen Ausführungsformen kann die Größe der Datenobjekte außerdem der Einzigartigkeit des Straßenmerkmals zugeordnet werden. Wenn beispielsweise ein Straßenmerkmal durch eine Kamera an Bord eines Fahrzeugs erfassbar ist und das Kamerasystem an Bord des Fahrzeugs mit einem Klassifikator gekoppelt ist, der in der Lage ist, die Bilddaten, die diesem Straßenmerkmal entsprechen, einer bestimmten Art von Straßenmerkmal, z. B. einem Straßenschild, zuzuordnen, und wenn ein solches Straßenschild in diesem Bereich örtlich einzigartig ist (z. B. gibt es in der Nähe kein identisches Straßenschild oder Straßenschild derselben Art), kann es ausreichen, Daten zu speichern, die die Art des Straßenmerkmals und dessen Position angeben.
  • Wie weiter unten näher erläutert wird, können Straßenmerkmale (z. B. Orientierungspunkte entlang eines Straßensegments) als kleine Datenobjekte gespeichert werden, die ein Straßenmerkmal in relativ wenigen Bytes darstellen und gleichzeitig ausreichende Informationen für die Erkennung und Verwendung eines solchen Merkmals für die Navigation liefern können. In einem Beispiel kann ein Straßenschild als erkannter Orientierungspunkt identifiziert werden, auf der die Navigation eines Fahrzeugs basiert werden kann. Eine Darstellung des Straßenschildes kann in der dünnbesetzten Karte gespeichert sein und z. B. einige Bytes an Daten enthalten, die eine Art des Orientierungspunktes (z. B. ein Stoppschild) und einige Bytes an Daten, die einen Position des Orientierungspunktes (z. B. Koordinaten) angeben. Die Navigation basierend auf solchen datenarmen Darstellungen der Orientierungspunkte (z. B. unter Verwendung von Darstellungen, die zum Auffinden, Erkennen und Navigieren basierend auf den Orientierungspunkten ausreichen) kann ein gewünschtes Maß an Navigationsfunktionalität bieten, die dünnbesetzten Karten zugeordnet ist, ohne dass der den dünnbesetzten Karten zugeordneten Daten-Overhead wesentlich erhöht wird. Diese schlanke Darstellung von Orientierungspunkten (und anderen Straßenmerkmalen) kann die Vorteile der Sensoren und Prozessoren an Bord von Fahrzeugen nutzen, die dazu ausgelegt sind, bestimmte Straßenmerkmale zu erfassen, zu identifizieren und/oder zu klassifizieren.
  • Wenn zum Beispiel ein Schild oder sogar eine bestimmte Art eines Schildes in einem bestimmten Bereich örtlich einzigartig ist (z. B. wenn es kein anderes Schild oder kein anderes Schild derselben Art gibt), kann die dünnbesetzte Karte Daten verwenden, die eine Art eines Orientierungspunkts (ein Schild oder eine bestimmte Art eines Schildes) angeben, und während der Navigation (z. B., autonomen Navigation), wenn eine Kamera an Bord eines autonomen Fahrzeugs ein Bild des Bereichs aufnimmt, das ein Schild (oder eine bestimmte Art eines Schildes) enthält, kann der Prozessor das Bild verarbeiten, das Schild erfassen (wenn es tatsächlich in dem Bild vorhanden ist), das Bild als ein Schild (oder als eine bestimmte Art eines Schildes) klassifizieren und die Position des Bildes mit der Position des Schildes, wie diese in der dünnbesetzten Karte gespeichert ist, korrelieren.
  • 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ßensegments erstreckt, und eine Vielzahl von Orientierungspunkten, die dem Straßensegment zugeordnet sind, enthalten. In bestimmten Fällen kann die dünnbesetzte Karte durch Crowdsourcing erzeugt werden, z. B. durch Bildanalyse einer Vielzahl von Bildern, die aufgenommen werden, während ein oder mehrere Fahrzeuge auf dem Straßensegment fahren.
  • 8 zeigt eine dünnbesetzte Karte 800, auf die ein oder mehrere Fahrzeuge, z. B. Fahrzeug 200 (das ein autonomes Fahrzeug sein kann), zugreifen können, um eine autonome Fahrzeugnavigation zu ermöglichen. Die dünnbesetzte Karte 800 kann in einem Speicher, z. B. dem Speicher 140 oder 150, gespeichert sein. Solche Speichervorrichtungen können alle Arten von nichtflüchtigen Speichervorrichtungen oder computerlesbaren Medien umfassen. In einigen Ausführungsformen kann der Speicher 140 oder 150 beispielsweise Festplatten, Compact Discs, Flash-Speicher, magnetische Speichervorrichtungen, optische Speichervorrichtungen usw. umfassen. In einigen Ausführungsformen kann die dünnbesetzte Karte 800 in einer Datenbank (z. B. die Kartendatenbank 160) gespeichert sein, die im Speicher 140 oder 150 oder in anderen Arten von Speichervorrichtungen gespeichert sein kann.
  • In einigen Ausführungsformen kann die dünnbesetzte Karte 800 auf einer Speichervorrichtung oder einem nichtflüchtigen computerlesbaren Medium gespeichert sein, das an Bord des Fahrzeugs 200 bereitgestellt wird (z. B. eine Speichervorrichtung, 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 Speichervorrichtung oder dem computerlesbaren Medium an Bord des Fahrzeugs 200 gespeichert ist, um Navigationsanweisungen zur Führung des autonomen Fahrzeugs 200 zu erzeugen, während das Fahrzeug auf einem Straßensegment fährt.
  • Die dünnbesetzte Karte 800 braucht jedoch nicht lokal in Bezug auf ein Fahrzeug gespeichert zu sein. In einigen Ausführungsformen kann die dünnbesetzte Karte 800 auf einer Speichervorrichtung oder einem computerlesbaren Medium gespeichert sein, das auf einem entfernt gelegenen Server bereitgestellt wird, der mit dem Fahrzeug 200 oder einer dem Fahrzeug 200 zugeordneten Vorrichtung kommuniziert. Ein im Fahrzeug 200 befindlicher Prozessor (z. B. die Verarbeitungseinheit 110) kann Daten, die in der dünnbesetzten Karte 800 enthalten sind, aus dem entfernt gelegenen Server empfangen und die Daten zur Steuerung des autonomen Fahrens des Fahrzeugs 200 ausführen. In solchen Ausführungsformen kann der entfernt gelegene Server die gesamte dünnbesetzte Karte 800 oder nur einen Teil davon speichern. Dementsprechend kann die Speichervorrichtung 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.
  • Ferner kann in solchen Ausführungsformen die dünnbesetzte Karte 800 einer Vielzahl von Fahrzeugen (z. B. mehreren Zehnern, Hunderten, Tausenden oder Millionen von Fahrzeugen usw.) zugänglich gemacht werden, die auf verschiedenen Straßensegmenten fahren. Es ist auch zu beachten, dass die dünnbesetzte Karte 800 mehrere Teilkarten enthalten kann. In einigen Ausführungsformen kann die dünnbesetzte Karte 800 beispielsweise Hunderte, Tausende, Millionen oder mehr Teilkarten enthalten, die bei der Navigation eines Fahrzeugs verwendet werden können. Solche Teilkarten können als lokale Karten bezeichnet werden, und ein Fahrzeug, das auf einer Straße fährt ist, kann auf eine beliebige Anzahl lokaler Karten zugreifen, die für den Ort relevant sind, an dem das Fahrzeug unterwegs ist. Die lokalen Kartenausschnitte der dünnbesetzten Karte 800 können mit einem GNSS-Schlüssel (Global Navigation Satellite System) als Index in der Datenbank der dünnbesetzten Karte 800 gespeichert sein. Während die Berechnung der Lenkwinkel für die Navigation eines Host-Fahrzeugs im vorliegenden System ohne Abhängigkeit von einer GNSS-Position des Host-Fahrzeugs, von Straßenmerkmalen oder Orientierungspunkten erfolgen kann, können solche GNSS-Informationen somit für die Abfrage relevanter lokaler Karten verwendet werden.
  • Allgemein kann die dünnbesetzte Karte 800 basierend auf Daten erzeugt werden, die aus einem oder mehreren Fahrzeugen während ihrer Fahrt auf der Straße gesammelt werden. Beispielsweise können mithilfe von Sensoren an Bord des einen oder der mehreren Fahrzeuge (z. B. Kameras, Geschwindigkeitsmesser, GPS, Beschleunigungsmesser usw.) die Bewegungsbahnen aufgezeichnet werden, die das eine oder die mehreren Fahrzeuge auf einer Straße zurücklegen, und die Polynomdarstellung einer bevorzugten Bewegungsbahn für Fahrzeuge, die nachfolgend auf der Straße fahren, kann basierend auf den gesammelten Bewegungsbahnen, die durch das eine oder die mehreren Fahrzeuge befahren wurden, ermittelt werden. Ebenso können die durch das eine oder die mehreren Fahrzeuge gesammelten Daten bei der Identifizierung potenzieller Orientierungspunkte entlang einer bestimmten Straße helfen. Die aus den fahrenden Fahrzeugen gesammelten Daten können auch dazu verwendet werden, um Straßenprofilinformationen zu ermitteln, wie z. B. Straßenbreitenprofile, Fahrbahnrauheitsprofile, Profile von Verkehrslinienabständen, Straßenzustände usw. Anhand der gesammelten Informationen kann eine dünnbesetzte Karte 800 (z. B. zur lokalen Speicherung oder über eine fliegende Datenübertragung) erzeugt und verteilt werden, um sie bei der Navigation eines oder mehrerer autonomer Fahrzeuge zu verwenden. In einigen Ausführungsformen endet die Kartenerzeugung jedoch nicht mit der ersten Erzeugung der Karte. Wie weiter unten näher erläutert, kann die dünnbesetzte Karte 800 kontinuierlich oder periodisch basierend auf den aus Fahrzeugen gesammelten Daten aktualisiert werden, wenn 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-Daten (Global Positioning System) basieren. Beispielsweise können in der dünnbesetzten Karte 800 Positionsinformationen für verschiedene Kartenelemente, z. B. Positionen von Orientierungspunkten, Straßenprofilen usw., enthalten sein. Die Positionen für die in der dünnbesetzten Karte 800 enthaltenen Kartenelemente können mithilfe von GPS-Daten ermittelt werden, die aus Fahrzeugen gesammelt wurden, die eine Straße befahren. Beispielsweise kann ein Fahrzeug, das an einem identifizierten Orientierungspunkt vorbeifährt, die Position des identifizierten Orientierungspunkts mithilfe von GPS-Positionsinformationen, die dem Fahrzeug zugeordnet sind, und einer Ermittlung der Position des identifizierten Orientierungspunkts relativ zum Fahrzeug (z. B. basierend auf einer Bildanalyse von Daten, die aus einer oder mehreren Kameras an Bord des Fahrzeugs erfasst wurden) ermitteln. Solche Positionsbestimmungen eines identifizierten Orientierungspunkts (oder eines anderen Merkmals in der dünnbesetzten Karte 800) können wiederholt werden, wenn weitere Fahrzeuge die Position des identifizierten Orientierungspunkts passieren. Einige oder alle der zusätzlichen Positionsbestimmungen können dazu verwendet werden, um die in der dünnbesetzten Karte 800 gespeicherten Positionsinformationen in Bezug auf den identifizierten Orientierungspunkt 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 eine gespeicherte Position eines Kartenelements basierend auf einer Vielzahl von ermittelten Positionen für das Kartenelement zu verfeinern.
  • Die dünnbesetzte Karte der beschriebenen 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 der Daten, die die Sollbewegungsbahnen, Orientierungspunkte 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 ein bestimmtes Straßensegment innerhalb der dünnbesetzten Karte 800 darstellen.
  • Wie bereits erwähnt, kann die dünnbesetzte Karte 800 Darstellungen einer Vielzahl von Sollbewegungsbahnen 810 zur Steuerung des autonomen Fahrens oder der Navigation auf einem Straßensegment enthalten. Solche Sollbewegungsbahnen können als dreidimensionale Splines gespeichert sein. Die in der dünnbesetzten Karte 800 gespeicherten Sollbewegungsbahnen können beispielsweise basierend auf zwei oder mehr rekonstruierten Bewegungsbahnen früherer Fahrten von Fahrzeugen entlang eines bestimmten Straßensegments ermittelt werden. Ein Straßensegment kann einer einzigen Sollbewegungsbahn oder mehreren Sollbewegungsbahnen zugeordnet sein. Auf einer Straße mit zwei Fahrstreifen kann beispielsweise eine erste Sollbewegungsbahn gespeichert sein, um einen beabsichtigten Fahrweg entlang der Straße in einer ersten Richtung darzustellen, und eine zweite Sollbewegungsbahn kann gespeichert sein, um einen beabsichtigten Fahrweg entlang der Straße in einer anderen Richtung (z. B. entgegengesetzt zur ersten Richtung) darzustellen. Für ein bestimmtes Straßensegment können zusätzliche Sollbewegungsbahnen gespeichert sein. So können beispielsweise auf einer Straße mit mehreren Fahrstreifen eine oder mehrere Sollbewegungsbahnen gespeichert sein, die die beabsichtigten Fahrwege für Fahrzeuge auf einem oder mehreren Fahrstreifen der Straße mit mehreren Fahrstreifen darstellen. In einigen Ausführungsformen kann jeder Fahrtreifen einer Straße mehreren Fahrstreifen seiner eigenen Sollbewegungsbahn zugeordnet sein. In anderen Ausführungsformen können weniger Sollbewegungsbahnen als Fahrstreifen auf einer Straße mit mehreren Fahrstreifen gespeichert sein. In solchen Fällen kann ein Fahrzeug, das auf einer Straße mit mehreren Fahrstreifen fährt, eine der gespeicherten Sollbewegungsbahnen für seine Navigation verwenden, indem es einen Fahrstreifenversatz zu einem Fahrstreifen berücksichtigt, für die eine Sollbewegungsbahn gespeichert ist (z. B., wenn ein Fahrzeug auf dem linken Fahrstreifen einer Autobahn mit drei Fahrstreifen fährt und eine Sollbewegungsbahn nur für den mittleren Fahrstreifen der Autobahn gespeichert ist, kann das Fahrzeug unter Verwendung der Sollbewegungsbahn des mittleren Fahrstreifens navigieren, indem es bei der Erzeugung von Navigationsanweisungen den Fahrstreifenversatz zwischen dem mittleren Fahrstreifen und dem äußersten linken Fahrstreifen berücksichtigt).
  • In einigen Ausführungsformen kann die Sollbewegungsbahn einen idealen Weg darstellen, den ein Fahrzeug während seiner Fahrt nehmen sollte. Die Sollbewegungsbahn kann sich beispielsweise in der ungefähren Mitte eines Fahrstreifens befinden. In anderen Fällen kann sich die Sollbewegungsbahn an einer anderen Stelle des Straßensegments befinden. Beispielsweise kann eine Sollbewegungsbahn annähernd mit der Mitte einer Straße, einem Straßenrand oder einem Fahrstreifenrand usw. übereinstimmen. In solchen Fällen kann die Navigation basierend auf der Sollbewegungsbahn einen bestimmten Versatz beinhalten, der relativ zur Position der Sollbewegungsbahn einzuhalten ist. Darüber hinaus kann in einigen Ausführungsformen der bestimmte Versatz, der in Bezug auf die Position der Sollbewegungsbahn einzuhalten ist, je nach Fahrzeugart verschieden sein (z. B. kann ein Pkw mit zwei Achsen einen anderen Versatz als ein Lkw mit mehr als zwei Achsen entlang mindestens eines Teils der Sollbewegungsbahn aufweisen).
  • Die dünnbesetzte Karte 800 kann auch Daten enthalten, die sich auf eine Vielzahl vorgegebener Orientierungspunkte 820 beziehen, die bestimmten Straßensegmenten, lokalen Karten usw. zugeordnet sind. Wie weiter unten näher erläutert, können diese Orientierungspunkte bei der Navigation des autonomen Fahrzeugs verwendet werden. In einigen Ausführungsformen können die Orientierungspunkte beispielsweise dazu verwendet werden, die aktuelle Position des Fahrzeugs relativ zu einer gespeicherten Sollbewegungsbahn zu ermitteln. Anhand dieser Positionsinformationen kann das autonome Fahrzeug die Kursrichtung so anpassen, dass sie mit der Richtung der Sollbewegungsbahn an der ermittelten Position übereinstimmt.
  • Die Vielzahl von Orientierungspunkten 820 kann in jedem geeigneten Abstand identifiziert und in der dünnbesetzten Karte 800 gespeichert sein. In einigen Ausführungsformen können Orientierungspunkte mit relativ hoher Dichte gespeichert sein (z. B. alle paar Meter oder mehr). In einigen Ausführungsformen können jedoch auch wesentlich größere Abstände zwischen den Orientierungspunkten verwendet werden. In der dünnbesetzten Karte 800 können die identifizierten (oder erfassten) Orientierungspunkte 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 Orientierungspunkte sogar mehr als 2 Kilometer voneinander entfernt sein.
  • Zwischen den Orientierungspunkten und somit zwischen den Positionsbestimmungen des Fahrzeugs in Bezug auf eine Sollbewegungsbahn kann das Fahrzeug anhand von Koppelnavigation navigieren, bei der das Fahrzeug mithilfe von Sensoren seine Egobewegung ermittelt und seine Position in Bezug auf die Sollbewegungsbahn schätzt. Da sich bei einer Navigation durch Koppelnavigation Fehler häufen können, werden die Positionsbestimmungen relativ zur Sollbewegungsbahn mit der Zeit immer ungenauer. Das Fahrzeug kann die in der dünnbesetzten Karte 800 vorkommenden Orientierungspunkte (und deren bekannte Positionen) dazu verwenden, um die durch die Koppelnavigation verursachten Fehler bei der Positionsbestimmung zu beseitigen. Auf diese Weise können die identifizierten Orientierungspunkte, die in der dünnbesetzten Karte 800 enthalten sind, als Navigationsanker dienen, anhand derer eine genaue Position des Fahrzeugs relativ zu einer Sollbewegungsbahn ermittelt werden kann. Da ein gewisses Maß an Fehlern bei der Positionsbestimmung akzeptabel sein kann, braucht ein identifizierter Orientierungspunkt nicht immer für ein autonomes Fahrzeug vorhanden zu sein. Vielmehr kann eine geeignete Navigation auch basierend auf den oben erwähnten Abständen zwischen Orientierungspunkten 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 Orientierungspunkt pro 1 km Straßenlänge ausreichen, um die Genauigkeit der Positionsbestimmung in Längsrichtung innerhalb von 1 m zu halten. Daher braucht nicht jeder potenzielle Orientierungspunkt, der entlang eines Straßensegments auftritt, in der dünnbesetzten Karte 800 gespeichert zu sein.
  • Darüber hinaus können in einigen Ausführungsformen Fahrstreifenmarkierungen zur Lokalisierung des Fahrzeugs zwischen den Abständen von Orientierungspunkten verwendet werden. Durch Verwendung von Fahrstreifenmarkierungen bei der Festlegung von Abständen zwischen den Orientierungspunkten kann die Häufung von Problemen bei der Navigation mittels Koppelnavigation minimiert werden.
  • Zusätzlich zu den Sollbewegungsbahnen und identifizierten Orientierungspunkten kann die dünnbesetzte Karte 800 Informationen über verschiedene andere Straßenmerkmale enthalten.
  • 9A zeigt beispielsweise eine Darstellung von Kurven entlang eines bestimmten Straßensegments, die in der dünnbesetzten Karte 800 gespeichert sein kann. In einigen Ausführungsformen kann ein einzelner Fahrstreifen einer Straße durch eine dreidimensionale Polynombeschreibung der linken und rechten Straßenseite modelliert sein. Solche Polynome, die die linke und rechte Seite eines einzelnen Fahrstreifens darstellen, sind in 9A dargestellt. Unabhängig davon, wie viele Fahrstreifen eine Straße hat, kann sie mithilfe von Polynomen ähnlich wie in 9A dargestellt werden. Beispielsweise können die linke und rechte Seite einer Straße mit mehreren Fahrstreifen durch Polynome dargestellt werden, die den in 9A gezeigten ähnlich sind, und die auf einer Straße mit mehreren Fahrstreifen vorhandenen Fahrstreifenmarkierungen (z. B. gestrichelte Markierungen, die die Fahrstreifenbegrenzungen darstellen, durchgehende gelbe Linien, die z. B. in den USA die Begrenzungen zwischen den in verschiedenen Richtungen verlaufenden Fahrstreifen darstellen, usw.) können ebenfalls durch Polynome dargestellt werden, wie sie in 9A gezeigt sind.
  • Wie in 9A gezeigt, kann ein Fahrstreifen 900 durch Polynome (z. B. Polynome erster Ordnung, zweiter Ordnung, dritter Ordnung oder einer beliebigen anderen geeigneten Ordnung) dargestellt werden. Zur Veranschaulichung werden der Fahrstreifen 900 als zweidimensionaler Fahrstreifen und die Polynome als zweidimensionale Polynome dargestellt. Wie in 9A dargestellt, enthält der Fahrstreifen 900 eine linke Seite 910 und eine rechte Seite 920. In einigen Ausführungsformen kann mehr als ein Polynom verwendet werden, um die Position jeder Seite der Straße oder Fahrstreifenbegrenzung darzustellen. Beispielsweise können die linke Seite 910 und die rechte Seite 920 jeweils durch eine Vielzahl von Polynomen beliebiger geeigneter Länge dargestellt werden. In einigen Fällen können die Polynome eine Länge von etwa 100 m aufweisen, obwohl auch andere Längen größer oder kleiner als 100 m verwendet werden können. Darüber hinaus können sich die Polynome überschneiden, um nahtlose Übergänge bei der Navigation basierend auf aufeinanderfolgenden Polynomen zu erleichtern, während ein Host-Fahrzeug eine Straße befä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 Segmente von etwa 100 Metern Länge unterteilt sind (ein Beispiel für den ersten vorgegebenen Bereich) und sich um etwa 50 Meter überlappen. Die Polynome, die die linke Seite 910 und die rechte Seite 920 darstellen, können die gleiche Ordnung aufweisen oder auch nicht. In einigen Ausführungsformen können beispielsweise einige Polynome zweiter Ordnung, einige Polynome dritter Ordnung und einige Polynome vierter Ordnung sein.
  • In dem in 9A dargestellten Beispiel wird die linke Seite 910 des Fahrstreifens 900 durch zwei Gruppen von Polynomen dritter Ordnung dargestellt. Die erste Gruppe enthält die Polynomsegmente 911, 912 und 913. Die zweite Gruppe enthält die Polynomsegmente 914, 915 und 916. Die beiden Gruppen verlaufen zwar im Wesentlichen parallel zueinander, folgen aber der Position ihrer jeweiligen Straßenseite. Die Polynomsegmente 911, 912, 913, 914, 915 und 916 haben eine Länge von etwa 100 Metern und überlappen benachbarte Segmente der Reihe um etwa 50 Meter. Wie bereits erwähnt, können jedoch auch Polynome mit unterschiedlichen Längen und unterschiedlichen Überlappungsbeträgen verwendet werden. Die Polynome können beispielsweise eine Länge von 500 m, 1 km oder mehr aufweisen, und der Überlappungsgrad 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, können diese Polynome auch Kurven darstellen, die sich in drei Dimensionen (z. B. einschließlich einer Höhenkomponente) erstrecken, um zusätzlich zur X-Y-Krümmung Höhenänderungen in einem Straßensegment darzustellen. In dem in 9A gezeigten Beispiel wird die rechte Seite 920 des Fahrstreifens 900 ferner durch eine erste Gruppe mit Polynomsegmenten 921, 922 und 923 und eine zweite Gruppe mit Polynomsegmenten 924, 925 und 926 dargestellt.
  • Zurück zu den Sollbewegungsbahnen der dünnbesetzten Karte 800, zeigt 9B ein dreidimensionales Polynom, das eine Sollbewegungsbahn für ein Fahrzeug darstellt, das entlang eines bestimmten Straßensegments fährt. Die Sollbewegungsbahn stellt nicht nur den X-Y-Weg dar, den ein Host-Fahrzeug entlang eines bestimmten Straßensegments fahren sollte, sondern auch die Höhenveränderung, die das Host-Fahrzeug während der Fahrt entlang des Straßensegments erfährt. Beispielsweise kann jede Sollbewegungsbahn in der dünnbesetzten Karte 800 durch ein oder mehrere dreidimensionale Polynome dargestellt werden, wie das dreidimensionale Polynom 950 in 9B zeigt. Die dünnbesetzte Karte 800 kann eine Vielzahl von Bewegungsbahnen enthalten (z. B. Millionen oder Milliarden oder mehr, um Bewegungsbahnen von Fahrzeugen entlang verschiedener Straßensegmente auf der ganzen Welt darzustellen). In einigen Ausführungsformen kann jede Sollbewegungsbahn einem Spline entsprechen, der dreidimensionale Polynomsegmente miteinander verbindet.
  • Was den Datenbedarf der in der dünnbesetzten Karte 800 gespeicherten Polynomkurven betrifft, 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 Datengebrauch/Ü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 Fahrstreifennetz durch eine Kombination von Geometriedeskriptoren und Metadaten beschreiben. Die Geometrie kann durch Polynome oder Splines wie oben erläutert beschrieben werden. Die Metadaten können die Anzahl der Fahrstreifen, besondere Merkmale (z. B. einen Fahrstreifen für Fahrgemeinschaften) und möglicherweise andere dünnbesetzte Kennzeichnungen beschreiben. Der gesamte Fußabdruck 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 enthalten, das sich entlang des Straßensegments erstreckt, wobei jede Liniendarstellung einen Weg entlang des Straßensegments darstellt, der im Wesentlichen mit dem Straßenoberflächenmerkmal übereinstimmt. In einigen Ausführungsformen kann die mindestens eine Liniendarstellung des Straßenoberflächenmerkmals, wie oben beschrieben, einen Spline, eine Polynomdarstellung oder eine Kurve enthalten. In einigen Ausführungsformen kann das Straßenoberflächenmerkmal außerdem mindestens einen Straßenrand oder eine Fahrstreifenmarkierung umfassen. Wie weiter unten in Bezug auf „Crowdsourcing“ erläutert, kann das Straßenoberflächenmerkmal durch Bildanalyse einer Vielzahl von Bildern identifiziert werden, die aufgenommen wurden, während ein oder mehrere Fahrzeuge das Straßensegment beführen.
  • Wie bereits erwähnt, kann die dünnbesetzte Karte 800 eine Vielzahl von vorgegebenen Orientierungspunkten enthalten, die einem Straßensegment zugeordnet sind. Anstatt tatsächliche Bilder der Orientierungspunkte zu speichern und sich beispielsweise auf eine Bilderkennungsanalyse zu verlassen, die auf aufgenommenen und gespeicherten Bildern basiert, kann jeder Orientierungspunkt in der dünnbesetzten Karte 800 mit weniger Daten, als ein gespeichertes, tatsächliches Bild erfordern würde, dargestellt und erkannt werden. Daten, die Orientierungspunkte darstellen, können immer noch ausreichende Informationen zur Beschreibung oder Identifizierung der Orientierungspunkte entlang einer Straße enthalten. Durch Speichern von Daten, die die Merkmale von Orientierungspunkten beschreiben, anstatt der tatsächlichen Bilder von Orientierungspunkten kann die Größe der dünnbesetzten Karte 800 verringert werden.
  • 10 zeigt Beispiele für Arten von Orientierungspunkten, die in der dünnbesetzten Karte 800 dargestellt sein können. Zu den Orientierungspunkten können alle sichtbaren und identifizierbaren Objekte entlang eines Straßensegments gehören. Die Orientierungspunkte können so ausgewählt werden, dass sie feststehen und sich in Bezug auf ihre Lage und/oder ihren Inhalt nicht häufig ändern. Die in der dünnbesetzten Karte 800 enthaltenen Orientierungspunkte können bei der Ermittlung der Position des Fahrzeugs 200 in Bezug auf eine Sollbewegungsbahn nützlich sein, wenn das Fahrzeug auf einem ermittelten Straßensegment fährt. Beispiele für Orientierungspunkte können Verkehrsschilder, Richtungsschilder, allgemeine Schilder (z. B. rechteckige Schilder), straßenseitige Vorrichtungen (z. B. Latemenpfähle, Reflektoren usw.) und jede andere geeignete Kategorie sein. In einigen Ausführungsformen können Fahrstreifenmarkierungen auf der Straße auch als Orientierungspunkte in der dünnbesetzten Karte 800 enthalten sein.
  • Zu den in 10 gezeigten Beispielen für Orientierungspunkte gehören Verkehrsschilder, Richtungsschilder, straßenseitige Vorrichtungen und allgemeine Schilder. Verkehrsschilder können beispielsweise Geschwindigkeitsbegrenzungsschilder (z. B. das Geschwindigkeitsbegrenzungsschild 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 enthalten, die eine oder mehrere Richtungen zu verschiedenen Orten angeben. Zu den Richtungsschildern können beispielsweise ein Autobahnschild 1025 mit Pfeilen, die Fahrzeuge zu verschiedenen Straßen oder Orten leiten, ein Ausfahrtsschild 1030 mit einem Pfeil, der Fahrzeuge von einer Straße weg leitet, usw. gehören. Dementsprechend kann mindestens einer der Vielzahl von Orientierungspunkten ein Straßenschild sein.
  • Allgemeine Zeichen können gegebenenfalls keinen Bezug zum Verkehr haben. Allgemeine Schilder sind 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“). Obwohl das allgemeine Schild 1040 wie in 10 dargestellt eine rechteckige Form aufweisen kann, kann das allgemeine Schild 1040 auch andere Formen aufweisen, wie z. B. Quadrat, Kreis, Dreieck usw.
  • Zu den Orientierungspunkten können auch straßenseitige Vorrichtungen gehören. Bei straßenseitigen Vorrichtungen kann es sich um Gegenstände handeln, die keine Schilder sind und nicht mit dem Verkehr oder der Fahrtrichtung zusammenhängen. Straßenseitige Vorrichtungen können beispielsweise Laternenpfähle (z. B. der Laternenpfahl 1035), Stromleitungspfähle, Ampelmasten usw. sein.
  • Zu den Orientierungspunkten 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 Aufbauten umfassen, die in vorgegebenen Abständen platziert sind, um die Navigation des Host-Fahrzeugs zu unterstützen. Solche Baken können auch visuelle/grafische Informationen enthalten, die zu bestehenden Straßenschildern hinzugefügt werden (z. B. Symbole, Embleme, Barcodes usw.), die durch ein Fahrzeug, das auf einem Straßensegment fährt, identifiziert oder erkannt werden können. Solche Baken können auch elektronische Komponenten enthalten. In solchen Fällen können elektronische Baken (z. B. RFID-Etiketten usw.) dazu verwendet werden, um nichtvisuelle Informationen an ein Host-Fahrzeug zu übertragen. Zu diesen Informationen können beispielsweise Informationen zur Identifizierung von Orientierungspunkten und/oder zur Positionsbestimmung von Orientierungspunkten gehören, die ein Host-Fahrzeug bei der Bestimmung seiner Position entlang einer Sollbewegungsbahn verwenden kann.
  • In einigen Ausführungsformen können die in der dünnbesetzten Karte 800 enthaltenen Orientierungspunkte durch ein Datenobjekt mit einer vorgegebenen Größe dargestellt werden. Die Daten, die einen Orientierungspunkt darstellen, können beliebige geeignete Parameter zur Identifizierung eines bestimmten Orientierungspunkts enthalten. In einigen Ausführungsformen können die in der dünnbesetzten Karte 800 gespeicherten Orientierungspunkte beispielsweise Parameter wie die physische Größe des Orientierungspunkts (z. B. zur Unterstützung der Abschätzung der Entfernung zum Orientierungspunkt basierend auf einer bekannten Größe/eines bekannten Maßstabs), die Entfernung zu einem vorhergehenden Orientierungspunkt, den seitlichen Versatz, die Höhe, einen Artencode (z. B. die Art des Orientierungspunkts - welche Art von Richtungsschild, Verkehrsschild usw.), eine GPS-Koordinate (z. B. zur Unterstützung der globalen Positionsbestimmung) und andere geeignete Parameter enthalten. Jeder Parameter kann einer Datengröße zugeordnet sein. Beispielsweise kann die Größe eines Orientierungspunkts mit 8 Byte Daten gespeichert werden. Die Entfernung zu einem vorhergehenden Orientierungspunkt, ein seitlicher Versatz und die Höhe können mit 12 Byte Daten angegeben werden. Ein Artencode, der einem Orientierungspunkt wie einem Richtungsschild oder einem Verkehrsschild zugeordnet ist, kann etwa 2 Byte an Daten erfordern. Für allgemeine Schilder kann eine Bildsignatur, die die Identifizierung des allgemeinen Schilds ermöglicht, mit 50 Byte Datenspeicherplatz gespeichert werden. Die GPS-Position des Orientierungspunkts kann 16 Byte Datenspeicherplatz zugeordnet sein. Diese Datengrößen für die einzelnen Parameter sind nur Beispiele; es können auch andere Datengrößen verwendet werden.
  • Die Darstellung von Orientierungspunkten in der dünnbesetzten Karte 800 auf diese Weise kann eine schlanke Lösung für die effiziente Darstellung von Orientierungspunkten in der Datenbank bieten. In einigen Ausführungsformen können Schilder als semantische Schilder und nichtsemantische Schilder bezeichnet werden. Ein semantisches Schild kann jede Klasse von Schildern enthalten, für die es eine standardisierte Bedeutung gibt (z. B. Geschwindigkeitsbegrenzungsschilder, Warnschilder, Richtungsschilder usw.). Ein nicht-semantisches Schild kann jedes Schild sein, das nicht einer standardisierten Bedeutung zugeordnet ist (z. B. allgemeine Werbeschilder, Schilder zur Kennzeichnung von Geschäftsbetrieben usw.). Beispielsweise kann jedes semantische Schild mit 38 Byte Daten dargestellt werden (z. B. 8 Byte für die Größe, 12 Byte für die Entfernung zum vorherigen Orientierungspunkt, den seitlichen Versatz und die Höhe, 2 Byte für einen Artencode und 16 Byte für GPS-Koordinaten). Die dünnbesetzte Karte 800 kann ein Markierungssystem verwenden, um Arten von Orientierungspunkten darzustellen. In einigen Fällen kann jedes Verkehrsschild oder Richtungsschild mit einer eigenen Markierung versehen werden, die in der Datenbank als Teil der Orientierungspunktidentifikation gespeichert sein kann. Zum Beispiel kann die Datenbank eine Größenordnung von 1000 verschiedenen Markierungen enthalten, die verschiedene Verkehrsschilder darstellen, und eine Größenordnung von etwa 10000 verschiedenen Markierungen enthalten, die Richtungsschilder darstellen. Selbstverständlich kann eine beliebige geeignete Anzahl von Markierungen verwendet werden, und bei Bedarf können zusätzliche Markierungen erstellt werden. In einigen Ausführungsformen können allgemeine Schilder mit weniger als 100 Byte dargestellt werden (z. B. etwa 86 Byte, davon 8 Byte für die Größe, 12 Byte für die Entfernung zum vorherigen Orientierungspunkt, den seitlichen Versatz und die Höhe, 50 Byte für eine Bildsignatur und 16 Byte für GPS-Koordinaten).
  • Bei semantischen Straßenschildern, die keine Bildsignatur erfordern, kann die Datendichte der dünnbesetzten Karte 800 selbst bei einer relativ hohen Orientierungspunktdichte von etwa 1 pro 50 m in der Größenordnung von etwa 760 Byte pro Kilometer liegen (z. B. 20 Orientierungspunkte pro km x 38 Byte pro Orientierungspunkt = 760 Byte). Selbst bei allgemeinen Schildern, die eine Bildsignaturkomponente enthalten, beträgt die Auswirkung auf die Datendichte etwa 1,72 KB pro km (z. B. 20 Orientierungspunkte pro km x 86 Byte pro Orientierungspunkt = 1.720 Byte). Bei semantischen Straßenschildern entspricht dies einer Datennutzung von etwa 76 KB pro Stunde für ein Fahrzeug, das 100 km/h fährt. Bei Schildern für allgemeine Zwecke entspricht dies etwa 170 KB pro Stunde für ein Fahrzeug, das 100 km/h fährt.
  • In einigen Ausführungsformen kann ein allgemein rechteckiges Objekt, wie z. B. ein rechteckiges Schild, in der dünnbesetzten Karte 800 durch nicht mehr als 100 Byte an Daten dargestellt werden. Die Darstellung des allgemein rechteckigen Objekts (z. B. des allgemeinen Schildes 1040) in der dünnbesetzten Karte 800 kann eine komprimierte Bildsignatur (z. B. die komprimierte Bildsignatur 1045) enthalten, die dem allgemein rechteckigen Objekt zugeordnet ist. Diese komprimierte Bildsignatur kann z. B. als Hilfe bei der Identifizierung eines allgemeinen Schildes, z. B. eines erkannten Orientierungspunkts, verwendet werden. Eine solche komprimierte Bildsignatur (z. B. Bildinformationen, die aus 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 auf tatsächlichen Bildern durchgeführt wird, um Orientierungspunkte zu erkennen, vermeiden.
  • Unter Bezugnahme auf 10 kann die dünnbesetzte Karte 800 eine komprimierte Bildsignatur 1045, die einem allgemeinen Schild 1040 zugeordnet ist, und nicht ein tatsächliches Bild des allgemeinen Zeichens 1040 enthalten oder speichern. Nachdem beispielsweise eine Bildaufhahmevorrichtung (z. B. die Bildaufnahmevorrichtung 122, 124 oder 126) ein Bild des allgemeinen Schildes 1040 erfasst 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, das dem allgemeinen Schild 1040 zugeordnet ist. In einer Ausführungsform kann die komprimierte Bildsignatur 1045 eine Form, ein Farbmuster, ein Helligkeitsmuster oder ein anderes Merkmal enthalten, das aus dem Bild des allgemeinen Schildes 1040 extrahiert werden kann, um das allgemeine Schild 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 Byte, 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, Textbereichen, grafischen Formen oder anderen Variationen von Merkmalen, die einem Schild für allgemeine Zwecke zugeordnet werden können, konzeptionell darstellen. Solche komprimierten Bildsignaturen können dazu verwendet werden, einen Orientierungspunkt in Form eines allgemeinen Schildes 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 mittels einer Kamera an Bord eines autonomen Fahrzeugs aufgenommen wurden.
  • Dementsprechend kann die Vielzahl von Orientierungspunkten durch Bildanalyse der Vielzahl von Bildern identifiziert werden, die aufgenommen wurden, als ein oder mehrere Fahrzeuge das Straßensegment befahren. Wie weiter unten in Bezug auf „Crowdsourcing“ erläutert, kann in einigen Ausführungsformen die Bildanalyse zur Identifizierung der Vielzahl von Orientierungspunkten die Annahme potenzieller Orientierungspunkte beinhalten, wenn ein Verhältnis von Bildern, in denen der Orientierungspunkt erscheint, zu Bildern, in denen der Orientierungspunkt nicht erscheint, einen Schwellenwert überschreitet. Ferner kann in einigen Ausführungsformen die Bildanalyse zur Identifizierung der Vielzahl von Orientierungspunkten das Zurückweisen potenzieller Orientierungspunkte beinhalten, wenn das Verhältnis von Bildern, in denen der Orientierungspunkt nicht erscheint, zu Bildern, in denen der Orientierungspunkt erscheint, einen Schwellenwert überschreitet.
  • Zurück zu den Sollbewegungsbahnen, die ein Host-Fahrzeug zur Navigation auf einem bestimmten Straßensegment verwenden kann, zeigt 11A Polynomdarstellungen von Bewegungsbahnen, die während des Aufbaus oder der Pflege der dünnbesetzten Karte 800 erfasst werden. Eine Polynomdarstellung einer Sollbewegungsbahn, die in der dünnbesetzten Karte 800 enthalten ist, kann basierend auf zwei oder mehr rekonstruierten Bewegungsbahnen früherer Fahrten von Fahrzeugen auf demselben Straßensegment ermittelt werden. In einigen Ausführungsformen kann die Polynomdarstellung der Sollbewegungsbahn, die in der dünnbesetzten Karte 800 enthalten ist, eine Aggregation von zwei oder mehr rekonstruierten Bewegungsbahnen früherer Fahrten von Fahrzeugen auf demselben Straßensegment sein. In einigen Ausführungsformen kann die Polynomdarstellung der Sollbewegungsbahn, die in der dünnbesetzten Karte 800 enthalten ist, ein Mittelwert von zwei oder mehr rekonstruierten Bewegungsbahnen früherer Fahrten von Fahrzeugen auf demselben Straßensegment sein. Es können auch andere mathematische Operationen verwendet werden, um eine Sollbewegungsbahn entlang eines Straßenweges zu konstruieren, die auf rekonstruierten Bewegungsbahnen basiert, die aus Fahrzeugen gesammelt wurden, die ein Straßensegment befahren haben.
  • Wie in 11A gezeigt, kann ein Straßensegment 1100 durch eine Reihe von Fahrzeugen 200 zu unterschiedlichen Zeiten befahren werden. Jedes Fahrzeug 200 kann Daten über den Weg sammeln, den das Fahrzeug auf dem Straßensegment zurückgelegt hat. Der durch ein bestimmtes Fahrzeug zurückgelegte Weg kann unter anderem anhand von Kameradaten, Beschleunigungsmesserdaten, Geschwindigkeitssensorinformationen und/oder GPS-Informationen ermittelt werden. Diese Daten können zur Rekonstruktion der Bewegungsbahnen der auf dem Straßensegment fahrenden Fahrzeuge verwendet werden, und basierend auf diesen rekonstruierten Bewegungsbahnen kann eine Sollbewegungsbahn (oder mehrere Sollbewegungsbahnen) für das betreffende Straßensegment ermittelt werden. Solche Sollbewegungsbahnen können einen bevorzugten Weg eines Host-Fahrzeugs (z. B. durch ein autonomes Navigationssystem geführt) darstellen, während das Fahrzeug auf dem Straßensegment fährt.
  • In dem in 11A gezeigten Beispiel kann eine erste rekonstruierte Bewegungsbahn 1101 basierend auf Daten ermittelt werden, die aus einem ersten Fahrzeug, das ein Straßensegment 1100 zu einem ersten Zeitpunkt (z. B. Tag 1) befährt, empfangen wurden, eine zweite rekonstruierte Bewegungsbahn 1102 kann aus einem zweiten Fahrzeug, das ein Straßensegment 1100 zu einem zweiten Zeitpunkt (z. B. Tag 2) befährt, erhalten werden, und eine dritte rekonstruierte Bewegungsbahn 1103 kann aus einem dritten Fahrzeug, das ein Straßensegment 1100 zu einem dritten Zeitpunkt (z. B. Tag 3) befährt, erhalten werden. Jede Bewegungsbahn 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 Bewegungsbahnen an Bord der Fahrzeuge, die das Straßensegment 1100 befahren, zusammengestellt werden kann.
  • Zusätzlich oder alternativ können solche rekonstruierten Bewegungsbahnen serverseitig basierend auf Informationen ermittelt werden, die aus Fahrzeugen empfangen werden, die das Straßensegment 1100 befahren. In einigen Ausführungsformen können die Fahrzeuge 200 beispielsweise Daten über ihre Bewegung auf dem Straßensegment 1100 (z. B. Lenkwinkel, Kurs, Zeit, Position, Geschwindigkeit, erfasste Straßengeometrie und/oder erfasste Orientierungspunkte) an einen oder mehrere Server übertragen. Der Server kann basierend auf den empfangenen Daten Bewegungsbahnen für Fahrzeuge 200 rekonstruieren. Basierend auf der ersten, zweiten und dritten Bewegungsbahn 1101, 1102 und 1103 kann der Server auch eine Sollbewegungsbahn zur Führung der Navigation eines autonomen Fahrzeugs erzeugen, das zu einem späteren Zeitpunkt auf demselben Straßensegment 1100 fährt. Obwohl eine Sollbewegungsbahn einer einzigen vorherigen Fahrt auf einem Straßensegment zugeordnet sein kann, kann in einigen Ausführungsformen jede der in der dünnbesetzten Karte 800 enthaltenen Sollbewegungsbahnen basierend auf zwei oder mehr rekonstruierten Bewegungsbahnen von Fahrzeugen, die auf demselben Straßensegment gefahren sind, ermittelt werden. In 11A ist die Sollbewegungsbahn durch 1110 dargestellt. In einigen Ausführungsformen kann die Sollbewegungsbahn 1110 basierend auf einem Durchschnitt der ersten, zweiten und dritten Bewegungsbahn 1101, 1102 und 1103 erzeugt werden. In einigen Ausführungsformen kann die in der dünnbesetzten Karte 800 enthaltene Sollbewegungsbahn 1110 eine Aggregation (z. B. eine gewichtete Kombination) von zwei oder mehr rekonstruierten Bewegungsbahnen sein.
  • 11B und 11C veranschaulichen das Konzept der Sollbewegungsbahnen mit Zuordnung zu Straßensegmenten innerhalb einer geografischen Region 1111. Wie in 11B gezeigt, kann ein erstes Straßensegment 1120 innerhalb der geografischen Region 1111 eine Straße mit mehreren Fahrstreifen umfassen, die zwei Fahrstreifen 1122 für den Fahrzeugverkehr in einer ersten Richtung und zwei zusätzliche Fahrstreifen 1124 für den Fahrzeugverkehr in einer zweiten, der ersten Richtung entgegengesetzten Richtung aufweist. Die Fahrstreifen 1122 und 1124 können durch eine doppelte gelbe Linie 1123 getrennt sein. Die geografische Region 1111 kann auch ein abzweigendes Straßensegment 1130 enthalten, das sich mit dem Straßensegment 1120 kreuzt. Das Straßensegment 1130 kann eine Straße mit zwei Fahrstreifen sein, wobei jeder Fahrstreifen für eine andere Fahrtrichtung bestimmt ist. Die geografische Region 1111 kann auch andere Straßenmerkmale enthalten, z. B. eine Haltelinie 1132, ein Stoppschild 1134, ein Geschwindigkeitsbegrenzungsschild 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 enthalten. Zum Beispiel kann die lokale Karte 1140 Sollbewegungsbahnen für eine oder mehrere Fahrstreifen enthalten, die Straßensegmenten 1120 und/oder 1130 innerhalb der geografischen Region 1111 zugeordnet sind. Beispielsweise kann die lokale Karte 1140 Sollbewegungsbahnen 1141 und/oder 1142 enthalten, auf die ein autonomes Fahrzeug beim Befahren der Fahrstreifen 1122 zugreifen oder sich verlassen kann. In ähnlicher Weise kann die lokale Karte 1140 Sollbewegungsbahnen 1143 und/oder 1144 enthalten, auf die ein autonomes Fahrzeug beim Befahren der Fahrstreifen 1124 zugreifen oder sich verlassen kann. Ferner kann die lokale Karte 1140 Sollbewegungsbahnen 1145 und/oder 1146 enthalten, auf die ein autonomes Fahrzeug beim Befahren des Straßensegments 1130 zugreifen oder sich verlassen kann. Die Sollbewegungsbahn 1147 stellt einen bevorzugten Weg dar, dem ein autonomes Fahrzeug folgen sollte, wenn es von den Fahrstreifen 1120 (und insbesondere in Bezug auf die Sollbewegungsbahn 1141, die dem äußersten rechten Fahrstreifen der Fahrstreifen 1120 zugeordnet ist) auf das Straßensegment 1130 (und insbesondere in Bezug auf die Sollbewegungsbahn 1145, die einer ersten Seite des Straßensegments 1130 zugeordnet ist) wechselt. Ähnlich stellt die Sollbewegungsbahn 1148 einen bevorzugten Weg dar, dem ein autonomes Fahrzeug folgen sollte, wenn es von dem Straßensegment 1130 (und insbesondere relativ zur Sollbewegungsbahn 1146) zu einem Teil des Straßensegments 1124 (und insbesondere, wie gezeigt, relativ zu einer Sollbewegungsbahn 1143, die einem linken Fahrstreifen der Fahrstreifen 1124 zugeordnet ist) übergeht.
  • Die dünnbesetzte Karte 800 kann auch Darstellungen von anderen straßenbezogenen Merkmalen enthalten, die der geografischen Region 1111 zugeordnet sind. Beispielsweise kann die dünnbesetzte Karte 800 auch Darstellungen einer oder mehrerer Orientierungspunkte enthalten, die in der geografischen Region 1111 identifiziert wurden. Solche Orientierungspunkte können einen ersten Orientierungspunkt 1150 mit Zuordnung zu der Haltelinie 1132, einen zweiten Orientierungspunkt 1152 mit Zuordnung zu dem Stoppschild 1134, einen dritten Orientierungspunkt mit Zuordnung zu dem Geschwindigkeitsbegrenzungsschild 1154 und einen vierten Orientierungspunkt 1156 mit Zuordnung zu dem Gefahrenschild 1138 umfassen. Solche Orientierungspunkte können beispielsweise dazu verwendet werden, um ein autonomes Fahrzeug bei der Bestimmung seiner aktuellen Position in Bezug auf eine der gezeigten Sollbewegungsbahnen zu unterstützen, sodass das Fahrzeug seinen Kurs so anpassen kann, dass dieser mit der Richtung der Sollbewegungsbahn an der ermittelten Position übereinstimmt.
  • In einigen Ausführungsformen kann die dünnbesetzte Karte 800 auch Straßensignaturprofile enthalten. Solche Straßensignaturprofile können jeder erkennbaren/messbaren Veränderung mindestens eines einer Straße zugeordneten Parameters zugeordnet werden. In einigen Fällen können solche Profile beispielsweise Variationen der Straßenoberflächeninformationen zugeordnet sein, wie z. B. Variationen der Oberflächenrauheit eines bestimmten Straßensegments, Variationen der Straßenbreite über ein bestimmtes Straßensegment, Variationen der Abstände zwischen gestrichelten Linien entlang eines bestimmten Straßensegments, Variationen der Straßenkrümmung entlang eines bestimmten Straßensegments, usw. 11D zeigt ein Beispiel für ein Straßensignaturprofil 1160. Obwohl das Profil 1160 jeden der oben erwähnten Parameter oder andere darstellen kann, kann das Profil 1160 in einem Beispiel ein Maß für die Fahrbahnrauheit darstellen, wie zum Beispiel durch Überwachen eines oder mehrerer Sensoren erhalten wird, die Ausgaben liefern, die einen Betrag der Federungsverschiebung eines Fahrzeugs beim Fahren auf einem bestimmten Straßensegment anzeigen.
  • Alternativ oder gleichzeitig kann das Profil 1160 eine Variation der Straßenbreite darstellen, die basierend auf Bilddaten ermittelt wird, die über eine Kamera an Bord eines Fahrzeugs beim Fahren auf einem bestimmten Straßensegment erhalten werden. Solche Profile können beispielsweise bei der Ermittlung einer bestimmten Position eines autonomen Fahrzeugs in Bezug auf eine bestimmte Sollbewegungsbahn nützlich sein. Das heißt, ein autonomes Fahrzeug kann beim Befahren eines Straßensegments ein Profil messen, das einem oder mehreren Parametern des Straßensegments zugeordnet ist. Wenn das gemessene Profil mit einem vorgegebenen Profil korreliert/abgeglichen werden kann, das die Parameteränderung in Bezug auf die Position entlang des Straßensegments darstellt, können das gemessene und das vorgegebene Profil dazu verwendet werden (z. B. durch Überlagerung entsprechender Abschnitte des gemessenen und des vorgegebenen Profils), eine aktuelle Position entlang des Straßensegments und damit eine aktuelle Position relativ zu einer Sollbewegungsbahn für das Straßensegment zu ermitteln.
  • In einigen Ausführungsformen kann die dünnbesetzte Karte 800 verschiedene Bewegungsbahnen enthalten, die auf verschiedenen Merkmalen basieren, die einem Benutzer von autonomen Fahrzeugen, Umweltbedingungen und/oder anderen Parametern in Bezug auf das Fahren zugeordnet sind. In einigen Ausführungsformen können zum Beispiel verschiedene Bewegungsbahnen basierend auf unterschiedlichen Benutzerpräferenzen und/oder -profilen erzeugt werden. Die dünnbesetzte Karte 800, die solche unterschiedlichen Bewegungsbahnen 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 Bewegungsbahnen basierend auf solchen unterschiedlichen Benutzerpräferenzen oder -profilen erzeugen. Als weiteres Beispiel ziehen einige Benutzer möglicherweise vor, auf einem schnelleren Fahrstreifen zu fahren, während andere es vorziehen, stets auf dem mittleren Fahrstreifen zu bleiben.
  • Basierend auf unterschiedlichen Umgebungsbedingungen, wie Tag und Nacht, Schnee, Regen, Nebel usw., können unterschiedliche Bewegungsbahnen 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 basierend auf diesen verschiedenen Umgebungsbedingungen erstellt wurde. In einigen Ausführungsformen können Kameras in autonomen Fahrzeugen die Umgebungsbedingungen erfassen und diese Informationen an einen Server weiterleiten, der dünnbesetzte Karten erstellt und bereitstellt. Beispielsweise kann der Server eine bereits erstellte dünnbesetzte Karte 800 erzeugen oder aktualisieren, um Bewegungsbahnen einzubeziehen, die für das autonome Fahren unter den erfassten Umgebungsbedingungen besser geeignet oder sicherer sind. Die Aktualisierung der dünnbesetzten Karte 800 basierend auf den Umgebungsbedingungen kann dynamisch erfolgen, während die autonomen Fahrzeuge auf den Straßen unterwegs sind.
  • Auch andere Parameter, die sich auf das Fahren beziehen, können als Grundlage für die Erstellung und Bereitstellung unterschiedlicher dünnbesetzter Karten für verschiedene autonome Fahrzeuge verwendet werden. Wenn ein autonomes Fahrzeug beispielsweise mit hoher Geschwindigkeit unterwegs ist, können die Kurven enger sein. In der dünnbesetzten Karte 800 können Bewegungsbahnen enthalten sein, die eher bestimmten Fahrstreifen als Straßen zugeordnet sind, sodass das autonome Fahrzeug beim Fahren auf einer bestimmten Bewegungsbahn innerhalb eines bestimmten Fahrstreifens bleiben kann. Wenn ein durch eine Kamera an Bord des autonomen Fahrzeugs aufgenommenes Bild anzeigt, dass das Fahrzeug den Fahrstreifen verlassen hat (z. B. die Fahrstreifenmarkierung überquert hat), kann eine Aktion innerhalb des Fahrzeugs ausgelöst werden, um das Fahrzeug gemäß der bestimmten Bewegungsbahn auf den vorgesehenen Fahrstreifen zurückzubringen.
  • Crowdsourcing einer dünnbesetzten Karte
  • In einigen Ausführungsformen können die offenbarten Systeme und Verfahren eine dünnbesetzte Karte für die autonome Fahrzeugnavigation erzeugen. Beispielsweise können die offenbarten Systeme und Verfahren durch Crowdsourcing gewonnene Daten für das Erstellen einer dünnbesetzten Karte verwenden, die ein oder mehrere autonome Fahrzeuge zur Navigation entlang eines Straßensystems nutzen können. Der hier verwendete Begriff „Crowdsourcing“ bedeutet, dass Daten aus verschiedenen Fahrzeugen (z. B. autonomen Fahrzeugen), die zu unterschiedlichen Zeiten auf einem Straßensegment fahren, empfangen und zur Erstellung und/oder Aktualisierung des Straßenmodells verwendet werden. Das Modell kann wiederum an die Fahrzeuge oder andere Fahrzeuge, die später auf dem Straßensegment fahren, übertragen werden, um die autonome Fahrzeugnavigation zu unterstützen. Das Straßenmodell kann eine Vielzahl von Sollbewegungsbahnen enthalten, die bevorzugte Bewegungsbahnen darstellen, denen autonome Fahrzeuge beim Fahren auf einem Straßensegment folgen sollten. Die Sollbewegungsbahnen können mit einer rekonstruierten tatsächlichen Bewegungsbahn übereinstimmen, die aus einem Fahrzeug, das auf einem Straßensegment fährt, gesammelt und aus dem Fahrzeug an einen Server übertragen wird. In einigen Ausführungsformen können sich die Sollbewegungsbahnen von den tatsächlichen Bewegungsbahnen unterscheiden, die ein oder mehrere Fahrzeuge zuvor beim Fahren auf einem Straßensegment genommen haben. Die Sollbewegungsbahnen können basierend auf tatsächlichen Bewegungsbahnen erstellt werden (z. B. durch Mittelwertbildung oder eine andere geeignete Operation).
  • Die Fahrzeugbewegungsbahndaten, die ein Fahrzeug auf einen Server hochladen kann, können mit der tatsächlichen rekonstruierten Bewegungsbahn für das Fahrzeug übereinstimmen oder einer empfohlenen Bewegungsbahn entsprechen, die auf der tatsächlichen rekonstruierten Bewegungsbahn des Fahrzeugs basieren oder sich auf diese beziehen kann, sich aber von der tatsächlichen rekonstruierten Bewegungsbahn unterscheiden kann. Beispielsweise können die Fahrzeuge ihre tatsächlichen, rekonstruierten Bewegungsbahnen ändern und die geänderten tatsächlichen Bewegungsbahnen an den Server übermitteln (z. B. empfehlen). Das Straßenmodell kann die empfohlenen, geänderten Bewegungsbahnen als Sollbewegungsbahnen für die autonome Navigation anderer Fahrzeuge verwenden.
  • Zusätzlich zu den Informationen über die Bewegungsbahn können andere Informationen, die für die Erstellung einer dünnbesetzten Datenkarte 800 verwendet werden können, Informationen über potenzielle Kandidaten von Orientierungspunkten enthalten. Beispielsweise können die offenbarten Systeme und Verfahren durch Crowdsourcing von Informationen potenzielle Orientierungspunkte in einer Umgebung identifizieren und die Position der Orientierungspunkte verfeinern. Die Orientierungspunkte können durch ein Navigationssystem für autonome Fahrzeuge dazu verwendet werden, die Position des Fahrzeugs entlang der Sollbewegungsbahnen zu ermitteln und/oder anzupassen.
  • Die rekonstruierten Bewegungsbahnen, die ein Fahrzeug während der Fahrt auf einer Straße erzeugt, können mit einem beliebigen geeigneten Verfahren ermittelt werden. In einigen Ausführungsformen können die rekonstruierten Bewegungsbahnen durch Zusammenfügen von Bewegungssegmenten für das Fahrzeug entwickelt werden, z. B. unter Verwendung von Egobewegungsschätzungen (z. B. dreidimensionale Translation und dreidimensionale Rotation der Kamera und damit der Fahrzeugkarosserie). Die Rotations- und Translationsschätzung kann basierend auf der Analyse von Bildern ermittelt werden, die durch eine oder mehrere Bildaufnahmevorrichtungen zusammen mit Informationen aus anderen Sensoren oder Vorrichtungen, wie Trägheitssensoren und Geschwindigkeitssensoren, aufgenommen wurden. Die Trägheitssensoren können zum Beispiel einen Beschleunigungsmesser oder andere geeignete Sensoren umfassen, die dazu ausgelegt sind, Änderungen der Translation und/oder Rotation der Fahrzeugkarosserie zu messen. Das Fahrzeug kann mit einem Geschwindigkeitssensor ausgestattet sein, der die Geschwindigkeit des Fahrzeugs misst.
  • In einigen Ausführungsformen kann die Egobewegung der Kamera (und damit der Fahrzeugkarosserie) basierend auf einer optischen Flussanalyse der aufgenommenen Bilder geschätzt werden. Eine optische Flussanalyse einer Bildsequenz identifiziert die Bewegung von Pixeln aus der Bildsequenz und ermittelt basierend auf der identifizierten Bewegung die Bewegungen des Fahrzeugs. Die Egobewegung kann über die Zeit und entlang des Straßensegments integriert werden, um eine dem Straßensegment zugeordnete Bewegungsbahn zu rekonstruieren, der das Fahrzeug gefolgt ist.
  • Anhand von Daten (z. B. rekonstruierte Bewegungsbahnen), die durch mehrere Fahrzeuge bei mehreren Fahrten entlang eines Straßensegments zu verschiedenen Zeiten gesammelt wurden, kann das Straßenmodell (z. B. einschließlich der Sollbewegungsbahnen usw.) konstruiert werden, das in der dünnbesetzten Datenkarte 800 enthalten ist. Daten, die durch mehrere Fahrzeuge bei verschiedenen Fahrten entlang eines Straßensegments zu unterschiedlichen Zeiten gesammelt wurden, können auch gemittelt werden, um die Genauigkeit des Modells zu erhöhen. In einigen Ausführungsformen können Daten bezüglich der Straßengeometrie und/oder Orientierungspunkten aus mehreren Fahrzeugen empfangen werden, die zu unterschiedlichen Zeiten auf dem gemeinsamen Straßensegment fahren. Diese aus verschiedenen Fahrzeugen empfangenen Daten können zur Erstellung des Straßenmodells und/oder zur Aktualisierung des Straßenmodells kombiniert werden.
  • Die Geometrie einer rekonstruierten Bewegungsbahn (und auch einer Sollbewegungsbahn) entlang eines Straßensegments kann durch eine Kurve im dreidimensionalen Raum dargestellt werden, die ein Spline sein kann, der dreidimensionale Polynome verbindet. Die rekonstruierte Bewegungsbahnkurve kann aus der Analyse eines Videostroms oder einer Vielzahl von Bildern, die durch eine am Fahrzeug installierte Kamera aufgenommen wurden, ermittelt werden. In einigen Ausführungsformen wird in jedem Bild eine Stelle identifiziert, die einige Meter vor der aktuellen Position des Fahrzeugs liegt. Diese Stelle ist die Position, an die das Fahrzeug voraussichtlich in einem vorgegebenen Zeitraum fahren wird. Dieser Vorgang kann Bild für Bild wiederholt werden, und gleichzeitig kann das Fahrzeug die Egobewegung der Kamera (Rotation und Translation) berechnen. Bei jedem Bild wird ein Kurzbereichsmodell für den gewünschten Weg durch das Fahrzeug in einem Referenzrahmen erstellt, der der Kamera zugeordnet ist. Die Kurzbereichsmodelle können zusammengefügt werden, um ein dreidimensionales Modell der Straße in einem Koordinatenrahmen zu erhalten, das ein beliebiges oder vorgegebenes Koordinatensystem 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 Kurzbereichsstraßenmodells können bei jedem Bild ein oder mehrere Erkennungsmodule verwendet werden. Beispielsweise kann ein Fahrstreifenerkennungsmodul nach dem Prinzip von unten nach oben verwendet werden. Das Fahrstreifenerkennungsmodul von unten nach oben kann nützlich sein, wenn Fahrstreifenmarkierungen auf der Straße eingezeichnet sind. Dieses Modul kann nach Kanten im Bild suchen und diese zu den Fahrstreifenmarkierungen zusammensetzen. Zusammen mit dem Fahrstreifenerkennungsmodul von unten nach oben kann ein zweites Modul verwendet werden. Das zweite Modul ist ein durchgängiges tiefes neuronales Netz, das so trainiert werden kann, dass es aus einem Eingangsbild den richtigen Kurzbereichsweg vorhersagt. In beiden Modulen kann das Straßenmodell im Bildkoordinatenrahmen erfasst und in einen dreidimensionalen Raum transformiert werden, der virtuell der Kamera zugeordnet werden kann.
  • Obwohl das Verfahren zur Modellierung der rekonstruierten Bewegungsbahn aufgrund der Integration der Egobewegung über einen langen Zeitraum, die auch eine Rauschkomponente enthalten kann, zu einer Häufung von Fehlern führen 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 Verwendung externer Informationsquellen, wie Satellitenbilder oder geodätische Messungen, zu korrigieren. Beispielsweise können die beschriebenen Systeme und Verfahren einen GNSS-Empfänger verwenden, um akkumulierte Fehler zu löschen. Allerdings sind die GNSS-Positionssignale nicht immer verfügbar und genau. Die offenbarten Systeme und Verfahren können eine Steuerungsanwendung ermöglichen, die nur in geringem Maße von der Verfügbarkeit und Genauigkeit der GNSS-Positionsbestimmung abhängt. In solchen Systemen kann die Nutzung der GNSS-Signale eingeschränkt sein. In einigen Ausführungsformen können die offenbarten Systeme die GNSS-Signale beispielsweise nur für die Indexerzeugung der Datenbank verwenden.
  • In einigen Ausführungsformen kann der Entfernungsmaßstab (z. B. lokaler Maßstab), der für eine Anwendung zur autonomen Fahrzeugnavigationssteuerung relevant sein kann, in der Größenordnung von 50 Metern, 100 Metern, 200 Metern, 300 Metern usw. liegen. Solche Entfernungen können verwendet werden, da das geometrische Straßenmodell hauptsächlich für zwei Zwecke verwendet wird: die Planung der vorausliegenden Bewegungsbahn und die Lokalisierung des Fahrzeugs auf dem Straßenmodell. In einigen Ausführungsformen kann die Planungsaufgabe das Modell in einem typischen Bereich von 40 Metern voraus (oder einer anderen geeigneten Entfernung, wie 20 Meter, 30 Meter, 50 Meter) verwenden, wenn der Steueralgorithmus das Fahrzeug entsprechend einem Zielpunkt lenkt, der sich 1,3 Sekunden voraus (oder einer anderen Zeit, wie 1,5 Sekunden, 1,7 Sekunden, 2 Sekunden usw.) befindet. Bei der Lokalisierung wird das Straßenmodell in einem typischen Bereich von 60 Metern hinter dem Fahrzeug (oder in anderen geeigneten Entfernungen wie 50, 100, 150 Meter usw.) gemäß einem Verfahren mit der Bezeichnung „Heckausrichtung“ verwendet, die 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, sodass eine geplante Bewegungsbahn nicht mehr als beispielsweise 30 cm von der Fahrstreifenmitte abweicht.
  • Wie oben erläutert, kann ein dreidimensionales Straßenmodell aus der Erfassung von Kurzbereichsabschnitten und deren Zusammenfügen erstellt werden. Das Zusammenfügen kann durch Berechnen eines Sechs-Grad-Egobewegungsmodells unter Verwendung der durch die Kamera aufgenommenen Videos und/oder Bilder, der Daten der Trägheitssensoren, die die Bewegungen des Fahrzeugs widerspiegeln, und des Geschwindigkeitssignals des Host-Fahrzeugs ermöglicht werden. Der akkumulierte Fehler kann über einen lokalen Entfernungsmaßstab, z. B. in der Größenordnung von 100 Metern, klein genug sein. All dies kann bei einer einzigen Fahrt über ein bestimmtes Straßensegment 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 Kfz kann dieselbe Route mehrmals fahren, oder mehrere Kfzs 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 Sollbewegungsbahnen zu erzeugen. Sobald ein Konvergenzkriterium erfüllt ist, kann das konstruierte Modell (z. B. einschließlich der Sollbewegungsbahnen) zur Steuerung 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. als erfasste Daten) zwischen mehreren Fahrzeugen ist möglich, wenn diese mit einem zentralen Server verbunden sind. Jeder Fahrzeugclient kann eine Teilkopie eines universellen Straßenmodells speichern, das für seine aktuelle Position relevant sein kann. Zwischen den Fahrzeugen und dem Server kann ein bidirektionales Aktualisierungsverfahren durch die Fahrzeuge und den Server durchgeführt werden. Das oben erläuterte Konzept des geringen Platzbedarfs ermöglicht es den offenbarten Systemen und Verfahren, die bidirektionalen Aktualisierungen mittels einer sehr geringen Bandbreite durchzuführen.
  • Es können auch Informationen über potenzielle Orientierungspunkte ermittelt und an einen zentralen Server weitergeleitet werden. Beispielsweise können die offenbarten Systeme und Verfahren eine oder mehrere physische Eigenschaften eines potenziellen Orientierungspunkts basierend auf einem oder mehreren Bildern ermitteln, die den Orientierungspunkt enthalten. Zu den physischen Eigenschaften können eine physikalische Größe (z. B. Höhe, Breite) des Orientierungspunkts, eine Entfernung zwischen einem Fahrzeug und einem Orientierungspunkt, eine Entfernung zwischen dem Orientierungspunkt und einem vorherigen Orientierungspunkt, die seitliche Position des Orientierungspunkts (z. B. die Position des Orientierungspunkts relativ zum Fahrstreifen), die GPS-Koordinaten des Orientierungspunkts, eine Art des Orientierungspunkts, die Identifizierung von Text auf dem Orientierungspunkt usw. gehören. Beispielsweise kann ein Fahrzeug ein oder mehrere durch eine Kamera aufgenommene Bilder analysieren, um einen potenziellen Orientierungspunkt, z. B. ein Schild mit einer Geschwindigkeitsbegrenzung, zu erfassen.
  • Das Fahrzeug kann basierend auf der Analyse des einen oder der mehreren Bilder eine Entfernung zwischen dem Fahrzeug und dem Orientierungspunkt ermitteln. In einigen Ausführungsformen kann die Entfernung basierend auf der Analyse von Bildern des Orientierungspunkts unter Verwendung eines geeigneten Bildanalyseverfahrens, wie z. B. eines Skalierungsverfahrens und/oder eines optischen Flussverfahrens, ermittelt werden. In einigen Ausführungsformen können die offenbarten Systeme und Verfahren dazu ausgelegt sein, eine Art oder Klassifizierung eines potenziellen Orientierungspunkts zu ermitteln. Stellt das Fahrzeug fest, dass ein bestimmter potenzieller Orientierungspunkt einer vorgegebenen Art oder einer vorgegebenen Klassifizierung entspricht, die in einer dünnbesetzten Karte gespeichert ist, kann es ausreichen, wenn das Fahrzeug dem Server einen Hinweis auf die Art oder die Klassifizierung des Orientierungspunkts zusammen mit der Position übermittelt. Der Server kann solche Angaben speichern. Zu einem späteren Zeitpunkt können andere Fahrzeuge ein Bild des Orientierungspunkts aufnehmen, das Bild (z. B. mit einem Klassifikator) verarbeiten und das Ergebnis der Bildverarbeitung mit der im Server gespeicherten Angabe über die Art des Orientierungspunkts vergleichen. Es kann verschiedene Arten von Orientierungspunkten geben, und verschiedene Arten von Orientierungspunkten können verschiedenen Arten von Daten zugeordnet sein, die auf den Server hochgeladen und dort gespeichert werden, verschiedene Verarbeitungsprozesse an Bord des Fahrzeugs können den Orientierungspunkt erfassen und Informationen über den Orientierungspunkt an den Server übermitteln, und das System an Bord des Fahrzeugs kann die Orientierungspunktdaten aus dem Server empfangen und die Orientierungspunktdaten zur Identifizierung eines Orientierungspunkts bei der autonomen Navigation verwenden.
  • In einigen Ausführungsformen können mehrere autonome Fahrzeuge, die auf einem Straßensegment fahren, mit einem Server kommunizieren. Die Fahrzeuge (oder Clients) können eine Kurve erzeugen, die ihre Fahrt (z. B. durch Integration der Egobewegung) in einem beliebigen Koordinatenrahmen beschreibt. Die Fahrzeuge können Orientierungspunkte erfassen und in demselben Bild lokalisieren. Die Fahrzeuge können die Kurve und die Orientierungspunkte auf den Server hochladen. Der Server kann Daten aus Fahrzeugen über mehrere Fahrten sammeln und ein einheitliches Straßenmodell erstellen. Wie unten mit Bezug auf 19 beschrieben, kann der Server beispielsweise eine dünnbesetzte Karte mit dem vereinheitlichten Straßenmodell unter Verwendung der hochgeladenen Kurven und Orientierungspunkte erstellen.
  • Der Server kann das Modell auch an Clients (z. B. Fahrzeuge) verteilen. Beispielsweise kann der Server die dünnbesetzte Karte an ein oder mehrere Fahrzeuge verteilen. Der Server kann das Modell kontinuierlich oder periodisch aktualisieren, wenn er neue Daten aus den Fahrzeugen empfängt. Beispielsweise kann der Server die neuen Daten verarbeiten, um zu bewerten, ob die Daten Informationen enthalten, die eine Aktualisierung oder die Erstellung neuer Daten auf dem Server auslösen sollten. Der Server kann das aktualisierte Modell oder die Aktualisierungen an die Fahrzeuge verteilen, um eine autonome Fahrzeugnavigation zu ermöglichen.
  • Der Server kann ein oder mehrere Kriterien zum Ermitteln verwenden, ob neue aus 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 erfasster Orientierungspunkt an einer bestimmten Position nicht mehr vorhanden ist oder durch einen anderen Orientierungspunkt ersetzt wurde, kann der Server bestimmen, dass die neuen Daten eine Aktualisierung des Modells auslösen sollten. Wenn als weiteres Beispiel die neuen Daten darauf hinweisen, dass ein Straßensegment gesperrt wurde, und wenn dies durch die aus anderen Fahrzeugen empfangenen 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ßensegment fahren, dem die Aktualisierungen des Modells zugeordnet sind. Der Server kann das aktualisierte Modell auch an Fahrzeuge verteilen, die auf dem Straßensegment fahren wollen, oder an Fahrzeuge, deren geplante Fahrt das Straßensegment beinhaltet, dem die Aktualisierungen des Modells zugeordnet sind. Wenn beispielsweise ein autonomes Fahrzeug auf einem anderen Straßensegment fährt, bevor es das Straßensegment erreicht, dem eine Aktualisierung zugeordnet ist, kann der Server die Aktualisierungen oder das aktualisierte Modell an das autonome Fahrzeug verteilen, bevor das Fahrzeug das Straßensegment erreicht.
  • In einigen Ausführungsformen kann der entfernt gelegene Server Bewegungsbahnen und Orientierungspunkte aus mehreren Clients sammeln (z. B. von Fahrzeugen, die auf einem gemeinsamen Straßensegment fahren). Der Server kann Kurven anhand von Orientierungspunkten abgleichen und ein gemitteltes Straßenmodell basierend auf den aus mehreren Fahrzeugen gesammelten Bewegungsbahnen erstellen. Der Server kann auch einen Graphen von Straßen und den wahrscheinlichsten Weg an jedem Knoten oder jeder Verbindung des Straßensegments berechnen. Beispielsweise kann der entfernt gelegene Server die Bewegungsbahnen abgleichen, um aus den gesammelten Bewegungsbahnen eine durch Crowdsourcing gewonnene dünnbesetzte Karte zu erstellen.
  • Der Server kann den aus mehreren Fahrzeugen, die auf dem gemeinsamen Straßensegment führen, empfangenen Orientierungspunkteigenschaften, z. B. die durch mehrere Fahrzeuge gemessenen Entfernungen zwischen einem Orientierungspunkt und einem anderen (z. B. ein vorheriges Fahrzeug auf dem Straßensegment), mitteln, um einen Parameter für die Bogenlänge zu ermitteln und die Lokalisierung entlang des Weges sowie die Geschwindigkeitskalibrierung für jedes Clientfahrzeug zu unterstützen. Der Server kann die physischen Abmessungen eines Orientierungspunkts mitteln, die durch mehrere Fahrzeuge gemessen wurden, die dasselbe Straßensegment befahren und denselben Orientierungspunkt erfasst haben. Die gemittelten physischen Abmessungen können zur Unterstützung der Entfernungsschätzung verwendet werden, z. B. für die Entfernung zwischen dem Fahrzeug und dem Orientierungspunkt. Der Server kann den Durchschnitt der seitlichen Positionen eines Orientierungspunkts (z. B. die Position von dem Fahrstreifen, auf dem die Fahrzeuge zum Orientierungspunkt fahren) ermitteln, die durch mehrere Fahrzeuge gemessen wurden, die dasselbe Straßensegment befahren und denselben Orientierungspunkt erfasst haben. Die gemittelte Seitenposition kann zur Unterstützung der Fahrstreifenzuweisung verwendet werden. Der Server kann die GPS-Koordinaten des Orientierungspunkts mitteln, die durch mehrere Fahrzeuge gemessen wurden, die dasselbe Straßensegment befahren und denselben Orientierungspunkt erfasst haben. Die gemittelten GPS-Koordinaten des Orientierungspunkts können zur Unterstützung der globalen Lokalisierung oder Positionsbestimmung des Orientierungspunkts im Straßenmodell verwendet werden.
  • In einigen Ausführungsformen kann der Server basierend auf den aus den Fahrzeugen empfangenen Daten Modelländerungen, z. B. Bauarbeiten, Umleitungen, neue Schilder, Entfernung von Schildern usw., identifizieren. Der Server kann das Modell kontinuierlich oder periodisch oder sofort aktualisieren, wenn neue Daten aus den Fahrzeugen empfangen werden. Der Server kann Aktualisierungen des Modells oder das aktualisierte Modell an Fahrzeuge verteilen, um eine autonome Navigation zu ermöglichen. Wie weiter unten erläutert, kann der Server beispielsweise Crowdsourcing-Daten verwenden, um durch Fahrzeuge erfasste „Geister“-Orientierungspunkte herauszufiltern.
  • In einigen Ausführungsformen kann der Server die Fahrereingriffe während des autonomen Fahrens analysieren. Der Server kann Daten analysieren, die zum Zeitpunkt und am Ort des Eingriffs aus dem 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 standen, z. B. Daten, die eine vorübergehende Sperrung des Fahrstreifens anzeigen, Daten, die auf einen Fußgänger auf der Straße hinweisen. Der Server kann das Modell basierend auf den ermittelten Daten aktualisieren. Beispielsweise kann der Server eine oder mehrere im Modell gespeicherte Bewegungsbahnen ändern.
  • 12 ist eine schematische Darstellung eines Systems, das Crowdsourcing zur Erstellung einer dünnbesetzten Karte (sowie zur Verteilung und Navigation unter Verwendung einer dünnbesetzten Karte aus Crowdsourcing) verwendet. 12 zeigt ein Straßensegment 1200 mit einem oder mehreren Fahrstreifen. Eine Vielzahl von Fahrzeugen 1205, 1210, 1215, 1220 und 1225 können gleichzeitig oder zu unterschiedlichen Zeiten (obwohl sie in 12 gleichzeitig auf dem Straßensegment 1200 erscheinen) auf dem Straßensegment 1200 fahren. 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 Vorrichtungen enthalten, die in Fahrzeugen enthalten sind, die in anderen Ausführungsformen offenbart oder diesen zugeordnet sind. Jedes Fahrzeug kann mit einer Bildaufnahmevorrichtung oder einer Kamera (z. B. der Bildaufhahmevorrichtung 122 oder Kamera 122) ausgestattet sein. Jedes Fahrzeug kann mit einem entfernt gelegenen 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 angedeutet ist. Jedes Fahrzeug kann Daten an den Server 1230 übertragen und Daten aus dem Server 1230 empfangen. Beispielsweise kann der Server 1230 Daten aus mehreren Fahrzeugen sammeln, die zu unterschiedlichen Zeiten auf dem Straßensegment 1200 fahren, und die gesammelten Daten verarbeiten, um ein Straßennavigationsmodell für autonome Fahrzeuge oder eine Aktualisierung des Modells zu erstellen. 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 an andere Fahrzeuge übertragen, die zu einem späteren Zeitpunkt auf dem Straßensegment 1200 fahren.
  • Während die Fahrzeuge 1205, 1210, 1215, 1220 und 1225 auf dem Straßensegment 1200 fahren, können die durch die Fahrzeuge 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ßensegment 1200 zugeordnet sein. Die Navigationsinformationen können eine Bewegungsbahn enthalten, die jedem der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 zugeordnet ist, während jedes Fahrzeug über das Straßensegment 1200 fährt. In einigen Ausführungsformen kann die Bewegungsbahn basierend auf Daten rekonstruiert werden, die durch verschiedene Sensoren und Vorrichtungen im Fahrzeug 1205 erfasst werden. Beispielsweise kann die Bewegungsbahn basierend auf mindestens einem von Beschleunigungsmesserdaten, Geschwindigkeitsdaten, Daten zu Orientierungspunkten, Straßengeometrie oder -profilen, Fahrzeugpositionsdaten und Egobewegungsdaten rekonstruiert werden. In einigen Ausführungsformen kann die Bewegungsbahn basierend auf Daten aus Trägheitssensoren, z. B. Beschleunigungsmesser, und der durch einen Geschwindigkeitssensor erfassten Geschwindigkeit des Fahrzeugs 1205 rekonstruiert werden. Darüber hinaus kann in einigen Ausführungsformen die Bewegungsbahn (z. B. durch einen Prozessor an Bord jedes der Fahrzeuge 1205, 1210, 1215, 1220 und 1225) basierend auf der erfassten Egobewegung der Kamera ermittelt werden, die eine dreidimensionale Translation und/oder dreidimensionale Drehungen (oder Rotationsbewegungen) anzeigen kann. Die Egobewegung der Kamera (und damit der Fahrzeugkarosserie) kann aus der Analyse eines oder mehrerer durch die Kamera aufgenommener Bilder ermittelt werden.
  • In einigen Ausführungsformen kann die Bewegungsbahn des Fahrzeugs 1205 durch einen an Bord des Fahrzeugs 1205 befindlichen Prozessor ermittelt und an den Server 1230 übertragen werden. In anderen Ausführungsformen kann der Server 1230 Daten empfangen, die durch die verschiedenen Sensoren und Vorrichtungen im Fahrzeug 1205 erfasst werden, und die Bewegungsbahn basierend auf der aus dem Fahrzeug 1205 empfangenen Daten ermitteln.
  • In einigen Ausführungsformen können die aus 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 enthalten. Die Geometrie des Straßensegments 1200 kann eine Fahrstreifenstruktur und/oder Orientierungspunkte enthalten. Die Fahrstreifenstruktur kann die Gesamtzahl der Fahrstreifen des Straßensegments 1200, die Art der Fahrstreifen (z. B. Einbahnfahrstreifen, Zweibahnfahrstreifen, Normalfahrstreifen, Überholfahrstreifen usw.), Markierungen auf den Fahrstreifen, die Breite der Fahrstreifen usw. enthalten. In einigen Ausführungsformen können die Navigationsinformationen eine Fahrstreifenzuweisung enthalten, z. B. auf welchem Fahrstreifen einer Vielzahl von Fahrstreifen ein Fahrzeug fährt. Beispielsweise kann die Fahrstreifenzuweisung einem numerischen Wert „3“ zugeordnet sein, der angibt, dass das Fahrzeug auf dem dritten Fahrstreifen von links oder rechts fährt. Als weiteres Beispiel kann die Fahrstreifenzuweisung einem Textwert wie „mittlerer Fahrstreifen“ zugeordnet sein, der angibt, dass das Fahrzeug auf dem mittleren Fahrstreifen fährt.
  • Der Server 1230 kann die Navigationsinformationen auf einem nichtflüchtigen computerlesbaren Medium speichern, wie z.B. einer Festplatte, einer Compact Disc, einem Band, einem Speicher usw. Der Server 1230 kann (z. B. über einen im Server 1230 enthaltenen Prozessor) mindestens einen Teil eines Straßennavigationsmodells für autonome Fahrzeuge für das gemeinsame Straßensegment 1200 basierend auf den aus 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 jedem Fahrstreifen zugeordnete Bewegungsbahn basierend auf Crowdsourcing-Daten (z. B. Navigationsinformationen) ermitteln, die aus mehreren Fahrzeugen (z. B. 1205, 1210, 1215, 1220 und 1225) empfangen werden, die zu unterschiedlichen Zeiten auf einem Fahrstreifen eines Straßensegments fahren. Der Server 1230 kann das Straßennavigationsmodell für autonome Fahrzeuge oder einen Teil des Modells (z. B. einen aktualisierten Teil) basierend auf einer Vielzahl von Bewegungsbahnen erzeugen, die basierend auf den Crowdsourcing-Navigationsdaten ermittelt 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ßensegment 1200 fahren, oder an andere autonome Fahrzeuge, die zu einem späteren Zeitpunkt auf dem Straßensegment 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 durch die autonomen Fahrzeuge bei der autonomen Navigation auf dem gemeinsamen Straßensegment 1200 verwendet werden.
  • Wie oben 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 dünnbesetzte Aufzeichnung von Daten in Bezug auf die Straßengeometrie und/oder Orientierungspunkten auf 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 sein 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, zur Ermittlung von Sollbewegungsbahnen auf dem Straßensegment 1200 verwenden, um die autonome Navigation der autonomen Fahrzeuge 1205, 1210, 1215, 1220 und 1225 oder anderer Fahrzeuge zu führen, die später auf dem Straßensegment 1200 fahren. Wenn beispielsweise das Straßennavigationsmodell für autonome Fahrzeuge durch einen Prozessor ausgeführt wird, der in einem Navigationssystem des Fahrzeugs 1205 enthalten ist, kann das Modell den Prozessor veranlassen, die Bewegungsbahnen, die basierend auf den aus dem Fahrzeug 1205 empfangenen Navigationsinformationen ermittelt wurden, mit vorgegebenen Bewegungsbahnen zu vergleichen, die in der dünnbesetzten Karte 800 enthalten sind, um den aktuellen Fahrkurs des Fahrzeugs 1205 zu überprüfen und/oder zu korrigieren.
  • In dem Straßennavigationsmodell für autonome Fahrzeuge kann die Geometrie eines Straßenmerkmals oder einer Sollbewegungsbahn 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 der Fachmann weiß, 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 davon sein. Der Spline kann ein oder mehrere dreidimensionale Polynome unterschiedlicher Ordnung enthalten, 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 enthalten, der einer Sollbewegungsbahn auf einem gemeinsamen Straßensegment (z. B. dem Straßensegment 1200) oder einem Fahrstreifen des Straßensegments 1200 entspricht.
  • Wie oben erläutert, kann das in der dünnbesetzten Karte enthaltene Straßennavigationsmodell für autonome Fahrzeuge weitere Informationen enthalten, z. B. die Identifizierung mindestens eines Orientierungspunkts auf dem Straßensegment 1200. Der Orientierungspunkt kann innerhalb des Sichtfelds einer Kamera (z. B. 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 Orientierungspunkts aufnehmen. Ein Prozessor (z. B. der Prozessor 180, 190 oder die Verarbeitungseinheit 110) im Fahrzeug 1205 kann das Bild des Orientierungspunkts verarbeiten, um Identifikationsinformationen für den Orientierungspunkt zu extrahieren. Die Informationen zur Identifizierung des Orientierungspunkts statt eines tatsächlichen Bildes des Orientierungspunkts können in der dünnbesetzten Karte 800 gespeichert sein. Die Informationen zur Identifizierung der Orientierungspunkte können viel weniger Speicherplatz als ein tatsächliches Bild benötigen. Andere Sensoren oder Systeme (z. B. das GPS-System) können ebenfalls bestimmte Informationen zur Identifizierung des Orientierungspunkts (z. B. die Position des Orientierungspunkts) liefern. Der Orientierungspunkt kann mindestens ein Verkehrsschild, eine Pfeilmarkierung, eine Fahrstreifenmarkierung, eine gestrichelte Fahrstreifenmarkierung, eine Ampel, eine Haltelinie, ein Richtungsschild (z. B. ein Autobahnausfahrtschild mit einem Pfeil, der eine Richtung angibt, ein Autobahnschild mit Pfeilen, die in verschiedene Richtungen oder Orte weisen), eine Orientierungsbake oder ein Laternenpfahl sein. Eine Orientierungsbake bezieht sich auf eine Vorrichtung (z. B. eine RFID-Vorrichtung), die entlang eines Straßensegments installiert ist und ein Signal an einen in einem Fahrzeug installierten Empfänger sendet oder reflektiert, sodass, wenn das Fahrzeug an der Vorrichtung vorbeifährt, die durch das Fahrzeug empfangene Bake und die Position der Vorrichtung (z. B. anhand der GPS-Position der Vorrichtung ermittelt) als Orientierungspunkt verwendet werden können, der in das Straßennavigationsmodell für autonome Fahrzeuge und/oder die dünnbesetzte Karte 800 aufgenommen wird.
  • Die Identifizierung des mindestens einen Orientierungspunkts kann eine Position des mindestens einen Orientierungspunkts beinhalten. Die Position des Orientierungspunkts kann basierend auf Positionsmessungen ermittelt werden, die mithilfe von Sensorsystemen (z. B. Global Positioning Systems, trägheitsbasierten Positionsbestimmungssystemen, Orientierungspunktbaken usw.) durchgeführt werden, die der Vielzahl von Fahrzeugen 1205, 1210, 1215, 1220 und 1225 zugeordnet sind. In einigen Ausführungsformen kann die Position des Orientierungspunkts durch Mittelwertbildung der Positionsmessungen ermittelt werden, die durch Sensorsysteme verschiedener Fahrzeuge 1205, 1210, 1215, 1220 und 1225 über 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 Orientierungspunkts verwendet. Die Position des Orientierungspunkts kann durch Messungen, die aus Fahrzeugen bei nachfolgenden Fahrten empfangen werden, kontinuierlich verfeinert werden.
  • Die Identifizierung des Orientierungspunkts kann die Größe des Orientierungspunkts beinhalten. Der in einem Fahrzeug befindliche Prozessor (z. B. 1205) kann die physische Größe des Orientierungspunkts basierend auf der Analyse der Bilder schätzen. Der Server 1230 kann mehrere Schätzungen der physischen Größe desselben Orientierungspunkts aus verschiedenen Fahrzeugen über verschiedene Fahrten empfangen. Der Server 1230 kann aus den verschiedenen Schätzungen einen Mittelwert bilden, um eine physische Größe für den Orientierungspunkt zu erhalten, und diese Größe im Straßenmodell speichern. Die Schätzung der physischen Größe kann zur weiteren Ermittlung oder Schätzung der Entfernung zwischen dem Fahrzeug und dem Orientierungspunkt verwendet werden. Die Entfernung zum Orientierungspunkt kann basierend auf der aktuellen Geschwindigkeit des Fahrzeugs und eines Ausdehnungsmaßstabs geschätzt werden, das auf der Position des in den Bildern erscheinenden Orientierungspunkts relativ zum Ausdehnungsfokus der Kamera beruht. Beispielsweise kann die Entfernung zum Orientierungspunkt durch Z= V*dt*R/D geschätzt werden, wobei V die Geschwindigkeit des Fahrzeugs, R die Entfernung im Bild vom Orientierungspunkt zum Zeitpunkt t1 zum Fokus der Ausdehnung und D die Änderung der Entfernung des Orientierungspunkts im Bild von t1 bis t2 ist. dt steht für (t2-t1). Beispielsweise kann die Entfernung zum Orientierungspunkt durch Z= V*dt*R/D geschätzt werden, wobei V die Geschwindigkeit des Fahrzeugs, R die Entfernung im Bild zwischen dem Orientierungspunkt und dem Fokus der Ausdehnung, dt ein Zeitintervall und D die Bildverschiebung des Orientierungspunkts entlang der Epipolarlinie ist. Andere Gleichungen, die der obigen Gleichung entsprechen, wie z. B. Z = V * ω/Δω), können zur Schätzung der Entfernung zum Orientierungspunkt 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 Orientierungspunkts bekannt ist, kann die Entfernung zum Orientierungspunkt auch basierend auf der folgenden Gleichung ermittelt werden: Z = f * W/ω, wobei f die Brennweite, W die Größe des Orientierungspunkts (z. B. Höhe oder Breite) und ω die Anzahl der Pixel ist, wenn der Orientierungspunkt das Bild verlässt. Aus der obigen Gleichung kann eine Entfernungsänderung Z mittels ΔZ = f * W * Δω / ω2 + f * ΔW/ω berechnet werden, wobei ΔW durch Mittelung auf null abklingt und wobei Δω die Anzahl der Pixel ist, die eine Begrenzungsrahmengenauigkeit im Bild darstellen. Ein Wert, der die physische Größe des Orientierungspunkts schätzt, kann durch Mittelung mehrerer Beobachtungen auf der Serverseite berechnet werden. Der daraus resultierende Fehler bei der Entfernungsschätzung kann sehr gering sein. Es gibt zwei Fehlerquellen, die bei der Verwendung der obigen Formel auftreten können, nämlich ΔW und Δω. Ihr Beitrag zum Entfernungsfehler ist durch ΔZ = f * W * Δω / ω2 + f * ΔW/ω gegeben. ΔW klingt jedoch durch Mittelung auf null ab; daher wird ΔZ durch Δω (z. B. die Ungenauigkeit des Begrenzungsrahmens im Bild) ermittelt.
  • Bei Orientierungspunkten unbekannter Größe kann die Entfernung zum Orientierungspunkt durch Verfolgen von Merkmalspunkten auf dem Orientierungspunkt zwischen aufeinanderfolgenden Bildern geschätzt werden. Zum Beispiel können bestimmte Merkmale auf einem Geschwindigkeitsbegrenzungsschild zwischen zwei oder mehr Bildern verfolgt werden. Basierend auf diesen verfolgten Merkmalen kann eine Entfernungsverteilung pro Merkmalspunkt erstellt werden. Die Entfernungsschätzung kann aus der Entfernungsverteilung extrahiert werden. Beispielsweise kann die häufigste in der Entfernungsverteilung auftretende Entfernung als Entfernungsschätzung verwendet werden. Als weiteres Beispiel kann der Durchschnitt der Entfernungsverteilung als Entfernungsschä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 zur 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 aus 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 Orientierungspunkte (z. B. Größe, Position und Identifikationsinformationen von Orientierungspunkten) und/oder Straßensignaturprofile (z. B. Straßengeometrie, Fahrbahnrauheitsprofil, Straßenkrümmungsprofil, Straßenbreitenprofil) beziehen. In einigen Ausführungsformen können einige Datenpunkte 1310 Daten zugeordnet sein, die sich auf Orientierungspunkte beziehen, und andere können Daten zugeordnet sein, die sich auf Straßensignaturprofile beziehen.
  • 14 zeigt rohe Standortdaten 1410 (z. B. GPS-Daten), die aus fünf verschiedenen Fahrten empfangen wurden. Eine Fahrt kann von einer anderen getrennt sein, wenn sie durch verschiedene Fahrzeuge zur selben Zeit, dasselbe Fahrzeug zu verschiedenen Zeiten oder durch verschiedene Fahrzeuge zu verschiedenen Zeiten erfolgte. Um Fehler in den Positionsdaten 1410 und unterschiedliche Positionen von Fahrzeugen innerhalb desselben Fahrstreifens zu berücksichtigen (z. B. kann ein Fahrzeug näher an der linken Seite eines Fahrstreifens als ein anderes fahren), kann der Server 1230 ein Kartenskelett 1420 unter Verwendung eines oder mehrerer statistischer Verfahren erstellen, um zu ermitteln, ob Abweichungen in den rohen Positionsdaten 1410 tatsächliche Abweichungen oder statistische Fehler darstellen. Jeder Weg innerhalb des Skeletts 1420 kann mit den Rohdaten 1410 zurück verknüpft werden, die den Weg gebildet haben. Zum Beispiel ist der Weg zwischen A und B innerhalb des Skeletts 1420 mit den Rohdaten 1410 aus den Fahrten 2, 3, 4 und 5, nicht aber aus Fahrt 1 verknüpft. Das Skelett 1420 ist möglicherweise nicht detailliert genug, um zur Navigation eines Fahrzeugs verwendet zu werden (z. B. weil es im Gegensatz zu den oben beschriebenen Splines die Fahrten aus mehreren Fahrstreifen auf derselben Straße kombiniert), kann aber nützliche topologische Informationen liefern und zur Definition von Kreuzungen verwendet werden.
  • 15 zeigt ein Beispiel, bei dem zusätzliche Details für eine dünnbesetzte Karte innerhalb eines Segments eines Kartenskeletts erzeugt werden können (z. B. Segment A bis B innerhalb des Skeletts 1420). Wie in 15 dargestellt, können die Daten (z. B. Egobewegungsdaten, Straßenmarkierungsdaten und dergleichen) als Funktion der Position S (oder S1 oder S2) entlang der Fahrt dargestellt werden. Der Server 1230 kann Orientierungspunkte für die dünnbesetzte Karte identifizieren, indem er eindeutige Übereinstimmungen zwischen den Orientierungspunkten 1501, 1503 und 1505 der Fahrt 1510 und den Orientierungspunkten 1507 und 1509 der Fahrt 1520 identifiziert. Ein solcher Abgleichalgorithmus kann zur Identifizierung der Orientierungspunkte 1511, 1513 und 1515 führen. Der Fachmann wird jedoch erkennen, dass auch andere Abgleichalgorithmen verwendet werden können. Beispielsweise kann die Wahrscheinlichkeitsoptimierung anstelle von oder in Kombination mit dem eindeutigen Abgleich verwendet werden. Der Server 1230 kann die Fahrten in Längsrichtung mit den passenden Orientierungspunkten auszurichten. Zum Beispiel 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 Orientierungspunktdaten zur Verwendung in einer dünnbesetzten Karte. Im Beispiel von 16 besteht der Orientierungspunkt 1610 aus einem Straßenschild. Das Beispiel von 16 zeigt außerdem Daten aus einer Vielzahl von Fahrten 1601, 1603, 1605, 1607, 1609, 1611 und 1613. Im Beispiel von 16 bestehen die Daten aus der Fahrt 1613 aus einem „Geister“-Orientierungspunkt, und der Server 1230 kann ihn als solchen identifizieren, weil keine der Fahrten 1601, 1603, 1605, 1607, 1609 und 1611 eine Identifikation eines Orientierungspunkts in der Nähe der identifizierten Orientierungspunkte auf der Fahrt 1613 enthält. Dementsprechend kann der Server 1230 potenzielle Orientierungspunkte akzeptieren, wenn ein Verhältnis von Bildern, in denen der Orientierungspunkt erscheint, zu Bildern, in denen der Orientierungspunkt nicht erscheint, einen Schwellenwert überschreitet, und/oder kann potenzielle Orientierungspunkte ablehnen, wenn ein Verhältnis von Bildern, in denen der Orientierungspunkt nicht erscheint, zu Bildern, in denen der Orientierungspunkt erscheint, einen Schwellenwert überschreitet.
  • 17 zeigt ein System 1700 zur Erzeugung von Fahrtdaten, die zum Crowdsourcing einer dünnbesetzten Karte verwendet werden können. Wie in 17 dargestellt, kann das System 1700 eine Kamera 1701 und eine Lokalisierungsvorrichtung 1703 (z. B. eine GPS-Lokalisierungsvorrichtung) enthalten. Die Kamera 1701 und die Lokalisierungsvorrichtung 1703 können an einem Fahrzeug (z. B. einem der Fahrzeuge 1205, 1210, 1215, 1220 und 1225) angebracht sein. Die Kamera 1701 kann eine Vielzahl von Daten mehrerer Arten erzeugen, z. B. Egobewegungsdaten, Verkehrsschilddaten, Straßendaten oder dergleichen. Die Kameradaten und Positionsdaten können in Fahrtsegmente 1705 unterteilt werden. Die Fahrtsegmente 1705 können zum Beispiel jeweils Kameradaten und Positionsdaten von weniger als 1 km Fahrstrecke enthalten.
  • In einigen Ausführungsformen kann das System 1700 Redundanzen in den Fahrtsegmenten 1705 entfernen. Wenn beispielsweise ein Orientierungspunkt in mehreren Bildern der Kamera 1701 erscheint, kann das System 1700 die redundanten Daten entfernen, sodass die Fahrtsegmente 1705 nur eine Kopie der Position des Orientierungspunkts und aller Metadaten zu diesem Orientierungspunkt enthalten. Als weiteres Beispiel kann, wenn eine Fahrstreifenmarkierung auf mehreren Bildern der Kamera 1701 erscheint, das System 1700 die redundanten Daten entfernen, sodass die Fahrtsegmente 1705 nur eine Kopie der Position und aller Metadaten der Fahrstreifenmarkierung enthalten.
  • Das System 1700 umfasst auch einen Server (z. B. Server 1230). Der Server 1230 kann Fahrtsegmente 1705 aus dem Fahrzeug empfangen und die Fahrtsegmente 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 gesamte Fahrt beziehen.
  • 18 zeigt das System 1700 aus 17 in einer weiteren Konfiguration zum Crowdsourcing einer dünnbesetzten Karte. Wie in 17 umfasst das System 1700 das Fahrzeug 1810, das Fahrdaten z. B. mit einer Kamera (die z. B. Egobewegungsdaten, Verkehrsschilddaten, Straßendaten oder dergleichen erzeugt) und einer Lokalisierungsvorrichtung (z. B. einer GPS-Lokalisierungsvorrichtung) erfasst. Wie in 17 segmentiert das Fahrzeug 1810 die gesammelten Daten in Fahrtsegmente (dargestellt als „FS1 1“, „FS2 1“, „FSN 1“ in 18). Der Server 1230 empfängt dann die Fahrtsegmente und rekonstruiert aus den empfangenen Segmenten eine Fahrt (in 18 als „Fahrt 1“ dargestellt).
  • Wie in 18 weiter dargestellt, empfängt das System 1700 auch Daten aus weiteren Fahrzeugen. Beispielsweise erfasst das Fahrzeug 1820 auch Fahrdaten, beispielsweise mittels einer Kamera (die z. B. Egobewegungsdaten, Verkehrsschilddaten, Straßendaten oder dergleichen erzeugt) und einer Lokalisierungsvorrichtung (z. B. einer GPS-Lokalisierungsvorrichtung). Ähnlich wie das Fahrzeug 1810 segmentiert das Fahrzeug 1820 die gesammelten Daten in Fahrtsegmente (dargestellt als „FS 1 2“, „FS2 2“, „FSN 2“ in 18). Der Server 1230 empfängt dann die Fahrtsegmente und rekonstruiert aus den empfangenen Segmenten eine Fahrt (in 18 als „Fahrt 2“ dargestellt). Es können beliebig viele zusätzliche Fahrzeuge verwendet werden. Beispielsweise umfasst 18 auch „PKW N“, das Fahrtdaten erfasst, sie in Fahrtsegmente segmentiert (in 18 als „FS1 N“, „FS2 N“, „FSN N“ dargestellt) und an den Server 1230 zur Rekonstruktion in eine 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 aus einer Vielzahl von Fahrzeugen (z. B. „PKW 1“ (auch als Fahrzeug 1810 bezeichnet), „PKW 2“ (auch als Fahrzeug 1820 bezeichnet) und „PKW N“) gesammelt wurden.
  • 19 ist ein Flussdiagramm, das einen Beispielprozess 1900 zur Erzeugung einer dünnbesetzten Karte für die autonome Fahrzeugnavigation entlang eines Straßensegments zeigt. Der Prozess 1900 kann durch eine oder mehrere im Server 1230 enthaltene Verarbeitungsvorrichtungen durchgeführt werden.
  • Der Prozess 1900 kann den Empfang einer Vielzahl von Bildern beinhalten, die aufgenommen wurden, als ein oder mehrere Fahrzeuge auf dem Straßensegment fuhren (Schritt 1905). Der Server 1230 kann Bilder aus 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 auf dem Straßensegment 1200 fährt. In einigen Ausführungsformen kann der Server 1230 auch verkleinerte Bilddaten empfangen, bei denen Redundanzen durch einen Prozessor im Fahrzeug 1205 entfernt wurden, wie oben mit Bezug auf 17 beschrieben.
  • Das Verfahren 1900 kann ferner das Identifizieren mindestens einer Liniendarstellung eines Straßenoberflächenmerkmals, das sich entlang des Straßensegments erstreckt, basierend auf der Vielzahl von Bildern umfassen (Schritt 1910). Jede Liniendarstellung kann einen Weg entlang des Straßensegments darstellen, der im Wesentlichen mit dem Merkmal der Straßenoberfläche übereinstimmt. Beispielsweise kann der Server 1230 die aus der Kamera 122 empfangenen Umgebungsbilder analysieren, um einen Straßenrand oder eine Fahrstreifenmarkierung zu identifizieren und eine Bewegungsbahn entlang des Straßensegments 1200 zu ermitteln, die dem Straßenrand oder der Fahrstreifenmarkierung zugeordnet ist. In einigen Ausführungsformen kann die Bewegungsbahn (oder Liniendarstellung) einen Spline, eine Polynomdarstellung oder eine Kurve enthalten. Der Server 1230 kann die Bewegungsbahn des Fahrzeugs 1205 basierend auf den in Schritt 1905 empfangenen Kamera-Egobewegungen (z. B. dreidimensionale Translations- und/oder dreidimensionale Rotationsbewegungen) ermitteln.
  • Der Prozess 1900 kann auch das Identifizieren einer Vielzahl von Orientierungspunkten, die dem Straßensegment zugeordnet sind, basierend auf der Vielzahl von Bildern enthalten (Schritt 1910). Beispielsweise kann der Server 1230 die aus der Kamera 122 empfangenen Umgebungsbilder analysieren, um eine oder mehrere Orientierungspunkte, wie z. B. Straßenschilder, entlang des Straßensegments 1200 zu identifizieren. Der Server 1230 kann die Orientierungspunkte mittels Analyse der Vielzahl von Bildern identifizieren, die aufgenommen wurden, während ein oder mehrere Fahrzeuge das Straßensegment befahren haben. Um Crowdsourcing zu ermöglichen, kann die Analyse Regeln für das Akzeptieren und Ablehnen möglicher Orientierungspunkte mit Zuordnung zu dem Straßensegment enthalten. Die Analyse kann zum Beispiel beinhalten, dass potenzielle Orientierungspunkte akzeptiert werden, wenn das Verhältnis von Bildern, in denen der Orientierungspunkt erscheint, zu Bildern, in denen der Orientierungspunkt nicht erscheint, einen Schwellenwert überschreitet, und/oder dass potenzielle Orientierungspunkte zurückgewiesen werden, wenn das Verhältnis von Bildern, in denen der Orientierungspunkt nicht erscheint, zu Bildern, in denen der Orientierungspunkt erscheint, einen Schwellenwert überschreitet.
  • Der Prozess 1900 kann andere Operationen oder Schritte beinhalten, die durch den Server 1230 durchgeführt werden. Beispielsweise können die Navigationsinformationen eine Sollbewegungsbahn für Fahrzeuge zum Befahren eines Straßensegments enthalten, und der Prozess 1900 kann das Bündeln von Fahrzeugbewegungsbahnen, die sich auf mehrere auf dem Straßensegment fahrende Fahrzeuge beziehen, durch den Server 1230 und das Ermitteln der Sollbewegungsbahn basierend auf den gebündelten Fahrzeugbewegungsbahnen enthalten, wie weiter unten im Detail erläutert. Das Bündeln von Fahrzeugbewegungsbahnen kann beinhalten, dass der Server 1230 die mehreren Bewegungsbahnen, die sich auf die auf dem Straßensegment fahrenden Fahrzeuge beziehen, in eine Vielzahl von Bündeln einteilt, die auf mindestens einer der absoluten Fahrtrichtung der Fahrzeuge oder der Fahrstreifenzuweisung der Fahrzeuge basieren. Die Erzeugung der Sollbewegungsbahn kann eine Mittelwertbildung der gebündelten Bewegungsbahnen durch den Server 1230 beinhalten. Als weiteres Beispiel kann der Prozess 1900 ein Abgleichen der in Schritt 1905 empfangenen Daten beinhalten. Andere Prozesse oder Schritte, die durch den Server 1230 wie oben beschrieben durchgeführt werden, können ebenfalls in dem Prozess 1900 enthalten sein.
  • Die offenbarten Systeme und Verfahren können auch andere Merkmale aufweisen. 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 zum Lenken zu nutzen, kann das Host-Fahrzeug seine Position und Ausrichtung relativ zur Karte ermitteln. Es liegt nahe, eine GPS-Vorrichtung an Bord zu verwenden, um das Fahrzeug auf der Karte zu lokalisieren und die Rotationstransformation zwischen dem Karosserie-Bezugsrahmen und dem Welt-Bezugsrahmen (z. B. Nord, Ost und Unten) zu ermitteln. Sobald der Karosserie-Bezugsrahmen mit dem Karten-Bezugsrahmen abgeglichen ist, kann die gewünschte Route im Karosserie-Bezugsrahmen ausgedrückt und können die Lenkbefehle berechnet oder erzeugt werden.
  • Die offenbarten Systeme und Verfahren können eine autonome Fahrzeugnavigation (z. B. Lenksteuerung) mit Modellen mit geringem Platzbedarf ermöglichen, die durch die autonomen Fahrzeuge selbst ohne die Hilfe kostspieliger Vermessungsvorrichtungen 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 Fahrstreifenstruktur und Orientierungspunkte enthalten, die zur Ermittlung des Standorts oder der Position von Fahrzeugen entlang einer im Modell enthaltenen Bewegungsbahn verwendet werden können. Wie oben erwähnt, kann die Erzeugung der dünnbesetzten Karte durch einen entfernt gelegenen Server durchgeführt werden, der mit den auf der Straße fahrenden Fahrzeugen kommuniziert und Daten aus den Fahrzeugen empfängt. Die Daten können erfasste Daten, basierend auf den erfassten Daten rekonstruierte Bewegungsbahnen und/oder empfohlene Bewegungsbahnen enthalten, die geänderte rekonstruierte Bewegungsbahnen darstellen können. Wie weiter unten erläutert, kann der Server das Modell an die Fahrzeuge oder andere Fahrzeuge, die anschließend auf der Straße fahren, zurücksenden, um die autonome Navigation zu unterstützen.
  • 20 zeigt ein Blockdiagramm des Servers 1230. Der Server 1230 kann eine Kommunikationseinheit 2005 enthalten, die sowohl Hardwarekomponenten (z.B. Kommunikationssteuerschaltungen, Schalter und Antenne) als auch Softwarekomponenten (z. B. Kommunikationsprotokolle, Computercodes) enthalten kann. Die Kommunikationseinheit 2005 kann zum Beispiel mindestens eine Netzwerkschnittstelle enthalten. 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 aus 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 nichtflüchtiges Speichermedium 2010, wie z. B. eine Festplatte, eine Compact Disc, ein Band usw., enthalten. Das Speichermedium 1410 kann dazu ausgelegt sein, Daten zu speichern, wie z. B. aus den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangene Navigationsinformationen und/oder das Straßennavigationsmodell für autonome Fahrzeuge, das der Server 1230 basierend auf den Navigationsinformationen erstellt. Die Speichervorrichtung 2010 kann dazu ausgelegt sein, andere Informationen zu speichern, wie z. B. eine dünnbesetzten Karte (z. B. die dünnbesetzte Karte 800, die oben mit Bezug auf 8 beschrieben wurde).
  • Zusätzlich zu oder anstelle der Speichervorrichtung 2010 kann der Server 1230 einen Speicher 2015 enthalten. Der Speicher 2015 kann ähnlich wie der Speicher 140 oder 150 sein oder sich von ihm unterscheiden. Bei dem Speicher 2015 kann es sich um einen nichtflüchtigen Speicher handeln, wie z. B. einen Flash-Speicher, einen Direktzugriffsspeicher usw. Der Speicher 2015 kann dazu ausgelegt sein, Daten zu speichern, wie z. B. Computercodes oder Anweisungen, die durch einen Prozessor (z. B. den Prozessor 2020) ausführbar sind, Kartendaten (z. B. Daten der dünnbesetzten Karte 800), das Straßennavigationsmodell für autonome Fahrzeuge und/oder aus den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangene Navigationsinformationen.
  • Der Server 1230 kann mindestens eine Verarbeitungsvorrichtung 2020 umfassen, die dazu ausgelegt ist, im Speicher 2015 gespeicherte Computercodes oder Anweisungen auszuführen, um verschiedene Funktionen zu erfüllen. Beispielsweise kann die Verarbeitungsvorrichtung 2020 die aus den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangenen Navigationsinformationen analysieren und das Straßennavigationsmodell für autonome Fahrzeuge basierend auf der Analyse erstellen. Die Verarbeitungsvorrichtung 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 andere Fahrzeug, das zu einem späteren Zeitpunkt auf dem Straßensegment 1200 unterwegs ist) verteilt. Die Verarbeitungsvorrichtung 2020 kann ähnlich dem Prozessor 180, 190 oder der Verarbeitungseinheit 110 sein oder sich von diesen unterscheiden.
  • 21 zeigt ein Blockdiagramm des Speichers 2015, der Computercode oder Anweisungen zur Durchführung einer oder mehrerer Operationen zur Erzeugung eines Straßennavigationsmodells zur Verwendung bei der autonomen Fahrzeugnavigation speichern kann. Wie in 21 dargestellt, 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 enthalten. Der Prozessor 2020 kann die Anweisungen ausführen, die in einem der Module 2105 und 2110 im Speicher 2015 gespeichert sind.
  • Das Modellerzeugungsmodul 2105 kann Anweisungen speichern, die beim Ausführen durch den Prozessor 2020 mindestens einen Teil eines Straßennavigationsmodells für autonome Fahrzeuge für ein gemeinsames Straßensegment (z. B. das Straßensegment 1200) basierend auf den aus 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 Fahrzeugbewegungsbahnen entlang des gemeinsamen Straßensegments 1200 in verschiedene Bündel einteilen. Der Prozessor 2020 kann eine Sollbewegungsbahn entlang des gemeinsamen Straßensegments 1200 basierend auf den gebündelten Fahrzeugbewegungsbahnen für jedes der verschiedenen Bündel ermitteln. Ein solcher Vorgang kann das Erzeugen einer gemittelten oder durchschnittlichen Bewegungsbahn der gebündelten Fahrzeugbewegungsbahnen (z. B. durch Mittelung von Daten, die die gebündelten Fahrzeugbewegungsbahnen darstellen) in jedem Bündel umfassen. In einigen Ausführungsformen kann die Sollbewegungsbahn einem einzelnen Fahrstreifen des gemeinsamen Straßensegments 1200 zugeordnet sein.
  • Das Straßenmodell und/oder die dünnbesetzte Karte können Bewegungsbahnen speichern, die einem Straßensegment zugeordnet sind. Diese Bewegungsbahnen können als Sollbewegungsbahnen bezeichnet werden, die den autonomen Fahrzeugen zur autonomen Navigation zur Verfügung gestellt werden. Die Sollbewegungsbahnen können aus mehreren Fahrzeugen empfangen oder basierend auf tatsächlichen Bewegungsbahnen oder empfohlenen Bewegungsbahnen (tatsächliche Bewegungsbahnen mit einigen Änderungen), die aus mehreren Fahrzeugen empfangen wurden, erstellt werden. Die im Straßenmodell oder in der dünnbesetzten Karte enthaltenen Sollbewegungsbahnen können laufend mit neuen Bewegungsbahnen, die aus anderen Fahrzeugen empfangen werden, aktualisiert (z. B. gemittelt) werden.
  • Fahrzeuge, die auf einem Straßensegment fahren, können Daten durch verschiedene Sensoren sammeln. Die Daten können Orientierungspunkte, Straßensignaturprofile, Fahrzeugbewegungen (z. B. Beschleunigungsmesserdaten, Geschwindigkeitsdaten) und Fahrzeugpositionen (z. B. GPS-Daten) enthalten und können entweder die tatsächlichen Bewegungsbahnen selbst rekonstruieren oder die Daten an einen Server übertragen, der die tatsächlichen Bewegungsbahnen für die Fahrzeuge rekonstruiert. In einigen Ausführungsformen können die Fahrzeuge Daten in Bezug auf eine Bewegungsbahn (z. B. eine Kurve in einem beliebigen Bezugsrahmen), Daten zu Orientierungspunkten und die Fahrstreifenzuweisung entlang des Fahrwegs an den Server 1230 übertragen. Verschiedene Fahrzeuge, die auf demselben Straßensegment bei mehreren Fahrten unterwegs sind, können unterschiedliche Bewegungsbahnen aufweisen. Der Server 1230 kann aus den aus den Fahrzeugen empfangenen Bewegungsbahnen durch einen Bündelerstellungsprozess Routen oder Bewegungsbahnen identifizieren, die jedem Fahrstreifen zugeordnet sind.
  • 22 illustriert einen Prozess zur Bündelerstellung von Fahrzeugbewegungsbahnen, die den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 zugeordnet sind, um eine Sollbewegungsbahn für das gemeinsame Straßensegment (z. B. das Straßensegment 1200) zu ermitteln. Die Sollbewegungsbahn oder eine Vielzahl von Sollbewegungsbahnen, die aus dem Bündelerstellungsprozess ermittelt 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ßensegment 1200 fahren, eine Vielzahl von Bewegungsbahnen 2200 an den Server 1230 übertragen. In einigen Ausführungsformen kann der Server 1230 Bewegungsbahnen basierend auf Informationen bezüglich Orientierungspunkten, Straßengeometrie und Fahrzeugbewegungen erzeugen, die aus den Fahrzeugen 1205, 1210, 1215, 1220 und 1225 empfangen werden. Um das Straßennavigationsmodell für autonome Fahrzeuge zu erstellen, kann der Server 1230 die Fahrzeugbewegungsbahnen 1600 in eine Vielzahl von Bündeln 2205, 2210, 2215, 2220, 2225 und 2230 gruppieren, wie in 22 gezeigt.
  • Das Erstellen von Bündeln kann unter Verwendung von verschiedenen Kriterien erfolgen. In einigen Ausführungsformen können alle Fahrten in einem Bündel in Bezug auf die absolute Richtung entlang des Straßensegments 1200 ähnlich sein. Der absolute Kurs kann aus GPS-Signalen gewonnen werden, die durch die Fahrzeuge 1205, 1210, 1215, 1220 und 1225 empfangen werden. In einigen Fällen kann der absolute Kurs durch Koppelnavigation erhalten werden. Koppelnavigation kann, wie der Fachmann versteht, zur Bestimmung der aktuellen Position und damit des Kurses von Fahrzeugen 1205, 1210, 1215, 1220 und 1225 durch Verwendung der zuvor bestimmten Position, geschätzten Geschwindigkeit usw. verwendet werden. Nach absoluter Fahrtrichtung gebündelte Bewegungsbahnen 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 Bündel während der Fahrt auf dem Straßensegment 1200 in Bezug auf die Fahrstreifenzuweisung ähnlich sein (z. B. auf demselben Fahrstreifen vor und nach einer Kreuzung). Nach Fahrstreifenzuweisung gebündelte Bewegungsbahnen können für die Identifizierung von Fahrstreifen entlang der Straßen nützlich sein. In einigen Ausführungsformen können beide Kriterien (z. B. absolute Richtung und Fahrstreifenzuweisung) für die Bündelbildung verwendet werden.
  • In jedem Bündel 2205, 2210, 2215, 2220, 2225 und 2230 können die Bewegungsbahnen gemittelt werden, um eine dem spezifischen Bündel zugeordnete Sollbewegungsbahn zu erhalten. Zum Beispiel können die Bewegungsbahnen von mehreren Fahrten, die demselben Fahrstreifenbündel zugeordnet sind, gemittelt werden. Die gemittelte Bewegungsbahn kann eine Sollbewegungsbahn sein, die einem bestimmten Fahrstreifen zugeordnet ist. Um den Durchschnitt eines Bündels von Bewegungsbahnen zu ermitteln, kann der Server 1230 einen Bezugsrahmen für eine beliebige Bewegungsbahn C0 auswählen. Für alle anderen Bewegungsbahnen (C1, ..., Cn) kann der Server 1230 eine starre Transformation finden, die Ci auf C0 abbildet, wobei i = 1, 2, ..., n, wobei n eine positive ganze Zahl ist, die der Gesamtzahl der im Bündel enthaltenen Bewegungsbahnen entspricht. Der Server 1230 kann eine mittlere Kurve oder Bewegungsbahn im C0-Bezugsrahmen berechnen.
  • In einigen Ausführungsformen können die Orientierungspunkte eine Bogenlänge definieren, die zwischen verschiedenen Fahrten übereinstimmt, was für die Ausrichtung von Bewegungsbahnen mit Fahrstreifen verwendet werden kann. In einigen Ausführungsformen können Fahrstreifenmarkierungen vor und nach einer Kreuzung für die Ausrichtung von Bewegungsbahnen mit Fahrstreifen verwendet werden.
  • Um Fahrstreifen aus den Bewegungsbahnen zusammenzustellen, kann der Server 1230 einen Bezugsrahmen für einen beliebigen Fahrstreifen auswählen. Der Server 1230 kann teilweise überlappende Fahrstreifen auf den ausgewählten Bezugsrahmen abbilden. Der Server 1230 kann das Abbilden fortsetzen, bis sich alle Fahrstreifen im selben Bezugsrahmen befinden. Nebeneinander liegende Fahrstreifen können so ausgerichtet werden, als wären sie derselbe Fahrstreifen, und später können sie seitlich verschoben werden.
  • Entlang des Straßensegments erkannte Orientierungspunkte können zunächst auf der Ebene der Fahrstreifen, dann auf der Ebene der Kreuzung auf den gemeinsamen Bezugsrahmen abgebildet werden. Beispielsweise können dieselben Orientierungspunkte durch mehrere Fahrzeuge bei mehreren Fahrten mehrfach erfasst werden. Die Daten für dieselben Orientierungspunkte, die bei verschiedenen Fahrten empfangen werden, können leicht unterschiedlich sein. Solche Daten können gemittelt und auf denselben Bezugsrahmen, z. B. den Bezugsrahmen C0, abgebildet werden. Zusätzlich oder alternativ kann die Varianz der Daten desselben Orientierungspunkts, die bei mehreren Fahrten empfangen wurden, berechnet werden.
  • In einigen Ausführungsformen kann jeder Fahrstreifen des Straßensegments 120 einer Sollbewegungsbahn und bestimmten Orientierungspunkten zugeordnet sein. Die Sollbewegungsbahn oder eine Vielzahl solcher Sollbewegungsbahnen kann in das Straßennavigationsmodell für autonome Fahrzeuge aufgenommen werden, das später durch andere autonome Fahrzeuge verwendet werden kann, die auf demselben Straßensegment 1200 fahren. Orientierungspunkte, die durch Fahrzeuge 1205, 1210, 1215, 1220 und 1225 identifiziert werden, während die Fahrzeuge auf dem Straßensegment 1200 fahren, können in Zuordnung mit der Sollbewegungsbahn aufgezeichnet werden. Die Daten der Sollbewegungsbahnen und Orientierungspunkte können kontinuierlich oder periodisch mit neuen Daten aktualisiert werden, die aus 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. Die Position des Fahrzeugs kann basierend auf dreidimensionalen Positionsdaten und/oder dreidimensionalen Orientierungsdaten ermittelt werden, wobei die künftige Position vor der aktuellen Position des Fahrzeugs durch Integration der Egobewegung vorhergesagt wird. Die Lokalisierung des Fahrzeugs kann durch Bildbeobachtungen von Orientierungspunkten korrigiert oder angepasst werden. Wenn das Fahrzeug beispielsweise einen Orientierungspunkt in einem durch die Kamera aufgenommenen Bild erkennt, kann der Orientierungspunkt mit einem bekannten Orientierungspunkt verglichen werden, der im Straßenmodell oder in der dünnbesetzten Karte 800 gespeichert ist. Der bekannte Orientierungspunkt kann eine bekannte Position (z. B. GPS-Daten) entlang einer Sollbewegungsbahn aufweisen, die im Straßenmodell und/oder der dünnbesetzten Karte 800 gespeichert ist. Anhand der aktuellen Geschwindigkeit und der Bilder des Orientierungspunkts kann die Entfernung des Fahrzeugs zum Orientierungspunkt geschätzt werden. Die Position des Fahrzeugs entlang einer Sollbewegungsbahn kann basierend auf der Entfernung zum Orientierungspunkt und der bekannten Position des Orientierungspunkts (die 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-/Ortsdaten des Orientierungspunkts (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 die Schätzung der Position des Fahrzeugs mit sechs Freiheitsgraden (z. B. dreidimensionale Positionsdaten plus dreidimensionale Orientierungsdaten) zur Navigation (z. B. Lenkung des Rades) des autonomen Fahrzeugs verwendet werden kann, um einen gewünschten Punkt zu erreichen (z. B. 1,3 Sekunden vor dem gespeicherten Zeitpunkt). Die aus der Lenkung und der tatsächlichen Navigation gemessenen Daten können wiederum zur Schätzung der Position der sechs Freiheitsgrade verwendet werden.
  • In einigen Ausführungsformen können Masten entlang einer Straße, wie z. B. Latemenpfähle und Strom- oder Kabelleitungsmasten, als Orientierungspunkte für die Lokalisierung von Fahrzeugen verwendet werden. Andere Orientierungspunkte wie Verkehrsschilder, Ampeln, Pfeile auf der Straße, Haltelinien sowie statische Merkmale oder Signaturen eines Objekts entlang des Straßensegments können ebenfalls als Orientierungspunkte 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 Entfernung zum Mast) verwendet werden, da die Unterseiten der Masten verdeckt sein können und sich mitunter nicht auf der Straßenebene befinden.
  • 23 zeigt ein Navigationssystem für ein Fahrzeug, das für die autonome Navigation unter Verwendung einer dünnbesetzten Crowdsourcing-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 hier 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 Bildaufnahmevorrichtung 122 (z. B. eine Kamera 122) enthalten. Das Fahrzeug 1205 kann ein Navigationssystem 2300 enthalten, das dazu ausgelegt ist, Navigationsanweisungen für das Fahrzeug 1205 zum Fahren auf einer Straße (z. B. dem Straßensegment 1200) bereitstellt. Das Fahrzeug 1205 kann auch andere Sensoren, z. B. einen Geschwindigkeitssensor 2320 und einen Beschleunigungsmesser 2325, enthalten. Der Geschwindigkeitssensor 2320 kann dazu ausgelegt sein, die Geschwindigkeit des Fahrzeugs 1205 zu erfassen. Der Beschleunigungsmesser 2325 kann dazu ausgelegt sein, eine Beschleunigung oder Verzögerung des Fahrzeugs 1205 zu erfassen. Das in 23 dargestellte Fahrzeug 1205 kann ein autonomes Fahrzeug sein, und das Navigationssystem 2300 kann zur Bereitstellung von Navigationsanweisungen für das autonome Fahren verwendet werden. Alternativ kann das Fahrzeug 1205 auch ein nicht-autonomes, menschengesteuertes Fahrzeug sein, und das Navigationssystem 2300 kann immer noch für die Navigationsführung verwendet werden.
  • Das Navigationssystem 2300 kann eine Kommunikationseinheit 2305 enthalten, die dazu ausgelegt ist, mit dem Server 1230 über den Kommunikationsweg 1235 zu kommunizieren. Das Navigationssystem 2300 kann auch eine GPS-Einheit 2310 enthalten, die für den Empfang und die Verarbeitung von GPS-Signalen ausgelegt ist. Das Navigationssystem 2300 kann ferner mindestens einen Prozessor 2315 enthalten, der zur Verarbeitung von Daten ausgelegt ist, wie z. B. GPS-Signalen, Kartendaten aus der dünnbesetzten Karte 800 (die auf einer Speichervorrichtung an Bord des Fahrzeugs 1205 gespeichert und/oder aus dem Server 1230 empfangen werden können), die durch einen Straßenprofilsensor 2330 erfasste Straßengeometrie, durch die Kamera 122 aufgenommene Bilder und/oder das aus dem Server 1230 empfangene Straßennavigationsmodell für autonome Fahrzeuge. Der Straßenprofilsensor 2330 kann verschiedene Arten von Vorrichtungen zur Messung verschiedener Arten von Straßenprofilen enthalten, wie z. B. Fahrbahnrauheit, Straßenbreite, Straßenerhöhung, Straßenkrümmung usw. Der Straßenprofilsensor 2330 kann beispielsweise eine Vorrichtung enthalten, die die Bewegung einer Federung des Fahrzeugs 2305 misst, um daraus das Fahrbahnrauheitsprofil abzuleiten. In einigen Ausführungsformen kann der Straßenprofilsensor 2330 Radarsensoren enthalten, um den Abstand zwischen dem Fahrzeug 1205 und den Straßenrändern (z. B. den Barrieren an den Straßenrändern) zu messen und so die Breite der Straße zu ermitteln. In einigen Ausführungsformen kann der Straßenprofilsensor 2330 eine Vorrichtung umfassen, die für die Messung der Steigung und des Gefälles der Straße ausgelegt ist. In einigen Ausführungsformen kann der Straßenprofilsensor 2330 eine Vorrichtung umfassen, die zur Messung der Straßenkrümmung ausgelegt 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 dazu verwenden, um Straßenkrümmungen zu erkennen.
  • Der mindestens eine Prozessor 2315 kann dazu programmiert sein, aus der Kamera 122 mindestens ein dem Fahrzeug 1205 zugeordnetes Umgebungsbild zu empfangen. Der mindestens eine Prozessor 2315 kann das mindestens eine Umgebungsbild analysieren, um Navigationsinformationen in Bezug auf das Fahrzeug 1205 zu ermitteln. Die Navigationsinformationen können eine Bewegungsbahn enthalten, die sich auf die Fahrt des Fahrzeugs 1205 auf dem Straßensegment 1200 bezieht. Der mindestens eine Prozessor 2315 kann die Bewegungsbahn basierend auf Bewegungen der Kamera 122 (und damit des Fahrzeugs), z. B. aus dreidimensionalen Translations- und dreidimensionalen Rotationsbewegungen, ermitteln. In einigen Ausführungsformen kann der mindestens eine Prozessor 2315 die Translations- und Rotationsbewegungen der Kamera 122 basierend auf der Analyse einer Vielzahl von Bildern, die durch die Kamera 122 aufgenommen wurden, ermitteln. In einigen Ausführungsformen können die Navigationsinformationen Informationen über die Fahrstreifenzuweisung enthalten (z. B. auf welchem Fahrstreifen das Fahrzeug 1205 auf dem Straßensegment 1200 fährt). Die aus dem Fahrzeug 1205 an den Server 1230 übertragenen Navigationsinformationen können durch den Server 1230 dazu verwendet werden, ein Straßennavigationsmodell für autonome Fahrzeuge zu erstellen und/oder zu aktualisieren, das durch den Server 1230 zurück an das Fahrzeug 1205 übertragen werden kann, um eine autonome Navigationsführung für das Fahrzeug 1205 bereitzustellen.
  • Der mindestens eine Prozessor 2315 kann auch dazu programmiert sein, die Navigationsinformationen aus dem Fahrzeug 1205 an den Server 1230 zu übertragen. In einigen Ausführungsformen können die Navigationsinformationen zusammen mit den Straßeninformationen an den Server 1230 übertragen werden. Die Informationen über die Straßenposition können mindestens eines enthalten von: dem aus der GPS-Einheit 2310 empfangenen GPS-Signal, Informationen über Orientierungspunkte, der Straßengeometrie, Fahrstreifeninformationen usw. Der mindestens eine Prozessor 2315 kann aus dem Server 1230 das Straßennavigationsmodell für autonome Fahrzeuge oder einen Teil des Modells empfangen. Das aus dem Server 1230 empfangene Straßennavigationsmodell für autonome Fahrzeuge kann mindestens eine Aktualisierung enthalten, die auf den aus dem Fahrzeug 1205 an den Server 1230 übertragenen Navigationsinformationen basiert. Der aus dem Server 1230 an das Fahrzeug 1205 übertragene Teil des Modells kann einen aktualisierten Teil des Modells enthalten. Der mindestens eine Prozessor 2315 kann mindestens ein Navigationsmanöver (z. B. Lenken, wie Abbiegen, Bremsen, Beschleunigen, Überholen eines anderen Fahrzeugs usw.) durch das Fahrzeug 1205 basierend auf dem empfangenen Straßennavigationsmodell für autonome Fahrzeuge oder dem aktualisierten Teil des Modells veranlassen.
  • Der mindestens eine Prozessor 2315 kann dazu ausgelegt sein, mit verschiedenen Sensoren und Komponenten im Fahrzeug 1205 zu kommunizieren, einschließlich der Kommunikationseinheit 1705, der GPS-Einheit 2315, der Kamera 122, dem Geschwindigkeitssensor 2320, dem Beschleunigungsmesser 2325 und dem Straßenprofilsensor 2330. Der mindestens eine Prozessor 2315 kann Informationen oder Daten aus 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 ebenfalls mit dem Server 1230 kommunizieren und Daten oder Informationen, die aus den Sensoren oder Komponenten gesammelt wurden, an den Server 1230 übertragen.
  • In einigen Ausführungsformen können Fahrzeuge 1205, 1210, 1215, 1220 und 1225 miteinander kommunizieren und Navigationsinformationen miteinander teilen, sodass mindestens eines der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 das Straßennavigationsmodell für autonome Fahrzeuge unter Verwendung von Crowdsourcing, z. B. basierend auf Informationen, die durch andere Fahrzeuge geteilt werden, erstellen kann. In einigen Ausführungsformen können Fahrzeuge 1205, 1210, 1215, 1220 und 1225 Navigationsinformationen untereinander austauschen, und jedes Fahrzeug kann sein eigenes, im Fahrzeug vorhandenes Straßennavigationsmodell für autonome Fahrzeuge aktualisieren. In einigen Ausführungsformen kann mindestens eines der Fahrzeuge 1205, 1210, 1215, 1220 und 1225 (z. B. das Fahrzeug 1205) als Hub-Fahrzeug fungieren. Der mindestens eine Prozessor 2315 des Hub-Fahrzeugs (z. B. das Fahrzeug 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 aus anderen Fahrzeugen empfangen. Der mindestens eine Prozessor 2315 des Hub-Fahrzeugs kann das Straßennavigationsmodell für autonome Fahrzeuge oder eine Aktualisierung des Modells basierend auf den aus anderen Fahrzeugen empfangenen gemeinsamen Informationen erstellen. 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 Anweisungen für die autonome Navigation zu erteilen.
  • Kartierung von Fahrstreifenmarkierungen und Navigation basierend auf kartierten Fahrstreifenmarkierungen
  • Wie bereits erwähnt, kann das Straßennavigationsmodell für autonome Fahrzeuge und/oder die dünnbesetzte Karte 800 eine Vielzahl von kartierten Fahrstreifenmarkierungen enthalten, die einem Straßensegment zugeordnet sind. Wie im Folgenden näher erläutert, können diese kartierten Fahrstreifenmarkierungen bei der Navigation des autonomen Fahrzeugs verwendet werden. In einigen Ausführungsformen können die kartierten Fahrstreifenmarkierungen beispielsweise verwendet werden, um eine seitliche Position und/oder Ausrichtung relativ zu einer geplanten Bewegungsbahn zu ermitteln. Mit diesen Positionsinformationen kann das autonome Fahrzeug die Kursrichtung so anpassen, dass sie mit der Richtung einer Sollbewegungsbahn an der ermittelten Position übereinstimmt.
  • Das Fahrzeug 200 kann dazu ausgelegt sein, Fahrstreifenmarkierungen auf einem bestimmten Straßensegment zu erfassen. Das Straßensegment kann alle Markierungen auf einer Straße umfassen, die den Fahrzeugverkehr auf einer Straße leiten. Die Fahrstreifenmarkierungen können zum Beispiel durchgehende oder gestrichelte Linien sein, die den Rand eines Fahrstreifens markieren. Die Fahrstreifenmarkierungen können auch Doppellinien enthalten, z. B. doppelte durchgehende Linien, doppelte gestrichelte Linien oder eine Kombination aus durchgehenden und gestrichelten Linien, die z. B. anzeigen, ob das Überholen auf einem benachbarten Fahrstreifen erlaubt ist. Zu den Fahrstreifenmarkierungen können auch Markierungen für Autobahnein- und -ausfahrten gehören, die z. B. eine Verzögerungsspur für eine Ausfahrtrampe oder gestrichelte Linien anzeigen, die darauf hinweisen, dass ein Fahrstreifen nur zum Abbiegen dient oder dass der Fahrstreifen endet. Die Markierungen können außerdem eine Arbeitszone, eine vorübergehende Fahrstreifenverlegung, einen Fahrweg durch eine Kreuzung, einen Mittelstreifen, ein Sonderfahrstreifen (z. B. für Fahrräder, Fahrgemeinschaften oder Busse usw.) oder sonstige Markierungen (z. B. Fußgängerüberweg, Bodenschwelle, Bahnübergang, Haltelinie usw.) anzeigen.
  • Das Fahrzeug 200 kann Kameras, wie z. B. die in der Bilderfassungseinheit 120 enthaltenen Bildaufnahmevorrichtungen 122 und 124, verwenden, um Bilder der umgebenden Fahrstreifenmarkierungen zu erfassen. Das Fahrzeug 200 kann die Bilder analysieren, um basierend auf Merkmalen, die in einem oder mehreren der aufgenommenen Bilder identifiziert wurden, Punktpositionen zu erkennen, die den Fahrstreifenmarkierungen zugeordnet sind. Diese Punktpositionen können auf einen Server hochgeladen werden, um die Fahrstreifenmarkierungen in der dünnbesetzten Karte 800 darzustellen. Je nach Position und Sichtfeld der Kamera können Fahrstreifenmarkierungen für beide Seiten des Fahrzeugs gleichzeitig in einem einzigen Bild erfasst werden. In anderen Ausführungsformen können verschiedene Kameras verwendet werden, um Bilder auf mehreren Seiten des Fahrzeugs aufzunehmen. Anstatt tatsächliche Bilder der Fahrstreifenmarkierungen 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 die Daten, die durch das Fahrzeug aus der Ferne hochgeladen werden müssen, reduziert werden.
  • 24A-24D veranschaulichen beispielhafte Punktpositionen, die durch das Fahrzeug 200 erfasst werden können, um bestimmte Fahrstreifenmarkierungen darzustellen. Ähnlich wie bei den oben beschriebenen Orientierungspunkten kann das Fahrzeug 200 verschiedene Bilderkennungsalgorithmen oder -software verwenden, um Punktpositionen innerhalb eines aufgenommenen Bildes zu identifizieren. Zum Beispiel kann das Fahrzeug 200 eine Reihe von Randpunkten, Eckpunkten oder verschiedenen anderen Punkten erkennen, die einer bestimmten Fahrstreifenmarkierung zugeordnet sind. 24A zeigt eine durchgehende Fahrstreifenmarkierung 2410, die durch das Fahrzeug 200 erfasst werden kann. Die Fahrstreifenmarkierung 2410 kann den äußeren Rand einer Straße darstellen, der durch eine durchgehende weiße Linie repräsentiert wird. Wie in 24A gezeigt, kann das Fahrzeug 200 dazu ausgelegt sein, eine Vielzahl von Randpositionspunkten 2411 entlang der Fahrstreifenmarkierung zu erfassen. Positionspunkte 2411 können gesammelt werden, um die Fahrstreifenmarkierung in beliebigen Abständen darzustellen, die ausreichen, um eine kartierte Fahrstreifenmarkierung in der dünnbesetzten Karte zu erstellen. Die Fahrstreifenmarkierung kann beispielsweise durch einen Punkt pro Meter des erfassten Randes, einen Punkt alle fünf Meter des erfassten Randes oder in anderen geeigneten Abständen dargestellt werden. In einigen Ausführungsformen kann der Abstand durch andere Faktoren als durch festgelegte Intervalle ermittelt werden, z. B. basierend auf Punkten, bei denen das Fahrzeug 200 das höchste Vertrauen in die Position der erfassten Punkte hat. Obwohl in 24A die Randpositionspunkte an einer Innenkante der Fahrstreifenmarkierung 2410 dargestellt sind, können die Punkte auch an der Außenkante der Linie oder entlang beider Kanten gesammelt werden. Obwohl in 24A eine einzelne Linie dargestellt ist, können ähnliche Kantenpunkte auch bei einer doppelten durchgehenden Linie erfasst werden. Beispielsweise können die Punkte 2411 entlang einer Kante einer oder beider der durchgehenden Linien erfasst werden.
  • Das Fahrzeug 200 kann auch Fahrstreifenmarkierungen je nach Art oder Form der Fahrstreifenmarkierung unterschiedlich darstellen. 24B zeigt ein Beispiel für eine gestrichelte Fahrstreifenmarkierung 2420, die durch das Fahrzeug 200 erfasst werden kann. Anstatt Randpunkte wie in 24A zu identifizieren, kann das Fahrzeug eine Reihe von Eckpunkten 2421 erfassen, die die Ecken der Fahrstreifen darstellen, um die gesamte Begrenzung des Striches zu definieren. Obwohl in 24B jede Ecke einer bestimmten Strichmarkierung lokalisiert wird, kann das Fahrzeug 200 eine Teilmenge der in der Figur gezeigten Punkte erfassen oder hochladen. Beispielsweise kann das Fahrzeug 200 die Vorderkante oder die vordere Ecke einer bestimmten Strichmarkierung oder die beiden Eckpunkte, die dem Inneren des Fahrstreifens am nächsten liegen, erfassen. Darüber hinaus kann nicht jede Strichmarkierung erfasst werden, z. B. kann das Fahrzeug 200 Punkte erfassen und/oder aufzeichnen, die eine Stichprobe 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 ebenfalls für ähnliche Fahrstreifenmarkierungen erfasst werden, wie z. B. Markierungen, die anzeigen, dass ein Fahrstreifen für eine Ausfahrtrampe bestimmt ist, dass ein bestimmter Fahrstreifen endet, oder andere verschiedene Fahrstreifenmarkierungen, die erkennbare Eckpunkte aufweisen können. Eckpunkte können auch für Fahrstreifenmarkierungen erfasst werden, die aus doppelt gestrichelten Linien oder einer Kombination aus durchgehenden und gestrichelten Linien bestehen.
  • In einigen Ausführungsformen können die Punkte, die auf den Server hochgeladen werden, um die kartierten Fahrstreifenmarkierungen zu erzeugen, andere Punkte als die erfassten Kanten- oder Eckpunkte darstellen. 24C zeigt eine Reihe von Punkten, die eine Mittellinie einer bestimmten Fahrstreifenmarkierung darstellen können. Zum Beispiel kann ein durchgehender Fahrstreifen 2410 durch Mittellinienpunkte 2441 entlang einer Mittellinie 2440 der Fahrstreifenmarkierung dargestellt werden. In einigen Ausführungsformen kann das Fahrzeug 200 dazu ausgelegt sein, diese Mittelpunkte mithilfe verschiedener Bilderkennungstechniken zu erfassen, wie z. B. neuronaler Faltungsnetze (Convolutional Neural Networks, CNN), maßstabsinvarianter Merkmalstransformation (Scale-Invariant Feature Transform, SIFT), Histogramm ausgerichteter Gradienten (Histogram of Oriented Gradients, HOG) oder anderer Verfahren. Alternativ kann das Fahrzeug 200 auch andere Punkte erfassen, wie z. B. die in 24A dargestellten Kantenpunkte 2411, und die Mittellinienpunkte 2441 berechnen, indem es beispielsweise Punkte entlang jeder Kante erfasst und einen Mittelpunkt zwischen den Kantenpunkten ermittelt. In ähnlicher Weise kann die gestrichelte Fahrstreifenmarkierung 2420 durch Mittellinienpunkte 2451 entlang einer Mittellinie 2450 der Fahrstreifenmarkierung dargestellt werden. Die Mittellinienpunkte können sich wie in 24C gezeigt am Rand eines Strichs oder an verschiedenen anderen Stellen entlang der Mittellinie befinden. Beispielsweise kann jeder Strich durch einen einzigen Punkt in der geometrischen Mitte des Strichs dargestellt werden. Die Punkte können auch in einem vorgegebenen Intervall entlang der Mittellinie angeordnet sein (z. B. alle Meter, 5 Meter, 10 Meter usw.). Die Mittellinienpunkte 2451 können direkt durch das Fahrzeug 200 erfasst oder basierend auf anderen erfassten Referenzpunkten, wie z. B. Eckpunkten 2421, berechnet werden, wie in 24B gezeigt. Eine Mittellinie kann auch dazu verwendet werden, andere Fahrstreifenmarkierungsarten wie z.B. eine Doppellinie darzustellen,, wobei ähnliche Techniken wie oben angewandt werden.
  • In einigen Ausführungsformen kann das Fahrzeug 200 Punkte identifizieren, die andere Merkmale darstellen, z. B. einen Scheitelpunkt zwischen zwei sich schneidenden Fahrstreifenmarkierungen. 24D zeigt beispielhafte Punkte, die einen Schnittpunkt zwischen zwei Fahrstreifenmarkierungen 2460 und 2465 darstellen. Das Fahrzeug 200 kann einen Scheitelpunkt 2466 berechnen, der einen Schnittpunkt zwischen den beiden Fahrstreifenmarkierungen darstellt. Beispielsweise kann eine der Fahrstreifenmarkierungen 2460 oder 2465 einen Bahnübergang oder einen anderen Kreuzungsbereich auf dem Straßensegment darstellen. Die Fahrstreifenmarkierungen 2460 und 2465 sind zwar so dargestellt, dass sie sich im rechten Winkel kreuzen, es können aber auch andere Ausbildungen erfasst werden. Beispielsweise können sich die Fahrstreifenmarkierungen 2460 und 2465 unter anderen Winkeln kreuzen, oder eine oder beide Fahrstreifenmarkierungen können am Scheitelpunkt 2466 enden. Ähnliche Techniken können auch für Überschneidungen zwischen gestrichelten oder anderen Fahrstreifenmarkierungen angewendet werden. Zusätzlich zum Scheitelpunkt 2466 können auch verschiedene andere Punkte 2467 erfasst werden, die weitere Informationen über die Ausrichtung der Fahrstreifenmarkierungen 2460 und 2465 liefern.
  • Das Fahrzeug 200 kann jedem erfassten Punkt der Fahrstreifenmarkierung Koordinaten der realen Welt zuordnen. Beispielsweise können Positionskennungen einschließlich der Koordinaten für jeden Punkt erzeugt werden, die auf einen Server hochgeladen werden, um die Fahrstreifenmarkierung zu kartieren. Die Positionskennungen können auch andere Informationen zur Identifizierung der Punkte enthalten, z. B. ob der Punkt einen Eckpunkt, einen Kantenpunkt, einen Mittelpunkt usw. darstellt. Das Fahrzeug 200 kann daher dazu ausgelegt sein, basierend auf der Analyse der Bilder die tatsächliche Position jedes Punktes zu ermitteln. Das Fahrzeug 200 kann zum Beispiel andere Merkmale im Bild erkennen, wie die verschiedenen oben beschriebenen Orientierungspunkte, um die Position der Fahrstreifenmarkierungen in der realen Welt zu ermitteln. Dies kann die Ermittlung der Position der Fahrstreifenmarkierungen im Bild in Bezug auf den erfassten Orientierungspunkt oder die Ermittlung der Position des Fahrzeugs basierend auf dem erfassten Orientierungspunkt und die anschließende Ermittlung des Abstands zwischen dem Fahrzeug (oder der Sollbewegungsbahn des Fahrzeugs) und der Fahrstreifenmarkierung beinhalten. Ist kein Orientierungspunkt vorhanden, kann die Position der Fahrstreifenmarkierungspunkte in Bezug auf eine Position des Fahrzeugs ermittelt werden, die mittels Koppelnavigation ermittelt wurde. Die in den Positionskennungen enthaltenen Koordinaten der realen Welt können als absolute Koordinaten (z. B. Breiten-/Längenkoordinaten) oder relativ zu anderen Merkmalen dargestellt werden, z. B. basierend auf einer Längsposition entlang einer Sollbewegungsbahn und einer seitlichen Entfernung von der Sollbewegungsbahn. Die Positionskennungen können dann auf einen Server hochgeladen werden, um die kartierten Fahrstreifenmarkierungen im Navigationsmodell (z. B. die dünnbesetzte Karte 800) zu erzeugen. In einigen Ausführungsformen kann der Server einen Spline konstruieren, der die Fahrstreifenmarkierungen eines Straßensegments 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 ein entsprechendes Straßensegment, das kartierte Fahrstreifenmarkierungen enthält. Die dünnbesetzte Karte kann eine Sollbewegungsbahn 2475 enthalten, der ein Fahrzeug auf einem Straßensegment folgen soll. Wie oben beschrieben, kann die Sollbewegungsbahn 2475 einen idealen Weg für ein Fahrzeug auf dem entsprechenden Straßensegment darstellen oder anderswo auf der Straße (z. B. auf der Mittellinie der Straße usw.) liegen. Die Sollbewegungsbahn 2475 kann mit den verschiedenen oben beschriebenen Verfahren berechnet werden, z. B. basierend auf einer Aggregation (z. B. einer gewichteten Kombination) von zwei oder mehr rekonstruierten Bewegungsbahnen von Fahrzeugen, die auf demselben Straßensegment fahren.
  • In einigen Ausführungsformen kann die Sollbewegungsbahn für alle Fahrzeugarten und für alle Straßen-, Fahrzeug- und/oder Umgebungsbedingungen gleichermaßen erstellt werden. In anderen Ausführungsformen können jedoch auch verschiedene andere Faktoren oder Variablen bei der Erstellung der Sollbewegungsbahn berücksichtigt werden. Für unterschiedliche Fahrzeugarten (z. B. einen Pkw, einen Kleinlastwagen und einen voll beladenen Anhänger) kann eine unterschiedliche Sollbewegungsbahn erstellt werden. Beispielsweise kann für einen kleinen Pkw eine Sollbewegungsbahn mit relativ engeren Kurvenradien als für einen größeren Sattelschlepper erzeugt werden. In einigen Ausführungsformen können auch Straßen-, Fahrzeug- und Umweltbedingungen berücksichtigt werden. Beispielsweise kann 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, restliche Kraftstoffmenge usw.) oder Umgebungsfaktoren (z. B. Tageszeit, Sicht, Wetter usw.) eine unterschiedliche Sollbewegungsbahn erstellt werden. Die Sollbewegungsbahn kann auch von einem oder mehreren Aspekten oder Merkmalen eines bestimmten Straßensegments (z. B. Geschwindigkeitsbegrenzung, Häufigkeit und Größe von Kurven, Steigung usw.) abhängen. In einigen Ausführungsformen können auch verschiedene Benutzereinstellungen zur Ermittlung der Sollbewegungsbahn herangezogen werden, wie z. B. ein eingestellter Fahrmodus (z. B. gewünschte Fahraggressivität, Sparmodus usw.).
  • Die dünnbesetzte Karte kann auch kartierte Fahrstreifenmarkierungen 2470 und 2480 enthalten, die Fahrstreifenmarkierungen entlang des Straßensegments darstellen. Die kartierten Fahrstreifenmarkierungen können durch eine Vielzahl von Positionskennungen 2471 und 2481 dargestellt werden. Wie oben beschrieben, können die Positionskennungen die Positionen in Koordinaten der realen Welt von Punkten enthalten, die einer erfassten Fahrstreifenmarkierung zugeordnet sind. Ähnlich wie die Sollbewegungsbahn im Modell können die Fahrstreifenmarkierungen auch Höhendaten enthalten und als Kurve im dreidimensionalen Raum dargestellt sein. Bei der Kurve kann es sich beispielsweise um einen Spline handeln, der dreidimensionale Polynome geeigneter Ordnung verbindet, und die Kurve kann basierend auf den Positionskennungen berechnet werden. Die kartierten Fahrstreifenmarkierungen können auch andere Informationen oder Metadaten über die Fahrstreifenmarkierung enthalten, wie z.B. eine Kennung für die Art der Fahrstreifenmarkierung (z. B. zwischen zwei Fahrstreifen mit derselben Fahrtrichtung, zwischen zwei Fahrstreifen mit entgegengesetzter Fahrtrichtung, am Rand einer Fahrbahn usw.) und/oder andere Merkmale der Fahrstreifenmarkierung (z. B. durchgehend, gestrichelt, einlinig, doppellinig, gelb, weiß usw.). In einigen Ausführungsformen können die kartierten Fahrstreifenmarkierungen innerhalb des Modells kontinuierlich aktualisiert werden, z. B. durch Crowdsourcing-Techniken. Ein und dasselbe Fahrzeug kann bei mehreren Fahrten auf demselben Straßensegment Positionskennungen hochladen, oder es können Daten aus einer Vielzahl von Fahrzeugen (z. B. 1205, 1210, 1215, 1220 und 1225) ausgewählt werden, die auf dem Straßensegment zu unterschiedlichen Zeiten fahren. Die dünnbesetzte Karte 800 kann dann basierend auf den aus den Fahrzeugen empfangenen und im System gespeicherten Positionskennungen aktualisiert oder verfeinert werden. Wenn die kartierten Fahrstreifenmarkierungen aktualisiert und verfeinert werden, kann das aktualisierte Straßennavigationsmodell und/oder die dünnbesetzte Karte an eine Vielzahl autonomer Fahrzeuge verteilt werden.
  • Die Erzeugung der kartierten Fahrstreifenmarkierungen in der dünnbesetzten Karte kann auch die Erkennung und/oder Abschwächung von Fehlern basierend auf Anomalien in den Bildern oder in den tatsächlichen Fahrstreifenmarkierungen selbst beinhalten. 24F zeigt ein Beispiel für eine Anomalie 2495 mit Zuordnung zur Erkennung einer Fahrstreifenmarkierung 2490. Die Anomalie 2495 kann in dem durch das Fahrzeug 200 aufgenommenen Bild erscheinen, z. B. durch ein Objekt, das die Sicht der Kamera auf die Fahrstreifenmarkierung behindert, durch Schmutz auf dem Objektiv usw. In einigen Fällen kann die Anomalie auf die Fahrstreifenmarkierung selbst zurückzuführen sein, die beschädigt oder abgenutzt oder teilweise z. B. durch Schmutz, Schutt, Wasser, Schnee oder andere Materialien auf der Straße verdeckt sein kann. Die Anomalie 2495 kann dazu führen, dass ein fehlerhafter Punkt 2491 durch das Fahrzeug 200 erfasst wird. Die dünnbesetzte Karte 800 kann die korrekte kartierte Fahrstreifenmarkierung 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 erfassten Fahrstreifenmarkierungspunkte vor und nach der Anomalie erkennen. Basierend auf der Erkennung der Anomalie kann das Fahrzeug den Punkt 2491 auslassen oder so anpassen, dass er mit anderen erfassten Punkten übereinstimmt. In anderen Ausführungsformen kann der Fehler korrigiert werden, nachdem der Punkt hochgeladen wurde, z. B. indem festgestellt wird, dass der Punkt außerhalb eines erwarteten Schwellenwerts liegt, und zwar basierend auf anderen Punkten, die während derselben Fahrt hochgeladen wurden, oder basierend auf einer Zusammenstellung von Daten aus früheren Fahrten auf demselben Straßensegment.
  • Die kartierten Fahrstreifenmarkierungen im Navigationsmodell und/oder in der dünnbesetzten Karte können auch zur Navigation eines autonomen Fahrzeugs verwendet werden, das auf der entsprechenden Straße fährt. Beispielsweise kann ein Fahrzeug, das entlang einer Sollbewegungsbahn navigiert, regelmäßig die kartierten Fahrstreifenmarkierungen in der dünnbesetzten Karte verwenden, um sich an der Sollbewegungsbahn auszurichten. Wie bereits erwähnt, kann das Fahrzeug zwischen den Orientierungspunkten basierend auf Koppelnavigation navigieren, bei der das Fahrzeug seine Egobewegung mithilfe von Sensoren ermittelt und seine Position in Bezug auf die Sollbewegungsbahn schätzt. Im Laufe der Zeit können sich Fehler häufen, und die Positionsbestimmung des Fahrzeugs relativ zur Sollbewegungsbahn wird immer ungenauer. Dementsprechend kann das Fahrzeug die in der dünnbesetzten Karte 800 vorkommenden Fahrstreifenmarkierungen (und ihre bekannten Positionen) dazu verwenden, die durch Koppelnavigation verursachten Fehler bei der Positionsbestimmung zu verringern. Auf diese Weise können die identifizierten Fahrstreifenmarkierungen, die in der dünnbesetzten Karte 800 enthalten sind, als Navigationsanker dienen, anhand derer eine genaue Position des Fahrzeugs relativ zu einer Sollbewegungsbahn ermittelt werden kann.
  • 25A zeigt ein beispielhaftes Bild 2500 der Umgebung eines Fahrzeugs, das für die Navigation basierend auf den kartierten Fahrstreifenmarkierungen verwendet werden kann. Das Bild 2500 kann z. B. durch das Fahrzeug 200 über die in der Bilderfassungseinheit 120 enthaltenen Bildaufnahmevorrichtungen 122 und 124 aufgenommen werden. Das Bild 2500 kann ein Bild von mindestens einer Fahrstreifenmarkierung 2510 enthalten, wie in 25A gezeigt. Das Bild 2500 kann auch einen oder mehrere Orientierungspunkte 2521, wie z. B. ein Straßenschild, enthalten, die wie oben beschrieben für die Navigation verwendet werden. Einige der in 25A gezeigten Elemente, wie z. B. die Elemente 2511, 2530 und 2520, die nicht in dem aufgenommenen Bild 2500 erscheinen, aber durch das Fahrzeug 200 erfasst und/oder ermittelt werden, sind ebenfalls als Referenz dargestellt.
  • Unter Verwendung der verschiedenen Techniken, die oben mit Bezug auf 24A-D und 24F beschrieben wurden, kann ein Fahrzeug das Bild 2500 analysieren, um die Fahrstreifenmarkierung 2510 zu identifizieren. Es können verschiedene Punkte 2511 erfasst werden, die den Merkmalen der Fahrstreifenmarkierung im Bild entsprechen. Die Punkte 2511 können zum Beispiel einer Kante der Fahrstreifenmarkierung, einer Ecke der Fahrstreifenmarkierung, einem Mittelpunkt der Fahrstreifenmarkierung, einem Scheitelpunkt zwischen zwei sich schneidenden Fahrstreifenmarkierungen oder verschiedenen anderen Merkmalen oder Orten entsprechen. Die Punkte 2511 können so erfasst werden, dass sie einer Position von Punkten entsprechen, die in einem aus einem Server empfangenen Navigationsmodell gespeichert sind. Wenn zum Beispiel eine dünnbesetzte Karte empfangen wird, die Punkte enthält, die eine Mittellinie einer kartierten Fahrstreifenmarkierung darstellen, können Punkte 2511 auch basierend auf einer Mittellinie der Fahrstreifenmarkierung 2510 erfasst werden.
  • Das Fahrzeug kann auch eine Längsposition ermitteln, die durch das Element 2520 dargestellt wird und sich entlang einer Sollbewegungsbahn befindet. Die Längsposition 2520 kann beispielsweise aus dem Bild 2500 ermittelt werden, indem der Orientierungspunkt 2521 im Bild 2500 erfasst und die gemessene Position mit der bekannten Position des Orientierungspunkts verglichen wird, die im Straßenmodell oder in der dünnbesetzten Karte 800 gespeichert ist. Die Position des Fahrzeugs entlang einer Sollbewegungsbahn kann dann basierend auf der Entfernung zum Orientierungspunkt und der bekannten Position des Orientierungspunkts ermittelt werden. Die Längsposition 2520 kann auch aus anderen Bildern als denen, die zur Ermittlung der Position einer Fahrstreifenmarkierung verwendet werden, ermittelt werden. Beispielsweise kann die Längsposition 2520 durch Erfassen von Orientierungspunkten in Bildern anderer Kameras innerhalb der Bilderfassungseinheit 120 ermittelt werden, die gleichzeitig oder nahezu gleichzeitig mit Bild 2500 aufgenommen wurden. In manchen Fällen befindet sich das Fahrzeug nicht in der Nähe von Orientierungspunkten oder anderen Bezugspunkten zum Ermitteln der Längsposition 2520. In solchen Fällen kann das Fahrzeug mittels Koppelnavigation navigieren und daher Sensoren verwenden, um seine Egobewegung zu ermitteln und eine Längsposition 2520 relativ zur Sollbewegungsbahn zu schätzen. Das Fahrzeug kann auch eine Entfernung 2530 ermitteln, die den tatsächlichen Abstand zwischen dem Fahrzeug und der Fahrstreifenmarkierung 2510 darstellt, die in dem/den aufgenommenen Bild(ern) beobachtet wurde. Bei der Ermittlung der Entfernung 2530 können der Kamerawinkel, die Geschwindigkeit des Fahrzeugs, die Breite des Fahrzeugs oder verschiedene andere Faktoren berücksichtigt werden.
  • 25B zeigt eine seitliche Lokalisierungskorrektur des Fahrzeugs basierend auf den kartierten Fahrstreifenmarkierungen in einem Straßennavigationsmodell. Wie oben beschrieben, kann das Fahrzeug 200 eine Entfernung 2530 zwischen dem Fahrzeug 200 und einer Fahrstreifenmarkierung 2510 anhand eines oder mehrerer durch das Fahrzeug 200 aufgenommener Bilder ermitteln. Das Fahrzeug 200 kann auch auf ein Straßennavigationsmodell zugreifen, wie z. B. die dünnbesetzte Karte 800, die eine kartierte Fahrstreifenmarkierung 2550 und eine Sollbewegungsbahn 2555 enthalten kann. Die kartierte Fahrstreifenmarkierung 2550 kann mit den oben beschriebenen Techniken modelliert sein, z. B. unter Verwendung von Positionskennungen, die durch Crowdsourcing aus einer Vielzahl von Fahrzeugen erfasst wurden. Die Sollbewegungsbahn 2555 kann auch mit den zuvor beschriebenen Techniken erstellt werden. Das Fahrzeug 200 kann auch eine Längsposition 2520 entlang der Sollbewegungsbahn 2555 ermitteln oder schätzen, wie oben mit Bezug auf 25A beschrieben. Das Fahrzeug 200 kann dann eine erwartete Entfernung 2540 ermitteln, die auf einem seitlichen Abstand zwischen der Sollbewegungsbahn 2555 und der kartierten Fahrstreifenmarkierung 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 der aufgenommenen Bilder gemessen wurde, mit dem erwarteten Abstand 2540 aus dem Modell verglichen wird.
  • 26A ist ein Flussdiagramm, das ein Beispiel für einen Prozess 2600A zum Abbilden einer Fahrstreifenmarkierung zur Verwendung bei der autonomen Fahrzeugnavigation in Übereinstimmung mit den offenbarten Ausführungsformen zeigt. In Schritt 2610 kann der Prozess 2600A den Empfang von zwei oder mehr Positionskennungen beinhalten, die einer erfassten Fahrstreifenmarkierung zugeordnet sind. Der Schritt 2610 kann beispielsweise durch den Server 1230 oder einen oder mehrere dem Server zugeordneten Prozessoren durchgeführt werden. Die Positionskennungen können Positionen in Koordinaten der realen Welt von Punkten enthalten, die der erfassten Fahrstreifenmarkierung zugeordnet sind, wie oben mit Bezug auf 24E beschrieben. In einigen Ausführungsformen können die Positionskennungen auch andere Daten enthalten, z.B. zusätzliche Informationen über das Straßensegment oder die Fahrstreifenmarkierung. In Schritt 2610 können auch zusätzliche Daten empfangen werden, z. B. Beschleunigungsmesserdaten, Geschwindigkeitsdaten, Daten von Orientierungspunkten, Daten zur Straßengeometrie oder zum Straßenprofil, Daten zur Fahrzeugpositionierung, Daten zur Egobewegung oder verschiedene andere oben beschriebene Datenarten. Die Positionskennungen können durch ein Fahrzeug, wie z. B. die Fahrzeuge 1205, 1210, 1215, 1220 und 1225, basierend auf den durch das Fahrzeug aufgenommenen Bildern erzeugt werden. Die Kennungen können beispielsweise basierend auf der Erfassung mindestens eines Bildes, das für die Umgebung des Host-Fahrzeugs repräsentativ ist, durch eine dem Host-Fahrzeug zugeordnete Kamera, der Analyse des mindestens einen Bildes zur Erfassung der Fahrstreifenmarkierung in der Umgebung des Host-Fahrzeugs und der Analyse des mindestens einen Bildes zur Ermittlung der Position der erfassten Fahrstreifenmarkierung in Bezug auf eine dem Host-Fahrzeug zugeordnete Position ermittelt werden. Wie oben beschrieben, kann die Fahrstreifenmarkierung eine Vielzahl verschiedener Markierungsarten enthalten, und die Positionskennungen können einer Vielzahl von Punkten relativ zur Fahrstreifenmarkierung entsprechen. Wenn die erfasste Fahrstreifenmarkierung beispielsweise Teil einer gestrichelten Linie ist, die eine Fahrstreifenbegrenzung markiert, können die Punkte den erfassten Ecken der Fahrstreifenmarkierung entsprechen. Wenn die erfasste Fahrstreifenmarkierung Teil einer durchgehenden Linie ist, die eine Fahrstreifenbegrenzung markiert, können die Punkte einer erfassten Kante der Fahrstreifenmarkierung mit verschiedenen Abständen wie oben beschrieben entsprechen. In einigen Ausführungsformen können die Punkte der Mittellinie, wie in 24C gezeigt, der erfassten Fahrstreifenmarkierung entsprechen oder sie können, wie in 24D gezeigt, einem Scheitelpunkt zwischen zwei sich kreuzenden Fahrstreifenmarkierungen und mindestens zwei weiteren Punkten entsprechen, die den sich kreuzenden Fahrstreifenmarkierungen zugeordnet sind.
  • In Schritt 2612 kann der Prozess 2600A die Zuordnung der erfassten Fahrstreifenmarkierung zu einem entsprechenden Straßensegment beinhalten. Beispielsweise kann der Server 1230 die Koordinaten der realen Welt oder andere in Schritt 2610 empfangene Informationen analysieren und die Koordinaten oder andere Informationen mit den in einem Straßennavigationsmodell für autonome Fahrzeuge gespeicherten Positionsinformationen vergleichen. Der Server 1230 kann ein Straßensegment im Modell ermitteln, das dem realen Straßensegment entspricht, auf dem die Fahrstreifenmarkierung erfasst wurde.
  • In Schritt 2614 kann der Prozess 2600A das Aktualisieren eines Straßennavigationsmodells für autonome Fahrzeuge in Bezug auf das entsprechende Straßensegment basierend auf den zwei oder mehr Positionskennungen, die der erfassten Fahrstreifenmarkierung zugeordnet sind, beinhalten. Das Modell für autonome Straßennavigation kann zum Beispiel eine dünnbesetzte Karte 800 sein, und der Server 1230 kann die dünnbesetzte Karte aktualisieren, um eine kartierte Fahrstreifenmarkierung in das Modell aufzunehmen oder anzupassen. Der Server 1230 kann das Modell basierend auf den verschiedenen Verfahren oder Prozessen aktualisieren, die oben mit Bezug auf 24E beschrieben wurden. In einigen Ausführungsformen kann die Aktualisierung des Straßennavigationsmodells für autonome Fahrzeuge die Speicherung eines oder mehrerer Kennungen für die Position der erfassten Fahrstreifenmarkierung in realen Koordinaten umfassen. Das Straßennavigationsmodell für autonome Fahrzeuge kann auch mindestens eine Sollbewegungsbahn enthalten, der ein Fahrzeug entlang des entsprechenden Straßensegments folgen soll, wie in 24E gezeigt.
  • In Schritt 2616 kann der Prozess 2600A die Verteilung des aktualisierten Straßennavigationsmodells für autonome Fahrzeuge an eine Vielzahl von autonomen 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 gezeigt.
  • In einigen Ausführungsformen können die Fahrstreifenmarkierungen unter Verwendung von Daten kartiert werden, die aus einer Vielzahl von Fahrzeugen empfangen wurden, z. B. durch eine Crowdsourcing-Technik, wie oben mit Bezug auf 24E beschrieben. Zum Beispiel kann der Prozess 2600A den Empfang einer ersten Mitteilung aus einem ersten Host-Fahrzeug enthalten, die Positionskennungen enthält, die einer erfassten Fahrstreifenmarkierung zugeordnet sind, und den Empfang einer zweiten Mitteilung aus einem zweiten Host-Fahrzeug enthalten, die zusätzliche Positionskennungen enthält, die der erfassten Fahrstreifenmarkierung zugeordnet sind. Die zweite Mitteilung kann z. B. aus einem nachfolgenden Fahrzeug, das auf demselben Straßensegment fährt, oder aus demselben Fahrzeug bei einer nachfolgenden Fahrt auf demselben Straßensegment empfangen werden. Der Prozess 2600A kann ferner das Verfeinern einer Ermittlung mindestens einer Position, die der erfassten Fahrstreifenmarkierung zugeordnet ist, basierend auf der in der ersten Mitteilung empfangenen Positionskennung und basierend auf der in der zweiten Mitteilung empfangenen zusätzlichen Positionskennung enthalten. Dazu kann die Verwendung eines Durchschnittswerts aus mehreren Positionskennungen und/oder das Herausfiltern von „Geisterkennungen“ gehören, die möglicherweise nicht die tatsächliche Position der Fahrstreifenmarkierung widerspiegeln.
  • 26B ist ein Flussdiagramm, das ein Beispiel für einen Prozess 2600B für die autonome Navigation eines Host-Fahrzeugs auf einem Straßensegment unter Verwendung von kartierten Fahrstreifenmarkierungen zeigt. Der Prozess 2600B kann zum Beispiel durch die Verarbeitungseinheit 110 des autonomen Fahrzeugs 200 durchgeführt werden. In Schritt 2620 kann der Prozess 2600B den Empfang eines Straßennavigationsmodells für autonome Fahrzeuge aus einem serverbasierten System enthalten. In einigen Ausführungsformen kann das Straßennavigationsmodell für autonome Fahrzeuge eine Sollbewegungsbahn für das Host-Fahrzeug entlang des Straßensegments und Positionskennungen enthalten, die einer oder mehreren Fahrstreifenmarkierungen zugeordnet sind, die dem Straßensegment zugeordnet sind. Zum Beispiel kann das Fahrzeug 200 die dünnbesetzte Karte 800 oder ein anderes Straßennavigationsmodell empfangen, das mithilfe des Prozesses 2600A entwickelt wurde. In einigen Ausführungsformen kann die Sollbewegungsbahn zum Beispiel als dreidimensionaler Spline dargestellt werden, wie in 9B gezeigt. Wie oben mit Bezug auf 24A-F beschrieben, können die Positionskennungen die Positionen in realen Koordinaten von Punkten enthalten, die der Fahrstreifenmarkierung zugeordnet sind (z. B. Eckpunkte einer gestrichelten Fahrstreifenmarkierung, Kantenpunkte einer durchgehenden Fahrstreifenmarkierung, Scheitelpunkt zwischen zwei sich kreuzenden Fahrstreifenmarkierungen und andere Punkte, die den sich kreuzenden Fahrstreifenmarkierungen zugeordnet sind, eine der Fahrstreifenmarkierung zugeordnete Mittellinie usw.).
  • In Schritt 2621 kann der Prozess 2600B den Empfang mindestens eines Bildes enthalten, das eine Umgebung des Fahrzeugs darstellt. Das Bild kann aus einer Bildaufnahmevorrichtung des Fahrzeugs empfangen werden, z. B. über die Bildaufnahmevorrichtungen 122 und 124, die in der Bilderfassungseinheit 120 enthalten sind. Das Bild kann ein Bild von einer oder mehreren Fahrstreifenmarkierungen enthalten, ähnlich wie das oben beschriebene Bild 2500.
  • In Schritt 2622 kann der Prozess 2600B das Ermitteln einer Längsposition des Host-Fahrzeugs entlang der Sollbewegungsbahn enthalten. Wie oben mit Bezug auf 25A beschrieben, kann dies basierend auf anderen Informationen im aufgenommenen Bild (z. B. Orientierungspunkten usw.) oder durch Koppelnavigation des Fahrzeugs zwischen den erfassten Orientierungspunkten erfolgen.
  • In Schritt 2623 kann der Prozess 2600B das Ermitteln eines erwarteten seitlichen Abstands zur Fahrstreifenmarkierung basierend auf der ermittelten Längsposition des Host-Fahrzeugs entlang der Sollbewegungsbahn und basierend auf den zwei oder mehr Positionskennungen, die der mindestens einen Fahrstreifenmarkierung zugeordnet sind, enthalten. Beispielsweise kann das Fahrzeug 200 die dünnbesetzte Karte 800 verwenden, um einen erwarteten seitlichen Abstand zur Fahrstreifenmarkierung zu ermitteln. Wie in 25B gezeigt, kann in Schritt 2622 die Längsposition 2520 entlang einer Sollbewegungsbahn 2555 ermittelt werden. Anhand der dünnbesetzten Karte 800 kann das Fahrzeug 200 einen erwarteten Abstand 2540 zur kartierten Fahrstreifenmarkierung 2550 ermitteln, die der Längsposition 2520 entspricht.
  • In Schritt 2624 kann der Prozess 2600B das Analysieren des mindestens einen Bildes enthalten, um die mindestens eine Fahrstreifenmarkierung zu identifizieren. Das Fahrzeug 200 kann beispielsweise verschiedene Bilderkennungstechniken oder -algorithmen verwenden, um die Fahrstreifenmarkierung im Bild zu identifizieren, wie oben beschrieben. Beispielsweise kann die Fahrstreifenmarkierung 2510 durch Bildanalyse des Bildes 2500 erfasst werden, wie in 25A gezeigt.
  • In Schritt 2625 kann der Prozess 2600B das Ermitteln eines tatsächlichen seitlichen Abstands zu der mindestens einen Fahrstreifenmarkierung basierend auf der Analyse des mindestens einen Bildes enthalten. Zum Beispiel kann das Fahrzeug, wie in 25A gezeigt, einen Abstand 2530 ermitteln, der den tatsächlichen Abstand zwischen dem Fahrzeug und der Fahrstreifenmarkierung 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 Ermittlung der Entfernung 2530 berücksichtigt werden.
  • In Schritt 2626 kann der Prozess 2600B das Ermitteln einer autonomen Lenkmaßnahme für das Host-Fahrzeug basierend auf einer Differenz zwischen dem erwarteten seitlichen Abstand zu der mindestens einen Fahrstreifenmarkierung und dem ermittelten tatsächlichen seitlichen Abstand zu der mindestens einen Fahrstreifenmarkierung enthalten. Beispielsweise kann das Fahrzeug 200, wie oben mit Bezug auf 25B beschrieben, den 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 durch das Fahrzeug zu verfolgenden Sollbewegungsbahn hinweisen. Dementsprechend kann das Fahrzeug basierend auf der Differenz eine autonome Lenkmaßnahme oder eine andere autonome Maßnahme ermitteln. Wenn beispielsweise der tatsächliche Abstand 2530 kleiner als der erwartete Abstand 2540 ist, wie in 25B gezeigt, kann das Fahrzeug eine autonome Lenkmaßnahme bestimmen, um das Fahrzeug nach links, von der Fahrstreifenmarkierung 2510 weg, zu lenken. Auf diese Weise kann die Position des Fahrzeugs relativ zur Sollbewegungsbahn korrigiert werden. Der Prozess 2600B kann zum Beispiel dazu verwendet werden, die Navigation des Fahrzeugs zwischen Orientierungspunkten zu verbessern.
  • System zur selektiven Verzögerung an Fahrzeugkreuzungen
  • Die offenbarten Ausführungsformen können Systeme und Verfahren zum Vermeiden von Kollisionen in Fahrzeugkreuzungen umfassen. Zum Beispiel kann ein System Informationen aus der Bilderfassungseinheit 120 und/oder dem Positionssensor 130 (1) eines Host-Fahrzeugs erfassen, um eine Bewegungsbahn des Host-Fahrzeugs und mindestens eines umgebenden Fahrzeugs zu bestimmen. In solchen Ausführungsformen kann die Verarbeitungseinheit 110 die erfassten Informationen verarbeiten, um eine Zeit bis zur Kollision des Host-Fahrzeugs mit einem kreuzenden Fahrzeug zu berechnen, Sollverzögerungen (sowohl für das Host-Fahrzeug als auch für das kreuzende Fahrzeug) zu berechnen und selektive Verzögerungswamungen und/oder automatisierte Bremssignale auszulösen, um die Kollision zu vermeiden. In einigen Ausführungsformen kann das System autonom sein. In anderen Ausführungsformen kann das System halbautonom sein. In wiederum anderen Ausführungsformen kann das System ein fortschrittliches Fahrerassistenzsystem (Advanced Driver-Assistance, ADAS) enthalten.
  • Die Vermeidung von Kollisionen an Fahrzeugkreuzungen, wie z. B. Viererkreuzungen oder Einmündungen, stellt eine Herausforderung dar, da der Vorgang ein Abschätzen der Bewegungsbahn und der zukünftigen Bewegung zweier unabhängiger Fahrzeuge beinhalten kann. Ferner kann es an Fahrzeugkreuzungen unerwünscht sein, ein Host-Fahrzeug, das sich auf Kollisionskurs mit einem anderen Fahrzeug befindet, einfach zu bremsen. So kann es beispielsweise an einer Kreuzung ineffizient sein, das Host-Fahrzeug zu bremsen, weil das Abbremsen zu Staus führen, andere Unfälle (z. B. mit dem ankommenden Verkehr) verursachen, Fahrgäste verletzen oder den Fahrkomfort mindern kann (z. B. wenn die erforderliche Verzögerung zu hoch ist). Stattdessen kann es bei Fahrzeugkreuzungen wünschenswert sein, ein Host-Fahrzeug zu bremsen - oder zu verzögern -, nachdem bewertet wurde, ob das andere Fahrzeug bremsen oder anderweitig von der voraussichtlichen Kollision wegsteuern kann. Das Verzögern des Host-Fahrzeugs (d. h. das selektive Verzögern) basierend auf einer Bewertung der wahrscheinlichen Bewegungsbahn des anderen Fahrzeugs kann das Risiko alternativer Unfälle minimieren und die Insassen beider Fahrzeuge schützen. Darüber hinaus kann das selektive Verzögern des Host-Fahrzeugs zu sichereren Kollisionsvermeidungsmechanismen führen, die auch für die Fahrgäste weniger störend sind und die autonome Fahrzeugnavigation verbessern.
  • Die vorgestellten Systeme und Verfahren befassen sich mit dem Vermeiden von Kollisionen an Fahrzeugkreuzungen, indem sie die Dynamik von Fahrzeugen, die sich einer Kreuzung nähern, auswerten, um zu bestimmen, ob und wann ein Host-Fahrzeug gebremst werden muss. Die beschriebenen Systeme und Verfahren können beispielsweise die selektive Verzögerung eines Fahrzeugs an Kreuzungen erleichtern, indem sie Funktionen verwenden, die basierend auf der Dynamik sowohl des Host-Fahrzeugs als auch des Zielfahrzeugs, die sich einer Kreuzung nähern, Schwellenwerte für die Verzögerung bestimmen. Ferner kann das offenbarte System Sensoren verwenden, um die Dynamik des ankommenden Verkehrs zu erfassen und adaptive Funktionen basierend auf der Dynamik des Host-Fahrzeugs und des Zielfahrzeugs bereitzustellen, um eine schnelle und effiziente Entscheidung darüber zu ermöglichen, wann und wie ein Fahrzeug an einer Fahrzeugkreuzung verzögert werden soll. Darüber hinaus können die offenbarten Systeme und Verfahren die Schwierigkeiten bei der Lösung von Konflikten an Fahrzeugkreuzungen lösen, indem sie die Einschätzung, wann ein Host-Fahrzeug an einer Fahrzeugkreuzung bremsen sollte, um eine Kollision mit einem anderen Fahrzeug zu vermeiden, kontinuierlich aktualisieren.
  • 27 ist eine schematische Darstellung einer Draufsicht auf die Bewegungsbahnen sich kreuzender Fahrzeuge und eine Kollisionsabschätzung in Übereinstimmung mit den offenbarten Ausführungsformen. 27 zeigt ein Host-Fahrzeug 2702 und ein Zielfahrzeug 2708 auf einer sich kreuzenden Bewegungsbahn. In einigen Ausführungsformen kann das System 100 (1) in einem oder mehreren von Host-Fahrzeug 2702 und/oder Zielfahrzeug 2708 enthalten sein. Zum Beispiel kann das Host-Fahrzeug 270 das System 100 enthalten, um automatisierte Navigationsvorgänge (z. B. autonome, halbautonome oder kollisionsvermeidende Vorgänge) durchzuführen.
  • Wie in 27 dargestellt, fahren das Host-Fahrzeug 2702 und das Zielfahrzeug 2708 auf eine Kreuzung zu (z. B. eine Viererkreuzung) und weisen Bewegungsbahnen auf, die zu einer Kollision führen können. Konkret schneiden sich eine Host-Bewegungsbahn 2706 und eine Zielbewegungsbahn 2716 an der Fahrzeugkreuzung, sodass das System 100 eine Kollision zwischen dem Host-Fahrzeug 2702 und dem Zielfahrzeug 2708 abschätzen kann. Während in einigen Ausführungsformen die Kollisionsbestimmung auf physikalischen Grenzen oder radialen Näherungen des Host-Fahrzeugs 2702 und des Zielfahrzeugs 2708 basieren kann, kann in anderen Ausführungsformen (wie in 27 gezeigt) die Kollisionsbestimmung auf Pufferbereichen für das Host-Fahrzeug 2702 und das Zielfahrzeug 2708 basieren. Zu den Pufferbereichen können Bereiche um das Fahrzeug herum gehören, die für größere Toleranzen bei der Kollisionsabschätzung oder der Berechnung der Bewegungsbahn verwendet werden. In einigen Ausführungsformen kann es sinnvoll sein, einen Pufferbereich um ein oder mehrere Fahrzeuge herum festzulegen. Die Pufferbereiche können die für die Kollisionsberechnung verwendete Fläche des Fahrzeugs vergrößern. Während das eigentliche Fahrzeug aufgrund seiner physischen Begrenzung eine Grundfläche einnimmt oder umschließt, kann der Pufferbereich einen größeren Sicherheitsbereich bieten und unterschiedliche Formen (z. B. vorne länglich) aufweisen. Das System 100 kann bei der Berechnung der Zeit bis zur Kollision oder der Kollisionsbewegungsbahn Pufferbereiche verwenden. Anstatt eine voraussichtliche Kollision durch Ermitteln, wann sich Fahrzeugbereiche überschneiden, zu bestimmen, kann das System 100 beispielsweise Pufferbereiche verwenden, um eine sicherere Kollisionsberechnung zu ermöglichen. In einigen Ausführungsformen kann das System 100 bestimmen, dass sich zwei Fahrzeuge auf einem Kollisionspfad befinden, wenn sich ihre Pufferbereiche überschneiden. Da die Pufferbereiche in der Regel größer als die tatsächliche Fahrzeugaufstandsfläche sein können, führt die Verwendung von Pufferbereichen zu konservativen Kollisionsabschätzungen, die die Sicherheit und/oder den Fahrgastkomfort erhöhen.
  • In einigen Ausführungsformen kann das System 100 einen Host-Puffer 2704 und einen Zielpuffer 2710 bestimmen. Wie in 27 dargestellt, kann der Host-Puffer 2704 ein Pufferbereich für das Host-Fahrzeug 2702 sein, während der Zielpuffer 2710 ein dem Zielfahrzeug 2708 zugeordneter Pufferbereich sein kann. In solchen Ausführungsformen kann das System 100 nicht nur feststellen, ob das Host-Fahrzeug 2702 und das Zielfahrzeug 2708 kollidieren könnten, sondern auch einen Pufferraum schaffen, um die Sicherheit oder den Komfort zu erhöhen. Durch Bestimmen, ob eine Kollision zwischen dem Host-Puffer 2704 und dem Zielpuffer 2710 auftreten kann, kann das System 100 die Wahrscheinlichkeit einer Kollision minimieren. In solchen Ausführungsformen kann das System 100 den Host-Puffer 2704 und den Zielpuffer 2710 dynamisch basierend auf der Fahrzeugdynamik, der Fahrzeuggröße und/oder dem Bremsvermögen (z. B. gemäß dem Fahrzeughersteller) zuweisen. In solchen Ausführungsformen kann das System 100 größeren Fahrzeugen, die schwieriger anzuhalten sind, einen größeren Pufferbereich zuweisen, während kleinen Fahrzeugen, die möglicherweise leichter anzuhalten sind, kleinere Pufferbereiche zugewiesen werden. Zusätzlich oder alternativ kann das System 100 schnell fahrenden Fahrzeugen größere Puffer zuweisen (um mögliche Toleranzen oder Fehlermargen zu berücksichtigen), aber die Größe der Pufferbereiche verringern, wenn die Fahrzeuge langsamer werden. Darüber hinaus kann das System 100 Pufferbereiche basierend auf Straßen- oder Umgebungsbedingungen zuweisen oder anpassen. Zum Beispiel kann das System 100 sowohl dem Host-Fahrzeug 2702 als auch dem Zielfahrzeug 2708 größere Pufferbereiche zuweisen, wenn die Straße vereist oder schottrig ist. Die Bestimmung des Host-Puffers 2704 und des Zielpuffers 2710 wird in Verbindung mit 29 näher beschrieben.
  • Das System 100 kann dazu konfigurierbar sein, die Dynamik des Host-Fahrzeugs 2702 und des Zielfahrzeugs 2708 zu erfassen. Wenn das System 100 beispielsweise (z. B. unter Verwendung der Bilderfassungseinheit 120) feststellt, dass sich das Host-Fahrzeug 2702 einer Kreuzung nähert und das Zielfahrzeug 2708 sich auf einem Kollisionspfad befindet, kann das System 100 die Fahrzeugdynamik sowohl für das Host-Fahrzeug 2702 als auch für das Zielfahrzeug 2708 bestimmen. In einigen Ausführungsformen kann die Fahrzeugdynamik eines oder mehr umfassen von Fahrzeugbeschleunigung, Geschwindigkeit und Bewegungsbahn. Zusätzlich oder alternativ kann die Fahrzeugdynamik eines oder mehr umfassen von Fahrzeugimpuls, Bremsvermögen, Lenkbereich, Massenverteilung und/oder Aerodynamik. Darüber hinaus kann in einigen Ausführungsformen die Fahrzeugdynamik des Host-Fahrzeugs 2702 und des Zielfahrzeugs 2708 basierend auf den Umgebungs- und/oder Straßenbedingungen angepasst werden. Beispielsweise kann das System 100 die geschätzte Fahrzeugdynamik basierend auf der Luftfeuchtigkeit, Sicht, Temperatur, einem Fahrbahnprofil (z. B. einer vertikalen Kontur) und/oder einem Fahrbahntraktionskoeffizienten anpassen. In solchen Ausführungsformen kann das System 100 eine Kollisionsbestimmung basierend auf der Fahrzeugdynamik des Host-Fahrzeugs 2702 und Zielfahrzeugs 2708 vornehmen.
  • In einigen Ausführungsformen kann das System 100 auch dazu ausgelegt sein, die Bewegungsbahnen des Host-Fahrzeugs 2702 und des Zielfahrzeugs 2708 basierend auf einer Straßen- und/oder Navigationsanalyse vorherzusagen. Zum Beispiel kann das System 100 die Host-Bewegungsbahn 2706 und die Zielbewegungsbahn 2716 basierend auf einer oder mehreren Straßenkrümmungen, der Form und/oder allgemeinen Straßen- oder Wetterbedingungen bestimmen. Ferner kann das System 100 die Bewegungsbahnen anhand von Navigationsanweisungen und/oder einer Karte bestimmen.
  • Das System 100 kann auch die voraussichtlichen Bewegungsbahnen nach der Kreuzung berechnen. Beispielsweise kann das System 100 im Host-Fahrzeug 2702 eine Host-Bewegungsbahn 2712 und eine Zielbewegungsbahn 2714 nach der Kreuzung bestimmen. Während das System 100 die selektive Verzögerung der Fahrzeuge berechnet (wie in Verbindung mit 29 näher beschrieben), kann das System 100 auch den Weg jedes einzelnen Fahrzeugs nach der Kreuzung abschätzen, um zu beurteilen, ob alternative Aktionen, Verzögerungen oder Lenkungen zum Vermeiden weiterer Kollisionen durchgeführt werden müssen.
  • 28 zeigt eine beispielhafte Kniepunktfunktion 2800 zum Bestimmen der Verzögerungen von kreuzenden Fahrzeugen in Übereinstimmung mit den offenbarten Ausführungsformen. Die Funktion 2800 kann durch das System 100 verwendet werden, um dynamisch einen Schwellenwert für die Verzögerung von Fahrzeugen zu bestimmen und/oder um Warnungen und/oder Bremssignale auszulösen.
  • Um die Herausforderungen beim Vermeiden von Kollisionen an Fahrzeugkreuzungen mit zwei unabhängigen Systemen zu lösen, kann das System 100 Brems- oder Verzögerungsentscheidungen basierend auf der Funktion 2800 treffen. In einigen Ausführungsformen, wie in 28 gezeigt, kann die Funktion 2800 eine Kniepunktfunktion sein. In anderen Ausführungsformen kann die Funktion 2800 jedoch eine andere Art von Funktion sein, wie z. B. eine Polynom- und/oder Exponentialfunktion. In Ausführungsformen, in denen die Funktion 2800 eine Kniepunktfunktion ist, kann sich die Funktion 2800 auf eine Kurvenfunktion beziehen, die durch ein lineares Interpolationsverfahren (z. B. eine Kurvenanpassung) dargestellt wird. Beispielsweise kann die Funktion 2800 eine mehrteilige lineare Funktion sein, die auf Intervallen definiert ist, die „Kniepunkte“ oder „Schlüsselpunkte“ verwenden, um die Funktion in verschiedenen Segmenten zu definieren. Kniepunktfunktionen können durch eine Sammlung von Intervallen definiert werden, von denen jedes eine lineare Funktion enthält. So kann die Funktion 2800 in einigen Ausführungsformen eine Kniepunktfunktion sein, die Liniensegmente und Strahlen enthält, bei denen die Steigungsänderungen Haltepunkte, Änderungspunkte, Schwellenwerte, Kniepunkte oder Knoten sind. Wie in 28 gezeigt, kann die Kniepunktfunktion kontinuierlich sein. In anderen Ausführungsformen kann die Kniepunktfunktion jedoch diskontinuierlich sein.
  • Die Funktion 2800 kann die Verzögerungen sowohl des Host-Fahrzeugs 2702 als auch des Zielfahrzeugs 2708 berücksichtigen, um einen Verzögerungsschwellenwert (z. B. wann eines der Fahrzeuge bremsen sollte) zu ermitteln. Die Funktion 2800 zeigt ein Beispiel für die inverse Korrelation zwischen den Verzögerungen des Zielfahrzeugs und des Host-Fahrzeugs, um zu bestimmen, welches Fahrzeug zuerst bremsen sollte. In einigen Ausführungsformen kann diese inverse Beziehung es dem System 100 ermöglichen, zu bestimmen, welches der beiden Fahrzeuge zuerst verzögern soll, indem die Verzögerung des Fahrzeugs mit der einfacheren Vermeidung gewählt wird. Wenn beispielsweise das Host-Fahrzeug 2702 schneller als das Zielfahrzeug 2708 in die Kreuzung einfährt und eine höhere Verzögerung benötigt, um eine Kollision zu vermeiden, kann das System 100 entscheiden, dass das Zielfahrzeug 2708 zuerst verzögern sollte, und einen höheren Host-Verzögerungsschwellenwert festlegen. Wenn sich das Zielfahrzeug 2708 jedoch schneller als das Host-Fahrzeug 2702 bewegt (und eine hohe Verzögerung benötigt, um eine Kollision zu vermeiden), kann das System 100 einen niedrigeren Schwellenwert für die Host-Verzögerung des Host-Fahrzeugs 2702 festlegen, da es wahrscheinlicher ist, dass das Host-Fahrzeug 2702 verzögern kann, um die Kollision zu vermeiden.
  • Andere Ausführungsformen können eine oder mehrere andere Funktionen zusätzlich oder alternativ zu einer Kniepunktfunktion verwenden. In einigen Ausführungsformen können beispielsweise andere Funktionsarten, wie z. B. eine Exponential- oder Polynomfunktion, verwendet werden. In solchen Ausführungsformen kann die Funktion auch eine Beziehung zwischen den Verzögerungen für das Host-Fahrzeug 2702 und das Zielfahrzeug 2708 herstellen, aber die Beziehung ohne Kniepunktinterpolationen modellieren. Zum Beispiel kann die Beziehung zwischen der Deklaration mit verschiedenen Segmenten von Exponentialfunktionen modelliert werden (z. B. anstelle des linearen Interpolationsverfahrens der Kniepunktfunktion). In solchen Ausführungsformen kann das System 100 die Beziehung zwischen den Verzögerungen unter Verwendung von Segmenten von Exponentialfunktionen bestimmen, die allgemein definiert sind, z. B. als (x + e-at), wobei x den Verzögerungen der Host-Fahrzeuge zugeordnet werden und at eine Abnahmerate zwischen den Verzögerungen der Fahrzeuge herstellen kann. In solchen Ausführungsformen kann das System 100 Verzögerungen von Fahrzeugen zum Erzeugen von benutzerdefinierten Exponentialfunktionen, die die Verzögerungsbeziehung interpolieren. Alternativ oder zusätzlich kann das System 100 den Zusammenhang zwischen den Verzögerungen anhand von Polynomfunktionen modellieren. Beispielsweise kann das System 100 die Beziehung zwischen den Verzögerungen mithilfe von Segmenten von Polynomfunktionen bestimmen, die beispielsweise als axt + byt, definiert sind, wobei a und b Funktionskoeffizienten sind und xt und yt die Beziehung zwischen den Verzögerungen modellieren. In solchen Ausführungsformen kann die Beziehung zwischen den Verzögerungen des Host-Fahrzeugs 2702 und des Zielfahrzeugs 2708 mit stückweisen Polynomfunktionen modelliert werden, die die Fahrzeugverzögerungen zuordnen. Dementsprechend kann das System 100 auch die Polynomfunktionen dazu verwenden, Verzögerungen zwischen Fahrzeugen zuzuordnen, um Verzögerungsschwellenwerte zu bestimmen.
  • Durch die Funktion 2800, die als eine beliebige Kniepunkt-, Exponential- und/oder Polynomfunktion (unter anderem) implementiert ist, kann das System 100 erkennen, wann ein Host-Fahrzeug basierend auf einer erforderlichen Verzögerung des Host-Fahrzeugs 2702 und der Verzögerung des Zielfahrzeugs 2708 verzögert werden muss. Wie in Verbindung mit 29 weiter beschrieben, kann das System 100 die Mindestverzögerung bestimmen, die das Host-Fahrzeug 2702 und das Zielfahrzeug 2708 unabhängig voneinander benötigen, um die Kollision zu vermeiden. Diese unabhängige Mindestverzögerung für die Vermeidung kann in Verbindung mit der Funktion 2800 dazu verwendet werden, die Schwellenverzögerung für das Host-Fahrzeug 2702 zu bestimmen, wann gebremst werden muss und/oder wie stark die Verzögerung sein muss. Die Schwellenverzögerung des Host-Fahrzeugs kann beispielsweise auf der Funktion 2800 zwischen den Mindestverzögerungen des Host-Fahrzeugs 2702 und des Zielfahrzeugs 2708 basieren, die die Kollision vermeiden.
  • Wie in 28 gezeigt, können basierend auf der Funktion 2800 verschiedene Schwellenverzögerungen extrahiert werden. Zum Beispiel kann ein erster Schwellenwert 2810 einer hohen erforderlichen Verzögerung des Host-Fahrzeugs 2702 zugeordnet sein. So kann das System 100 in Situationen, in denen sich das Host-Fahrzeug der Kreuzung mit hoher Geschwindigkeit nähert, (basierend auf der Funktion 2800) einen höheren Verzögerungsschwellenwert, wie beispielsweise den ersten Schwellenwert 2810, festlegen. Im Gegensatz dazu kann das System 100 in Situationen, in denen die erforderliche Verzögerung für das Zielfahrzeug 2708 im Vergleich zum Host-Fahrzeug 2702 sehr hoch ist (z. B. wenn sich das Zielfahrzeug 2708 der Kreuzung mit hoher Geschwindigkeit nähert), einen niedrigen dritten Schwellenwert 2814 für das Host-Fahrzeug 2702 festlegen, wodurch es wahrscheinlicher wird, dass das Host-Fahrzeug 2702 vor dem Zielfahrzeug 2708 bremst, um die Kollision zu vermeiden. Wenn sich beispielsweise das Zielfahrzeug 2708 der Kreuzung mit einer höheren Geschwindigkeit als das Host-Fahrzeug 2702 nähert, kann das System 100 feststellen, dass es vorzuziehen ist, die Vorfahrt zu gewähren, und einen niedrigen Verzögerungsschwellenwert festlegen. Durch Einstellen eines niedrigen Verzögerungsschwellenwerts beim dritten Schwellenwert 2814 lässt das System 100 das Host-Fahrzeug 2702 früher verzögern. Wie ebenfalls in 28 gezeigt, kann ein zweiter Schwellenwert 2812 in Fällen erhalten werden, in denen die erforderliche Verzögerung des Host-Fahrzeugs 2702 niedriger als beim ersten Schwellenwert 2810, aber höher als beim dritten Schwellenwert 2814 ist. Für den zweiten Schwellenwert 2812 kann das System 100 eine andere Verzögerung basierend auf den relativen Geschwindigkeiten des Host-Fahrzeugs 2702 und des Zielfahrzeugs 2708 bestimmen.
  • Die in 28 gezeigten Schwellenwertbestimmungen können dynamisch sein und immer wieder neu berechnet werden, wenn sich Fahrzeuge einer Kreuzung nähern. Beispielsweise kann das System 100 den Verzögerungsschwellenwert für das Host-Fahrzeug in aufeinanderfolgenden Iterationen neu berechnen und den mit der Funktion 2800 geschätzten Verzögerungsschwellenwert ändern. Wenn das System 100 anfangs einen hohen Verzögerungsschwellenwert (z. B. den ersten Schwellenwert 2810, da es erwartet, dass das Zielfahrzeug 2708 verzögert) einstellt, das Zielfahrzeug 2708 aber nicht bremst, kann das System 100 den Verzögerungsschwellenwert verringern, wenn sich die Zeit bis zur Kollision verkürzt.
  • 29 ist ein Flussdiagramm, das ein Beispiel für einen Prozess 2900 zur selektiven Verzögerung kreuzender Fahrzeuge in Übereinstimmung mit den offenbarten Ausführungsformen zeigt. In einigen Ausführungsformen, wie weiter unten offenbart, kann das System 100 (1) die Schritte oder Operationen des Prozesses 2900 durchführen. Zum Beispiel können die Verarbeitungseinheit 110, die Bilderfassungseinheit 120 und der Positionssensor 130 einen oder mehrere Schritte des Prozesses 2900 durchführen. Alternativ dazu kann die Verarbeitungseinheit 110 in einigen Ausführungsformen jeden Schritt des Prozesses 2900 durchführen. Darüber hinaus können in bestimmten Ausführungsformen andere Komponenten außerhalb des Systems 100 eine oder mehrere Operationen des Prozesses 2900 durchführen. Wie in Verbindung mit 12 offenbart, kann beispielsweise ein entfernt gelegener Server 1230 mit Fahrzeugen auf einer Straße in Verbindung stehen. In solchen Ausführungsformen kann das Host-Fahrzeug 2702 (27) die erfassten Bilder an den entfernt gelegenen Server 1230 (12) übermitteln, um die Informationen fernzuverarbeiten. In solchen Ausführungsformen können bestimmte Vorgänge des Prozesses 2900 aus der Ferne, von einem Server außerhalb des Systems 100, durchgeführt werden. Die folgende Beschreibung der Schritte stellt jedoch ein Beispiel vor, bei dem das System 100 die Schritte des Prozesses 2900 durchführt.
  • In Schritt 2902 kann das System 100 basierend auf einer Ausgabe aus mindestens einem Sensor des Host-Fahrzeugs 2702 eine oder mehrere Zieldynamiken des Zielfahrzeugs 2708 in einer Umgebung des Host-Fahrzeugs 2702 bestimmen. Wie in Verbindung mit 27 erläutert, kann die Dynamik von Fahrzeugen eines oder mehr von Fahrzeugbeschleunigung, Geschwindigkeit und Bewegungsbahn beinhalten. Zusätzlich oder alternativ kann die Fahrzeugdynamik des Zielfahrzeugs 2708 eines oder mehr von Fahrzeugimpuls, Bremsvermögen, Lenkbereich, Massenverteilung und/oder Aerodynamik beinhalten. Darüber hinaus kann in einigen Ausführungsformen die Fahrzeugdynamik des Zielfahrzeugs 2708 (oder des Host-Fahrzeugs 2702) basierend auf den Umgebungs- und/oder Straßenbedingungen angepasst werden. In Schritt 2902 kann das System 100 zum Beispiel Bilder der Umgebung mit der Bildaufnahmeeinheit 102 aufnehmen. Basierend auf diesen Informationen kann das System 100 eine oder mehrere Dynamiken des Zielfahrzeugs 2708 bestimmen, das sich der Kreuzung nähert. Wie in Verbindung mit 27 weiter beschrieben, kann das System 100 in Schritt 2902 beispielsweise die Beschleunigung, Geschwindigkeit und/oder Richtung des Zielfahrzeugs 2708 bestimmen. In einigen Ausführungsformen kann das System 100 die eine oder mehreren Zieldynamiken durch Berechnen von Differenzen zwischen Bildern berechnen, die beispielsweise durch die Bildaufnahmeeinheit 102 (1) aufgenommen werden. Anhand der Differenzen zwischen den aufgenommenen Bildern kann das System 100 die Dynamik des Zielfahrzeugs 2708 bestimmen. In anderen Ausführungsformen kann das System 100 jedoch andere Sensoren verwenden, um die Bewegung des Zielfahrzeugs 2708 zu erfassen. Das System 100 kann zum Beispiel eine oder mehrere Kameras, ein LIDAR oder ein Radar enthalten und die aus einem oder mehreren Sensoren gesammelten Daten zum Bestimmen einer oder mehrerer Dynamiken verwenden. Beispielsweise kann das System 100 die aus zwei oder mehr dieser mehreren Sensoren gesammelten Daten kombinieren, um eine oder mehrere Dynamiken zu bestimmen.
  • In Schritt 2904 kann das System 100 basierend auf einer oder mehreren Host-Dynamiken des Host-Fahrzeugs 2702 und der einen oder mehreren Zieldynamiken (bestimmt in Schritt 2902) eine Zeit bis zu einer Kollision bestimmen. Die eine oder mehreren Host-Dynamiken können aus einem Computer im Host-Fahrzeug 2702 oder direkt aus Sensoren im Host-Fahrzeug 2702 gesammelt werden. In Schritt 2904 kann die Verarbeitungseinheit 110 (1) beispielsweise mit dem Geschwindigkeits- und Beschleunigungsmodul 406 (4) kommunizieren, um die Geschwindigkeit und/oder Beschleunigung des Host-Fahrzeugs 2702 zu bestimmen. Alternativ oder zusätzlich kann die Verarbeitungseinheit 110 mit dem Navigationsreaktionsmodul 408 (4) kommunizieren, um die Beschleunigung, Geschwindigkeit und/oder Richtung des Host-Fahrzeugs 2702 zu bestimmen. Darüber hinaus kann das System 100 in einigen Ausführungsformen die Dynamik des Host-Fahrzeugs 2702 basierend auf der Analyse des Stereobildanalysemoduls 404 (4) bestimmen. Als alternatives Beispiel kann das System 100 in Schritt 2904 mit verschiedenen Sensoren und Komponenten kommunizieren, die im Host-Fahrzeug 2702 enthalten sind, einschließlich der Kommunikationseinheit 1705, der GPS-Einheit 2315, der Kamera 122, des Geschwindigkeitssensors 2320, des Beschleunigungsmessers 2325 und des Straßenprofilsensors 2330 (23), um die Host-Dynamik zu bestimmen. Darüber hinaus kann das System 100 die Dynamik des Host-Fahrzeugs 2702 mittels GPS-Daten, Sensordaten (z. B. aus einem Beschleunigungsmesser, einem Geschwindigkeitssensor, einem Federungssensor usw.) und/oder anderer Kartendaten bestimmen, um Informationen über seine Umgebung zu liefern, während das Fahrzeug unterwegs ist, und das Fahrzeug (sowie andere Fahrzeuge) kann diese Informationen zur eigenen Lokalisierung in dem Modell verwenden. Darüber hinaus kann das System 100 in einigen Ausführungsformen die Host-Dynamik aus einer systemfremden Vorrichtung, wie z. B. dem Server 1230 (12), anfordern.
  • Basierend auf der Dynamik des Host- und Zielfahrzeugs kann das System 100 eine Zeit bis zur Kollision (TTC) (d. h. den Zeitpunkt, an dem die Fahrzeuge kollidieren, wenn sie mit ihrer derzeitigen Geschwindigkeit und auf demselben Weg weiterfahren) bestimmen. In solchen Ausführungsformen kann das System 100 Bewegungsbahnen extrapolieren und basierend auf der Geschwindigkeit und Beschleunigung einen Zeitpunkt und eine Position der Kollision bestimmen. Zusätzlich oder alternativ kann das System 100 die Zeit bis zur Kollision anhand von Algorithmen bestimmen, die die Fahrzeugaufstandsflächen oder -bereiche mit geometrischen Formen wie Kreisen, Rechtecken und/oder zusammengesetzten Figuren (z. B. Ellipsen-Rechtecke) modellieren. Beispielsweise kann das System 100 einen Kreisalgorithmus verwenden, um eine TTC zu bestimmen, wenn die Abstände zwischen den Mittelpunkten der Kreise unterhalb eines ausgewählten Radius liegen.
  • In einigen Ausführungsformen, wie in Verbindung mit 27 weiter erläutert, kann das System 100 die Zeit bis zur Kollision basierend auf Pufferbereichen bestimmen. Beispielsweise kann das System 100 die Zeit bis zur Kollision anpassen, indem es den Host-Pufferraum (z. B. Host-Puffer 2704) und einen Zielpufferraum (z. B. Zielpuffer 2710) bestimmt, wobei der Host-Pufferraum auf einer Größe des Host-Fahrzeugs 2702 und der Zielpufferraum auf einer Größe des Zielfahrzeugs 2708 basiert. Beispielsweise kann das System 100 den Host-Puffer 2704 und den Zielpuffer 2710 (27) zuordnen und die Zeit bis zur Kollision durch Hochrechnen bestimmen, wann es zu einem Konflikt zwischen den Pufferbereichen kommt. In solchen Ausführungsformen kann das System 100 einen Ellipsen-Rechteck-Algorithmus verwenden, der eine Ellipse zur Darstellung des Host-Fahrzeugs 2702 und ein Rechteck zur Darstellung des Zielfahrzeugs 2708 verwendet. Auf diese Weise kann das System 100 TTC-Bestimmungen vornehmen, die die Richtung berücksichtigen, um asymmetrische Pufferbereiche zu schaffen.
  • In Schritt 2906 kann das System 100 basierend auf der Zeit bis zur Kollision (aus Schritt 2904) und der einen oder mehreren Host-Dynamiken eine Host-Verzögerung für das Host-Fahrzeug 2702 bestimmen, um die Kollision zu vermeiden. In einigen Ausführungsformen kann die Host-Verzögerung eine Mindestverzögerung für das Host-Fahrzeug 2702 sein, um die Kollision zu vermeiden. Beispielsweise kann das System 100 basierend auf der TTC, der Bewegungsbahn und der Host-Dynamik eine unabhängige Verzögerung berechnen, die die Kollision vermeiden würde. In Schritt 2906 kann eine Verzögerung des Host-Fahrzeugs 2702 bestimmt werden, die die Kollision vermeiden würde, wenn das Zielfahrzeug 2708 seine Dynamik nicht ändert. So kann in Schritt 2906 eine unabhängige Verzögerung für das Host-Fahrzeug 2702 bestimmt werden, die die Kollision unabhängig vom Zielfahrzeug 2708 vermeiden würde. Die in Schritt 2906 berechnete Verzögerung des Host-Fahrzeugs kann beispielsweise darauf beruhen, dass das Host-Fahrzeug 2702 gebremst wird, damit es die Kreuzung nicht erreicht (d. h., dass das Host-Fahrzeug 2702 zum Stillstand gebracht wird). Alternativ kann die in Schritt 2906 berechnete Verzögerung eine Verzögerung sein, um dem Zielfahrzeug 2708 die Vorfahrt zu gewähren, wenn es mit der aktuellen Zieldynamik weiterfährt.
  • In Schritt 2908 kann das System 100 basierend auf der Zeit bis zur Kollision (aus Schritt 2904) und der einen oder mehreren Zieldynamiken (aus Schritt 2902) eine Zielverzögerung für das Zielfahrzeug bestimmen, um die Kollision zu vermeiden. In einigen Ausführungsformen kann die Zielverzögerung eine Mindestverzögerung für das Zielfahrzeug 2708 sein, um die Kollision zu vermeiden. Beispielsweise kann das System 100 basierend auf der TTC und der Zieldynamik eine unabhängige Verzögerung des Zielfahrzeugs 2708 berechnen, die die Kollision vermeiden würde. In Schritt 2906 kann das System 100 eine Verzögerung des Zielfahrzeugs 2708 bestimmen, die die Kollision unabhängig von den Maßnahmen des Host-Fahrzeugs 2702 vermeiden würde und/oder wenn das Host-Fahrzeug 2702 die aktuelle Dynamik beibehält. Die in Schritt 2908 berechnete Zielverzögerung kann beispielsweise darauf basieren, dass das Zielfahrzeug 2708 gebremst wird, damit es die Kreuzung nicht erreicht, und/oder dass das Zielfahrzeug 2708 gebremst wird, um dem Host-Fahrzeug 2702 die Vorfahrt zu gewähren, falls es mit der aktuellen Dynamik weiterfährt.
  • In einigen Ausführungsformen können die Berechnungen der Verzögerung so ausgelegt sein, dass der Aufwand an Rechenressourcen minimiert wird und die Schätzungen in kurzen Zeiträumen erfolgen können, auch wenn die Toleranzen hoch sind. In solchen Ausführungsformen können die Berechnungen der Verzögerung zum Beispiel mit einer Granularität von bis zu 0,25 m/s2 durchgeführt werden. Ferner können bei den Berechnungen der Mindestverzögerung „Initiierungszeiten“ als Teil der Berechnungen verwendet werden. Initiierungszeiten können die Zeit sein, die für die Einleitung von Verzögerungen am Fahrzeug benötigt wird, und können definiert werden als
  • [Systemruhezeit]+[Bremsaufbauzeitkompensation]
  • Die Initiierungszeiten können zum Bestimmen der Zielverzögerungen beitragen, indem sie die Zeit angeben, die das Fahrzeug zum Initiieren der Verzögerung benötigt. Während der „Initiierungszeiten“ kann das System 100 die Dynamik messen, die auf das betreffende Objekt einwirkt. In solchen Ausführungsformen kann das Host-Fahrzeug 2702 einer Initiierungszeit zugeordnet sein, die je nach aktueller und erforderlicher Verzögerung konfigurierbar ist. Um dagegen die Rechenzeit zu minimieren, kann das System 100 die Variablen des Zielfahrzeugs 2708 während der Initiierungszeit auf 0 setzen. In solchen Ausführungsformen kann das System 100 ein Bremsprofil bestimmen, das in die „Initiierungszeit“ integriert ist als:
  • [Initiierungszeit] = [Systemruhezeit]+[Bremsaufoauzeitkompensation]
  • Die in den Schritten 2906 und 2908 ermittelten Informationen über die minimalen unabhängigen Verzögerungen des Ziels können dann in Schritt 2910 dazu verwendet werden, einen Schwellenwert für die Host-Verzögerung zu bestimmen. In Schritt 2910 kann das System basierend auf der Host-Verzögerung und der Zielverzögerung einen Host-Verzögerungsschwellenwert bestimmen. Beispielsweise kann das System 100 die hostunabhängige Verzögerung (aus Schritt 2906) und die zielunabhängige Verzögerung (aus Schritt 2908) in eine Kniepunktfunktion eingeben, um einen Schwellenwert für die Host-Verzögerung zu bestimmen. Wie in Zusammenhang mit 28 weiter erläutert, kann die Kniepunktfunktion Host- und Zielverzögerungen einander zuordnen. Die Kniepunktfunktion kann zum Beispiel mindestens vier Kniepunkte umfassen. Basierend auf der Beziehung zwischen Host-Verzögerung und Zielverzögerung in der Funktion kann das System 100 den Host-Verzögerungsschwellenwert bestimmen. In solchen Ausführungsformen kann der Host-Verzögerungsschwellenwert bestimmen, wann das Host-Fahrzeug 2702 bremsen muss, um eine Kollision zu vermeiden.
  • Wie in Verbindung mit 28 beschrieben, kann der Host-Verzögerungsschwellenwert dynamisch sein und auf der Beziehung der Geschwindigkeiten zwischen dem Host-Fahrzeug 2702 und dem Zielfahrzeug 2708 basieren. Abhängig von den Geschwindigkeits- und/oder Verzögerungsdifferenzen zwischen den Fahrzeugen kann das System 100 einen anderen Verzögerungsschwellenwert des Host-Fahrzeugs 2702 bestimmen, um eine Kollision zu vermeiden. Darüber hinaus kann der Host-Verzögerungsschwellenwert auch so ausgelegt sein, dass er an die Straßen- und Fahrzeugbedingungen anpassbar ist. In einigen Ausführungsformen kann das System 100 beispielsweise den Host-Verzögerungsschwellenwert gemäß dem maximalen Verzögerungsvermögen des Host-Fahrzeugs einstellen oder zugrunde legen, z. B. gemäß einer oder mehrerer Spezifikationen, die dem Hersteller des Host-Fahrzeugs zugeordnet sind.
  • Der Schritt 2910 kann es dem System 100 erleichtern, zu erkennen, welches kreuzende Fahrzeug zuerst bremsen sollte, um abrupte Änderungen zu minimieren und gleichzeitig Warnungen in Fällen zu vermeiden, in denen die Kollision zu weit entfernt ist und/oder der Weg noch unklar ist. Wenn sich beispielsweise das Zielfahrzeug 2708 der Kreuzung sehr schnell nähert und eine hohe unabhängige Mindestverzögerung erfordert (geschätzt in Schritt 2908), kann das System 100 einen niedrigen Host-Verzögerungsschwellenwert bestimmen, um eine schnellere Bremsung durch das Host-Fahrzeug 2702 auszulösen. Eine solche selektive Verzögerung, die auf der Dynamik des Host-Fahrzeugs 2702 und des Zielfahrzeugs 2708 basiert, kann abrupte Änderungen minimieren, alternative Unfälle vermeiden und die Sicherheit bei der Lösung von Kreuzungskonflikten erhöhen. Darüber hinaus kann die Bestimmung des Host-Verzögerungsschwellenwerts in Schritt 2910 Frühwarnungen verhindern (z. B. durch Einstellen einer hohen Host-Verzögerung, wenn die Fahrzeuge weit entfernt sind) oder Verzögerungen vermeiden, wenn die Bewegungsbahn des Fahrzeugs noch unklar ist.
  • In einigen Ausführungsformen können bei der Auswahl des Host-Verzögerungsschwellenwerts bedingte Funktionen verwendet werden, die auf der Fahrzeugdynamik und/oder den Straßenbedingungen basieren. Um die Host-Verzögerung zu bestimmen, kann das System 100 zum Beispiel eine Verzögerungsfunktion aus einer Vielzahl von vorbestimmten Verzögerungsfunktionen auswählen. Die Auswahl der Verzögerungsfunktion kann auf der Zeit bis zur Kollision, der Geschwindigkeit des Zielfahrzeugs 2708 und der Geschwindigkeit des Host-Fahrzeugs 2702 basieren. Ferner kann die Auswahl der Verzögerungsfunktion von den Umgebungsbedingungen, wie Temperatur oder Luftfeuchtigkeit, abhängen. In solchen Ausführungsformen kann das System 100 mehrere Kniepunktfunktionen speichern und in Schritt 2910 basierend auf der Fahrzeugdynamik aus diesen Funktionen auswählen. Beispielsweise kann die Bestimmung der Host-Schwellenverzögerung eine Funktion verwenden, wenn die Fahrzeuge mit mehr als 80 km/h unterwegs sind, und eine andere Funktion, wenn die Fahrzeuge mit weniger als 15 km/h unterwegs sind. In solchen Ausführungsformen kann die Vielzahl der vorbestimmten Verzögerungsfunktionen eine erste Funktion, die einer ersten Verzögerungsrate zugeordnet ist, und eine zweite Funktion umfassen, die einer zweiten Verzögerungsrate zugeordnet ist, wobei die erste Verzögerungsrate kleiner als die zweite Verzögerungsrate ist. Die erste Verzögerungsfunktion kann für langsame Fälle (z. B. Fahrzeuge, die sich mit weniger als 35 km/h bewegen) verwendet werden, während die zweite Verzögerungsfunktion für schnellere (z. B. Fahrzeuge, die sich mit mehr als 95 km/h bewegen), gefährlichere Fälle verwendet werden kann, die aggressivere Verzögerungsschwellenwerte erfordern.
  • Als Teil des Schritts 2910 kann das System 100 die Verzögerungsfunktionen auslegen, die zum Bestimmen des Host-Verzögerungsschwellenwerts verwendet werden. In Schritt 2910 kann das System 100 beispielsweise die Funktion 2800 (28) basierend auf einem bestimmten Szenario eines kreuzenden Fahrzeugs auslegen, um den resultierenden Host-Verzögerungsschwellenwert zu bestimmen. Die Auslegung der Verzögerungsfunktionen kann allgemeine und stufenweise Auslegungen umfassen. Die allgemeinen Auslegungen können beispielsweise das Bestimmen einer Beziehung zwischen Mindestabstandsschwellenwert und Host-Geschwindigkeit mit mindestens 4 Kniepunkten in der Funktion umfassen. Die allgemeine Auslegung kann auch eine Initiierungszeit in Abhängigkeit von 4x4 Kniepunkten für die Verzögerung beinhalten. Beispielsweise kann die Stufenauslegung einen TTC-Schwellenwert von 4 Kniepunkten basierend auf der Geschwindigkeit des Host-Fahrzeugs 2702 beinhalten. Die Stufenauslegung kann auch einen Verzögerungsschwellenwert (d. h. eine Funktion der Zielverzögerung) mit 4 Kniepunkten für bremsende Stufen und eine Mindestabstandsfunktion für nichtbremsende Stufen umfassen. Ferner können die Stufenoptionen auch eine Funktionshüllenauslegung und/oder eine Zielhüllenauslegung enthalten.
  • In Schritt 2912 kann das System 100 anhand der Geschwindigkeit und der Schwellenwerte bestimmen, ob das Host-Fahrzeug gebremst werden soll. Beispielsweise kann das System 100 in Schritt 2912 basierend auf dem Host-Verzögerungsschwellenwert (aus Schritt 2910) und der Geschwindigkeit des Host-Fahrzeugs 2702 (bestimmt in Schritt 2906) bestimmen, ob das Host-Fahrzeug 2702 bremsen sollte. In einigen Ausführungsformen kann das System 100 den Host-Verzögerungsschwellenwert mit einer extrapolierten Host-Verzögerung vergleichen, die für die Vermeidung erforderlich ist, wie sie durch eine Kniepunktfunktion, wie z. B. die Funktion 2800 (28), bestimmt wird. Wenn die geschätzte Verzögerungshöhe unterhalb dem Host-Verzögerungsschwellenwert liegt, kann das System 100 bestimmen, dass das Host-Fahrzeug 2702 zu einem bestimmten Zeitpunkt oder in einem bestimmten Zeitintervall nicht zu bremsen braucht. Wenn die geschätzte Verzögerungshöhe oberhalb des Host-Verzögerungsschwellenwerts liegt, kann das System 100 bestimmen, dass das Host-Fahrzeug 2702 zu einem bestimmten Zeitpunkt oder in einem bestimmten Zeitintervall bremsen sollte (z. B. bewegt sich das Zielfahrzeug 2708 zu schnell und das Host-Fahrzeug 2702 sollte bremsen). So kann das System 100 durch Vergleichen von Geschwindigkeiten, erforderlichen Verzögerungen und dem Host-Verzögerungsschwellenwert selektive Verzögerungen bestimmen und selektive Verzögerungssignale liefern.
  • Wenn das System 100 bestimmt, das Host-Fahrzeug 2702 nicht zu bremsen (Schritt 2912: Nein), kann das System 100 zu Schritt 2902 zurückkehren und den Prozess 2900 neu starten, indem es die Host- und Ziel-Dynamik neu bestimmt, um die TTC und die Bewegungsbahnen zu aktualisieren. Wenn das System 100 beispielsweise feststellt, dass das Host-Fahrzeug 2702 nicht bremsen sollte, kann das System 100 zusätzliche Bilder des Zielfahrzeugs 2708 aufnehmen und die Feststellungen der Host-Schwellenverzögerung aktualisieren. Dementsprechend kann das System 100 dazu ausgelegt sein, den Host-Verzögerungsschwellenwert periodisch neu zu berechnen, wenn die Zeit bis zur Kollision abnimmt. In anderen, nicht dargestellten Ausführungsformen kann das System 100 Computerressourcen einsparen, indem es einfach die TTC verringert (ohne neue Dynamikbestimmung), den Prozess 2900 in Schritt 2904 (anstelle von 2902) neu startet und den Host-Verzögerungsschwellenwert basierend auf einem Countdown der TTC neu berechnet. Wenn das System 100 feststellt, dass die TTC kurz ist und eine Neuberechnung der Host- und Zieldynamik nicht möglich ist, kann das System 100 einfach die TTC verringern und die Verzögerungen direkt bestimmen, ohne die Host-Dynamik neu zu berechnen.
  • Wenn das System 100 bestimmt, das Host-Fahrzeug 2702 zu bremsen (Schritt 2912: Ja), kann das System 100 mit Schritt 2914 und/oder Schritt 2916 fortfahren. In Schritt 2914 kann das System 100 basierend auf der Feststellung, dass das Host-Fahrzeug 2702 gebremst werden soll, ein Signal ausgeben, das dazu ausgelegt ist, das Host-Fahrzeug 2702 zum Bremsen zu veranlassen. Beispielsweise kann das System 100 in Schritt 2914 ein Bremssignal auslösen und an das Bremssystem 230 (2F) übertragen, um das Host-Fahrzeug 2702 zu verzögern oder zu bremsen. Alternativ oder zusätzlich kann das System 100 das Verzögerungssignal an das Drosselsystem 220 und das Lenksystem 240 (2F) übermitteln, um die Kontrolle über die Richtung zu übernehmen und/oder eine unbeabsichtigte Beschleunigung zu vermeiden. In einigen Ausführungsformen kann das Ausgangssignal, das das Host-Fahrzeug 2702 zum Bremsen veranlasst, eine Verzögerungskraft oder -größe angeben. Zum Beispiel kann das System 100 als Teil der Bestimmung, das Host-Fahrzeug zu bremsen (in Schritt 2912), die Bremsstärke bestimmen. In solchen Ausführungsformen kann das Ausgangssignal mindestens eine Zeitangabe für das Bremsen des Host-Fahrzeugs 2702 oder eine Angabe über den auf die Bremsen des Host-Fahrzeugs 2702 auszuübenden Druck enthalten. Beispielsweise kann das System 100 basierend auf einer Differenz zwischen der Host-Schwellenverzögerung und der geschätzten Verzögerung für das Host-Fahrzeug 2702 eine Verzögerungsgröße bestimmen. In solchen Ausführungsformen kann in Schritt 2914 das an das Bremssystem 230 gesendete Ausgangssignal die auf die Bremsen auszuübende Kraft oder die Zielbremskraft angeben, die durch das Bremssystem erreicht werden muss.
  • Alternativ oder zusätzlich kann das System 100 nach der Bestimmung, das Host-Fahrzeug 2702 zu bremsen, mit Schritt 2916 fortfahren, in dem das System 100 basierend auf der Bestimmung, das Host-Fahrzeug zu bremsen, eine Warnung ausgeben kann. Die Warnung kann an den Fahrer des Host-Fahrzeugs 2702 gerichtet werden. Beispielsweise kann ein System 100 im Armaturenbrett des Fahrers ein Signal zum Bremsen des Fahrzeugs erzeugen. In einigen Ausführungsformen kann der Alarm mindestens einen akustischen, optischen oder taktilen Alarm beinhalten. Zusätzlich zur Warnung am Armaturenbrett kann das System 100 beispielsweise eine akustische Warnung durch Aktivieren der Fahrzeughupe und/oder eine taktile Warnung durch Vibration des Fahrersitzes und/oder des Lenkrads erzeugen.
  • Die Schritte 2914 und 2916 schließen sich nicht gegenseitig aus, und das System 100 kann beschließen, beide durchzuführen. So kann das System 100 in bestimmten Ausführungsformen sowohl (1) ein Ausgangssignal zum Bremsen des Host-Fahrzeugs 2702 erzeugen als auch (2) die Warnung zum Bremsen erzeugen. In anderen Ausführungsformen können die Benutzerpräferenzen bestimmen, ob das System 100 den Schritt 2914 oder 2916 ausführt. So kann ein Benutzer beispielsweise die automatisierte Verzögerung deaktivieren und nur die Warnung von Schritt 2916 erhalten. Alternativ dazu kann ein Benutzer die Warnungen deaktivieren und nur das Ausgangssignal zum Bremsen von Schritt 2914 haben.
  • Der Prozess 2900 ermöglicht es dem System 100, ein Host-Fahrzeug in einem Szenario mit kreuzenden Fahrzeugen selektiv zu verzögern und dabei das Risiko alternativer Unfälle zu minimieren, abrupte Bewegungsbahnänderungen (die unvorhersehbar sein und den Fahrgästen Schaden zufügen können) zu vermeiden und Staus oder unnötige Warnungen zu verhindern. Der Prozess 2900 löst zusätzlich die Probleme eines Systems mit mehreren unabhängigen Elementen, indem ein wiederkehrender Prozess bestimmt, welches Fahrzeug verzögern soll, wann es verzögern soll und wie stark es verzögern soll.
  • Die vorstehende Beschreibung dient lediglich der Veranschaulichung. Sie erhebt keinen Anspruch auf Vollständigkeit und ist nicht auf die genauen Formen oder Ausführungsformen beschränkt, die offenbart werden. Für den Fachmann werden aus der Betrachtung der Beschreibung und der Praxis der offenbarten Ausführungsformen Änderungen und Anpassungen ersichtlich sein. Auch wenn Aspekte der offenbarten Ausführungsformen als im Hauptspeicher gespeichert beschrieben werden, wird der Fachmann erkennen, dass diese Aspekte auch auf anderen Arten von computerlesbaren Medien gespeichert sein können, wie z. B. auf sekundären Speichervorrichtungen, z. B. 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.
  • Durch einen erfahrenen Entwickler können Computerprogramme, die auf der schriftlichen Beschreibung und den offenbarten Verfahren basieren, erstellt werden. Die verschiedenen Programme oder Programmmodule können mit allen dem Fachmann bekannten Techniken erstellt 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 eingeschlossenen Java-Applets entwickelt werden.
  • Darüber hinaus sind hier zwar illustrative 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 lassen sich durch den Fachmann anhand der vorliegenden Offenbarung erkennen. Die Einschränkungen in den Ansprüchen sind basierend auf der in den Ansprüchen verwendeten Sprache weit auszulegen und nicht auf Beispiele beschränkt, die in der vorliegenden Beschreibung oder während der Bearbeitung der Anmeldung beschrieben werden. Die Beispiele sind nicht als ausschließlich 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. Die Beschreibung und die Beispiele sind daher lediglich als Veranschaulichung aufzufassen, wobei der wahre Schutzumfang und Geist durch die folgenden Ansprüche und den vollen Umfang an gleichbedeutenden Aussagen 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 62/945503 [0001]

Claims (20)

  1. System für ein Host-Fahrzeug, wobei das System umfasst: mindestens einen Prozessor, der dazu programmiert ist: basierend auf einer Ausgabe mindestens eines Sensors des Host-Fahrzeugs eine oder mehrere Zieldynamiken eines Zielfahrzeugs in einer Umgebung des Host-Fahrzeugs zu bestimmen; basierend auf einer oder mehreren Host-Dynamiken des Host-Fahrzeugs und der einen oder mehreren Zieldynamiken eine Zeit bis zu einer Kollision des Host-Fahrzeugs und des Zielfahrzeugs zu bestimmen; basierend auf der Zeit bis zur Kollision und der einen oder mehreren Host-Dynamiken eine Host-Verzögerung für das Host-Fahrzeug zu bestimmen, um die Kollision zu vermeiden; basierend auf der Zeit bis zur Kollision und der einen oder mehreren Zieldynamiken eine Zielverzögerung für das Zielfahrzeug zu bestimmen, um die Kollision zu vermeiden; basierend auf der Host-Verzögerung und der Zielverzögerung einen Host-Verzögerungsschwellenwert zu bestimmen; und basierend auf einer Geschwindigkeit des Host-Fahrzeugs und des Host-Verzögerungsschwellenwerts zu bestimmen, das Host-Fahrzeug zu bremsen.
  2. System gemäß Anspruch 1, wobei der mindestens eine Prozessor ferner dazu programmiert ist: basierend auf der Bestimmung, das Host-Fahrzeug zu bremsen, ein Signal auszugeben, das dazu ausgelegt ist, das Host-Fahrzeug zum Bremsen zu veranlassen.
  3. System gemäß Anspruch 2, wobei das Signal mindestens eines enthält von einer Zeit zum Bremsen des Host-Fahrzeugs oder einem Druck, der auf die Bremsen des Host-Fahrzeugs auszuüben ist.
  4. System gemäß Anspruch 1, wobei der mindestens eine Prozessor ferner dazu programmiert ist: basierend auf der Feststellung, das Host-Fahrzeug zu bremsen, eine Warnung auszugeben, wobei die Warnung mindestens eine akustische Warnung, eine optische Warnung oder eine taktile Warnung beinhaltet.
  5. System gemäß Anspruch 1, wobei der mindestens eine Sensor des Host-Fahrzeugs eine Kamera, ein LIDAR und/oder ein Radar enthält.
  6. System gemäß Anspruch 1, wobei: die eine oder mehreren Zieldynamiken des Zielfahrzeugs eine Geschwindigkeit des Zielfahrzeugs und/oder einen vorhergesagten Weg des Zielfahrzeugs enthalten; und die eine oder mehreren Host-Dynamiken des Host-Fahrzeugs eine Geschwindigkeit des Host-Fahrzeugs und/oder einen vorhergesagten Weg des Host-Fahrzeugs enthalten.
  7. System gemäß Anspruch 1, wobei: die Host-Verzögerung eine Mindestverzögerung für das Host-Fahrzeug ist, um die Kollision zu vermeiden; und die Zielverzögerung eine Mindestverzögerung für das Zielfahrzeug ist, um die Kollision zu vermeiden.
  8. System gemäß Anspruch 1, wobei das Bestimmen des Host-Verzögerungsschwellenwerts das Verwenden einer Kniepunktfunktion umfasst.
  9. System gemäß Anspruch 8, wobei die Kniepunktfunktion mindestens vier Kniepunkte umfasst.
  10. System gemäß Anspruch 1, wobei das Bestimmen der Zeit bis zur Kollision ferner das Bestimmen eines Host-Pufferraums und eines Zielpufferraums beinhaltet, wobei der Host-Pufferraum auf einer Größe des Host-Fahrzeugs basiert und der Zielpufferraum auf einer Größe des Zielfahrzeugs basiert.
  11. System gemäß Anspruch 1, wobei der Host-Verzögerungsschwellenwert ferner auf einem maximalen Verzögerungsvermögen des Host-Fahrzeugs gemäß einer oder mehreren Spezifikationen basiert, die einem Hersteller des Host-Fahrzeugs zugeordnet sind.
  12. System gemäß Anspruch 1, wobei der mindestens eine Prozessor ferner dazu programmiert ist: den Host-Verzögerungsschwellenwert periodisch neu zu berechnen, wenn die Zeit bis zur Kollision abnimmt.
  13. System gemäß Anspruch 1, wobei das Bestimmung des Host-Verzögerungsschwellenwerts ferner das Auswählen einer Verzögerungsfunktion aus einer Vielzahl vorbestimmter Verzögerungsfunktionen basierend auf der Zeit bis zur Kollision, einer Geschwindigkeit des Zielfahrzeugs und der Geschwindigkeit des Host-Fahrzeugs beinhaltet.
  14. System gemäß Anspruch 13, wobei die Vielzahl vorbestimmter Verzögerungsfunktionen eine erste Funktion, die einer ersten Verzögerungsrate zugeordnet ist, und eine zweite Funktion enthält, die einer zweiten Verzögerungsrate zugeordnet ist, und wobei die erste Verzögerungsrate kleiner als die zweite Verzögerungsrate ist.
  15. Computerimplementiertes Verfahren, umfassend: Bestimmen einer oder mehrerer Zieldynamiken eines Zielfahrzeugs in einer Umgebung des Host-Fahrzeugs basierend auf einer Ausgabe mindestens eines Sensors eines Host-Fahrzeugs; Bestimmen, basierend auf einer oder mehreren Host-Dynamiken des Host-Fahrzeugs und der einen oder mehreren Zieldynamiken, einer Zeit bis zu einer Kollision des Host-Fahrzeugs und des Zielfahrzeugs; Bestimmen, basierend auf der Zeit bis zur Kollision und der einen oder mehreren Host-Dynamiken, einer Host-Verzögerung für das Host-Fahrzeug, um die Kollision zu vermeiden; Bestimmen, basierend auf der Zeit bis zur Kollision und der einen oder mehreren Zieldynamiken, einer Zielverzögerung für das Zielfahrzeug, um die Kollision zu vermeiden; Bestimmen, basierend auf der Host-Verzögerung und der Zielverzögerung, eines Host-Verzögerungsschwellenwerts; und Bestimmen, basierend auf einer Geschwindigkeit des Host-Fahrzeugs und des Host-Verzögerungsschwellenwerts, das Host-Fahrzeug zu bremsen.
  16. Computerimplementiertes Verfahren gemäß Anspruch 15, ferner umfassend: basierend auf der Bestimmung, das Host-Fahrzeug zu bremsen, Ausgeben eines Signals, das dazu ausgelegt ist, das Host-Fahrzeug zum Bremsen zu veranlassen.
  17. Computerimplementiertes Verfahren gemäß Anspruch 16, wobei das Signal mindestens eines enthält von: einer Zeit zum Bremsen des Host-Fahrzeugs oder einem auf die Bremsen des Host-Fahrzeugs auszuübenden Drucks.
  18. Computerimplementiertes Verfahren gemäß Anspruch 15, ferner umfassend: basierend auf der Feststellung, das Host-Fahrzeug zu bremsen, Ausgeben einer Warnung, wobei die Warnung eine akustische Warnung, eine optische Warnung und/oder eine taktile Warnung beinhaltet.
  19. Computerimplementiertes Verfahren gemäß Anspruch 15, wobei der mindestens eine Sensor des Host-Fahrzeugs mindestens eines einer Kamera, eines LIDAR oder eines Radars enthält.
  20. Nichtflüchtiges computerlesbares Medium, das Computeranweisungen speichert, die beim Ausführen durch mindestens eine Verarbeitungsvorrichtung die mindestens eine Verarbeitungsvorrichtung veranlasst: basierend auf einer Ausgabe mindestens eines Sensors eines Host-Fahrzeugs eine oder mehrere Zieldynamiken eines Zielfahrzeugs in einer Umgebung des Host-Fahrzeugs zu bestimmen; basierend auf einer oder mehreren Host-Dynamiken des Host-Fahrzeugs und der einen oder mehreren Zieldynamiken eine Zeit bis zu einer Kollision des Host-Fahrzeugs und des Zielfahrzeugs zu bestimmen; basierend auf der Zeit bis zur Kollision und der einen oder mehreren Host-Dynamiken eine Host-Verzögerung für das Host-Fahrzeug zu bestimmen, um die Kollision zu vermeiden; basierend auf der Zeit bis zur Kollision und der einen oder mehreren Zieldynamiken eine Zielverzögerung für das Zielfahrzeug zu bestimmen, um die Kollision zu vermeiden; basierend auf der Host-Verzögerung und der Zielverzögerung einen Host-Verzögerungsschwellenwert zu bestimmen; und basierend auf einer Geschwindigkeit des Host-Fahrzeugs und des Host-Verzögerungsschwellenwerts zu bestimmen, das Host-Fahrzeug zu bremsen.
DE112020005275.3T 2019-12-09 2020-12-09 Systeme und verfahren zur selektiven verzögerung eines fahrzeugs Pending DE112020005275T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962945503P 2019-12-09 2019-12-09
US62/945,503 2019-12-09
PCT/IB2020/001001 WO2021116752A1 (en) 2019-12-09 2020-12-09 Systems and methods for selectively decelerating a vehicle

Publications (1)

Publication Number Publication Date
DE112020005275T5 true DE112020005275T5 (de) 2022-09-15

Family

ID=74215983

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020005275.3T Pending DE112020005275T5 (de) 2019-12-09 2020-12-09 Systeme und verfahren zur selektiven verzögerung eines fahrzeugs

Country Status (5)

Country Link
US (1) US20220371583A1 (de)
JP (1) JP2023504604A (de)
CN (1) CN115151454A (de)
DE (1) DE112020005275T5 (de)
WO (1) WO2021116752A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230347880A1 (en) * 2022-04-29 2023-11-02 Zoox, Inc. Systems and methods for determining buffer regions
CN115056754B (zh) * 2022-08-18 2022-10-28 江苏天一航空工业股份有限公司 一种物流行李牵引车制动控制系统及方法
US11904889B1 (en) * 2022-11-04 2024-02-20 Ghost Autonomy Inc. Velocity adjustments based on roadway scene comprehension

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8265850B2 (en) * 2009-02-02 2012-09-11 GM Global Technology Operations LLC Method and apparatus for target vehicle following control for adaptive cruise control
JP6126573B2 (ja) * 2014-12-25 2017-05-10 本田技研工業株式会社 衝突回避支援装置
DE102015212250A1 (de) * 2015-06-30 2017-01-05 Conti Temic Microelectronic Gmbh Verbesserte Berechnung der Zeit bis zur Kollision für ein Fahrzeug
JP2017117344A (ja) * 2015-12-25 2017-06-29 株式会社デンソー 走行支援装置
EP3196089B1 (de) * 2016-01-21 2021-10-13 Volvo Car Corporation Fahrzeugsicherheitsunterstützungssystem, fahrzeug mit einem fahrzeugsicherheitsunterstützungssystem und verfahren zur bereitstellung einer fahrerwarnung oder zur durchführung einer autonomen bremsung
US10446033B2 (en) * 2017-09-22 2019-10-15 Ford Global Technologies, Llc Vehicle detection and avoidance
US10723351B1 (en) * 2017-09-30 2020-07-28 Physician Electronic Networks, L.L.C. Collision prevention system
EP3539837B1 (de) * 2018-03-13 2023-07-19 Veoneer Sweden AB Fahrzeugradarsystem zur erkennung von vorausfahrenden fahrzeugen

Also Published As

Publication number Publication date
US20220371583A1 (en) 2022-11-24
WO2021116752A1 (en) 2021-06-17
CN115151454A (zh) 2022-10-04
JP2023504604A (ja) 2023-02-06

Similar Documents

Publication Publication Date Title
DE112020004931T5 (de) Systeme und verfahren zur bestimmung der verkehrssicherheit
DE112020002604T5 (de) Systeme und verfahren für die fahrzeugnavigation
DE112020002175T5 (de) Systeme und verfahren zur fahrzeugnavigation
DE112020003897T5 (de) Systeme und verfahren zur überwachung von fahrspurüberlastung
DE112020006426T5 (de) Systeme und verfahren zur fahrzeugnavigation
DE112020000821T5 (de) Systeme und verfahren zur fahrzeugnavigation
DE112020004133T5 (de) Systeme und verfahren zur identifizierung möglicher kommunikationshindernisse
DE112018002143T5 (de) Systeme und verfahren zur kompression von fahrspurdaten
DE112020002764T5 (de) Systeme und verfahren zur fahrzeugnavigation
CN112384760A (zh) 用于自主车辆导航的系统和方法
DE112021000094T5 (de) Systeme und verfahren zur fahrzeugnavigation, die ampeln und verkehrszeichen einbezieht
DE112020002869T5 (de) Navigationssysteme und verfahren zum bestimmen von objektabmessungen
JP2022553491A (ja) 車両ナビゲーション用のシステムおよび方法
KR20230130147A (ko) 자율 주행을 위한 항법 정보의 융합 프레임워크 및 배치 정렬
DE112021002001T5 (de) Navigieren eines fahrzeugs unter verwendung eines elektronischen horizonts
DE112020002592T5 (de) Systeme und verfahren zur fahrzeugnavigation basierend auf bildanalyse
DE112020000925T5 (de) Systeme und verfahren zur fahrzeugnavigation
DE112020001106T5 (de) Ausrichten von Straßeninformationen zur Navigation
DE112021002680T5 (de) Systeme und verfahren zum erkennen einer offenen tür
DE112020005275T5 (de) Systeme und verfahren zur selektiven verzögerung eines fahrzeugs
DE112021003811T5 (de) Systeme und verfahren zur dynamischen strassengeometriemodellierung und navigation
CN113330495A (zh) 对用于车辆导航的事件信息进行聚类
DE112021004128T5 (de) Systeme und verfahren für kartenbasierte modellierung der realen welt
DE112020006427T5 (de) Systeme und verfahren zum detektieren von ampeln
DE112022000380T5 (de) Systeme und verfahren zur einheitlichen geschwindigkeitskartierung und navigation

Legal Events

Date Code Title Description
R012 Request for examination validly filed