DE102019112038A1 - Steuerungssysteme, steuerungsverfahren und steuerungen für ein autonomes fahrzeug - Google Patents

Steuerungssysteme, steuerungsverfahren und steuerungen für ein autonomes fahrzeug Download PDF

Info

Publication number
DE102019112038A1
DE102019112038A1 DE102019112038.1A DE102019112038A DE102019112038A1 DE 102019112038 A1 DE102019112038 A1 DE 102019112038A1 DE 102019112038 A DE102019112038 A DE 102019112038A DE 102019112038 A1 DE102019112038 A1 DE 102019112038A1
Authority
DE
Germany
Prior art keywords
module
vehicle
autonomous vehicle
map
control
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.)
Withdrawn
Application number
DE102019112038.1A
Other languages
English (en)
Inventor
Shuqing Zeng
Wei Tong
Upali P. Mudalige
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.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations LLC
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 GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of DE102019112038A1 publication Critical patent/DE102019112038A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • 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/0098Details of control systems ensuring comfort, safety or stability not otherwise provided for
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • 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
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0219Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory ensuring the processing of the whole working surface
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0223Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0234Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons
    • G05D1/0236Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons in combination with a laser
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • G05D1/024Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0251Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0255Control of position or course in two dimensions specially adapted to land vehicles using acoustic signals, e.g. ultra-sonic singals
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0257Control of position or course in two dimensions specially adapted to land vehicles using a radar
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0259Control of position or course in two dimensions specially adapted to land vehicles using magnetic or electromagnetic means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/0278Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using satellite positioning signals, e.g. GPS
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/0285Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using signals transmitted via a public communication network, e.g. GSM network
    • 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
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • 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
    • 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/40High definition maps
    • 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

Abstract

Es sind Systeme und Verfahren zum Steuern eines autonomen Fahrzeugs (AV) vorgesehen. Ein Merkmalskartengeneratormodul erzeugt eine Merkmalskarte (FM). Basierend auf dem FM erzeugt ein Wahrnehmungskartenmodul eine Wahrnehmungskarte (PM). Ein Szenenverständnismodul wählt aus einer Vielzahl von sensomotorischen Primitivmodulen (SPMs), basierend auf der FM, eine bestimmte Kombination von SPMs aus, die für das jeweilige Fahrszenario (PDS) aktiviert und ausgeführt werden sollen. Jedes SPM ordnet Informationen entweder von der FM oder der PM einem Fahrzeugtrajektorien- und Geschwindigkeitsprofil (VTSP) zu, um das AV automatisch zu steuern und das AV zu veranlassen, ein bestimmtes Fahrmanöver durchzuführen. Jede der besonderen Kombinationen der SPMs behandelt eine Teilaufgabe in einer Folge von Teilaufgaben, die das PDS betreffen. Jede der jeweiligen Kombinationen der SPMs wird aus dem Speicher abgerufen und ausgeführt, um ein entsprechendes VTSP zu erzeugen.

Description

  • EINLEITUNG
  • Die vorliegende Offenbarung bezieht sich im Allgemeinen auf autonome Fahrzeuge, und insbesondere auf autonome Fahrzeugsteuerungen, autonome Fahrzeugsteuerungssysteme und zugehörige Verfahren zum Steuern von autonomen Fahrzeugen. Die Steuerungssysteme, Steuerungsverfahren und Steuerungen verwenden ein Ensemble von sensomotorischen Primitiven, um ein autonomes Fahrzeug zu steuern, indem sie Szenenelemente verarbeiten, die von Sensoren in einem bestimmten Fahrszenario erfasst wurden, um geeignete primitive sensomotorische Module zum Steuern eines autonomen Fahrzeugs auszuwählen und zu priorisieren. Durch das Ausführen der entsprechenden primitiven sensomotorischen Module können Fahrzeugtrajektorie- und Geschwindigkeitsprofile erzeugt werden, die zum Erzeugen von Steuersignalen und Stellgliedsteuerbefehlen zum Steuern des autonomen Fahrzeugs verwendet werden, um die für das jeweilige Fahrszenario erforderlichen Fahrzeugtrajektorie- und Geschwindigkeitsprofile zu erreichen.
  • Ein autonomes Fahrzeug ist ein Fahrzeug, das in der Lage ist, seine Umgebung zu erfassen und mit geringfügiger oder gar keiner Benutzereingabe zu navigieren. Ein autonomes Fahrzeug beinhaltet ein autonomes Antriebssystem (ADS), welches das autonome Fahrzeug intelligent steuert. Ein Sensorsystem erfasst seine Umgebung unter Verwendung von Abtastvorrichtungen, wie beispielsweise Radar-, Lidar-, Bildsensoren und dergleichen. Das ADS kann Informationen von globalen Positioniersystem-(GPS)-Technologien, Navigationssystemen, Fahrzeug-Fahrzeug-Kommunikationen, Fahrzeug-Infrastruktur-Technologien und/oder Drive-by-Wire-Systemen verarbeiten, um das Fahrzeug zu navigieren.
  • Die Fahrzeugautomatisierung wurde kategorisiert nach nummerischen Ebenen von null, entsprechend keiner Automatisierung mit voller menschlicher Kontrolle, bis Fünf, entsprechend der vollen Automatisierung ohne menschliche Kontrolle. Verschiedene automatisierte Fahrerassistenzsysteme, wie beispielsweise Geschwindigkeitsregelung, adaptive Geschwindigkeitsregelung und Parkassistenzsysteme, entsprechen niedrigeren Automatisierungsebenen, während echte „fahrerlose“ Fahrzeuge mit höheren Automatisierungsebenen übereinstimmen. Gegenwärtig gibt es viele verschiedene Konzepte für die autonome Fahrzeugsteuerung, die jedoch alle mit Nachteilen behaftet sind.
  • Viele der heute vorgeschlagenen autonomen Fahrzeuge, die in der Lage sind, einen höheren Automatisierungsgrad zu erreichen, erfordern Technologien wie hochauflösende (HD) Karten, um eine Topologie, Geometrie, zusätzliche Attribute, wie beispielsweise Geschwindigkeitsbegrenzung, Verkehrsflussrichtung usw., und hochpräzise GPS-Ausrüstung zur genauen Lokalisierung des Fahrzeugs in der HD-Karte bereitzustellen. Viele ADSs weisen beispielsweise eine klar definierte, geschichtete Architektur basierend auf der Verfügbarkeit von HD-Karten und hochpräzisem GPS auf. Wenn diese jedoch nicht sofort verfügbar sind, können diese Systeme unzuverlässig sein und/oder unbekannte Anwendungsfälle (z. B. unbekannte Fahrumgebungen und Fahrszenarien) nicht lösen. So ist beispielsweise in einigen Fällen das autonome Fahrzeug nicht mit HD-Karten und hochpräzisem GPS ausgestattet, während in anderen Fällen diese Technologien aufgrund der begrenzten Netzwerkkonnektivität nicht verfügbar sind. Darüber hinaus ist die Abbildung des gesamten Straßennetzes in HD weltweit eine große technische Aufgabe, deren Genauigkeit kostspielig ist. Andererseits ist das hochpräzise GPS in bestimmten Gebieten, wie beispielsweise in Gebieten mit geringerer Satellitensichtbarkeit (z. B. Straßenschluchten), nicht verfügbar.
  • Weiterhin erfordern viele ADSs aufgrund überplanter, mehrschichtiger Architekturen (z. B. Sensor->Wahrnehmung->Szenarioanalyse->Verhalten->Manöver->Bewegungsplanung->Steuerung) Rechenkomplexität und Stromverbrauch. Einige ADSs basieren beispielsweise auf einem einzigen End-to-End-Neuronalen Netzwerk, das Bildpunkte abbildet, um Aktionen für jedes Fahrszenario zu steuern. Das Trainieren eines so komplexen neuronalen Netzwerks ist jedoch möglicherweise nicht praktikabel, um die Zuverlässigkeit des Fahrzeugs in allen Umgebungen oder Anwendungsfällen zu erreichen. Die Validierung derartiger neuronaler Netzwerke ist ebenfalls sehr schwierig. Es ist auch schwierig, Grenzwerte für Leistungsanforderungen zu beurteilen (z. B. „Wie gut genug ist gut genug?“). Darüber hinaus ist jedes Mal, wenn neue Funktionen erlernt werden, eine erneute Validierung auf Systemebene erforderlich.
  • Dementsprechend ist es wünschenswert, Systeme und Verfahren für die autonome Fahrzeugsteuerung bereitzustellen, die zuverlässig, einfach zu trainieren und zu validieren sind, aber keine Verfügbarkeit von HD-Karten und hochpräzisen GPS erfordern. Ferner werden weitere wünschenswerte Funktionen und Merkmale der vorliegenden Offenbarung aus der nachfolgenden ausführlichen Beschreibung und den beigefügten Ansprüchen in Verbindung mit den beigefügten Zeichnungen, sowie dem vorangehenden technischen Gebiet und Hintergrund ersichtlich.
  • KURZDARSTELLUNG
  • Es sind Systeme, Verfahren und Steuerungen zum Steuern eines autonomen Fahrzeugs vorgesehen. Es ist ein Verfahren zum Steuern eines autonomen Fahrzeugs vorgesehen. Gemäß dem Verfahren verarbeitet ein Merkmalskartengeneratormodul einer High-Level-Steuerung Sensordaten von einem Sensorsystem, Navigationsroutendaten, die eine Route des autonomen Fahrzeugs anzeigen, und Fahrzeugpositionsdaten, die den Standort des autonomen Fahrzeugs anzeigen, um eine Merkmalskarte zu erzeugen. Die Merkmalskarte umfasst eine maschinenlesbare Darstellung einer Fahrumgebung, die Merkmale beinhaltet, die über das Sensorsystem in einem bestimmten Fahrszenario zu einem bestimmten Zeitpunkt erfasst werden. Basierend auf der Merkmalskarte erzeugt ein Wahrnehmungskartengeneratormodul eine Wahrnehmungskarte, die eine für Menschen lesbare Darstellung der Fahrumgebung umfasst, die Szenen beinhaltet, die über das Sensorsystem im jeweiligen Fahrszenario zu einem beliebigen Zeitpunkt erfasst wurden. Ein Szenenverständnismodul der High-Level-Steuerung wählt, basierend auf der Merkmalskarte, aus einer Vielzahl von sensomotorischen Primitivmodulen eine bestimmte Kombination von sensomotorischen Primitivmodulen aus, die für das bestimmte Fahrszenario aktiviert und ausgeführt werden sollen. Jedes sensomotorische Primitivmodul bildet Informationen entweder aus der Merkmalskarte oder der Wahrnehmungskarte auf ein Fahrzeugtrajektorien- und Geschwindigkeitsprofil ab. Ein sensomotorisches Primitivmodul ist ausführbar, um eine Fahrzeugtrajektorie und ein Geschwindigkeitsprofil zum automatischen Steuern des autonomen Fahrzeugs zu erzeugen, um das autonome Fahrzeug zu veranlassen, ein bestimmtes Fahrmanöver durchzuführen. Jede der besonderen Kombinationen der sensomotorischen Primitivmodule behandelt eine Teilaufgabe in einer Folge von Teilaufgaben, die das bestimmte Fahrszenario aufgreifen. Ein Auswahlmodul ruft die bestimmte Kombination der sensomotorischen Primitivmodule aus dem Speicher ab, und ein Primitivprozessormodul führt die entsprechende Kombination der sensomotorischen Primitivmodule so aus, dass jedes ein Fahrzeugtrajektorien- und Geschwindigkeitsprofil erzeugt.
  • In einer Ausführungsform bildet jedes Fahrzeugtrajektorien- und Geschwindigkeitsprofil ein oder mehrere Steuersignale ab, die eine oder mehrere Steuerungsaktionen bewirken, die das autonome Fahrzeug automatisch steuern, um das autonome Fahrzeug zu veranlassen, ein bestimmtes Fahrmanöver durchzuführen, das dem jeweiligen Fahrszenario während der autonomen Fahraufgabe und des Betriebs des autonomen Fahrzeugs entspricht.
  • In einer Ausführungsform umfassen die Sensordaten Bilddaten, die Pixelinformationen beinhalten, die von Kameras erhalten wurden, und Bereichspunktdaten, die von einem oder mehreren Entfernungssystemen bereitgestellt werden. Das Merkmalskartengeneratormodul umfasst ein Merkmal extrahierendes faltungsneuronales Netzwerk (CNN), das eine Vielzahl von Schichten umfasst, wobei jede Schicht der Merkmalsextraktion CNN nacheinander Pixel der Bilddaten verarbeitet, um Merkmale von den Bilddaten- und Ausgangsmerkmalsschichten zu extrahieren. Bereichspunktdaten werden verarbeitet, um eine Bereichsanwesenheitskarte der Bereichspunktdaten zu erzeugen, wobei jeder Bereichspunkt einen Wert einer Entfernung von einem Fahrzeug anzeigt. Jede Merkmalsschicht ist mit einer vorherigen Merkmalsschicht verknüpft und die Bereichsanwesenheitskarte bildet die Verknüpfung jeder Merkmalsschicht mit der vorherigen Merkmalsschicht ab und die Bereichsanwesenheitskarte wird als Merkmalskarte ausgegeben.
  • In einer Ausführungsform umfasst die Vielzahl von Schichten: eine erste Faltungsschicht, die konfiguriert ist, um eine erste Bank von Faltungskernel auf eine Eingabeschicht anzuwenden, die rot-grün-blaue (RGB) Bilddaten umfasst, wobei jeder Faltungskernel einen Ausgabekanal der ersten Schicht erzeugt, der ein Bild mit einer ersten Auflösung umfasst; eine erste Max-Pooling-Schicht, die konfiguriert ist, um jeden ersten Ausgabekanal durch Anwenden einer Maximalwertoperation auf diesen ersten Ausgabekanal zu verarbeiten, um das entsprechende Bild mit der ersten Auflösung herunterzustufen, worin die erste Max-Pooling-Schicht eine Vielzahl von zweiten Ausgabekanälen ausgibt, die jeweils ein Bild mit einer zweiten Auflösung umfassen, die kleiner als die erste Auflösung ist; eine zweite Faltungsschicht, die konfiguriert ist, um eine zweite Bank von Faltungskerneln auf jeden der Vielzahl von zweiten Ausgabekanälen anzuwenden, worin jeder Faltungskernel der zweiten Bank einen dritten Ausgabekanal erzeugt, der ein Bild mit einer dritten Auflösung umfasst, die geringer als die zweite Auflösung ist; und eine zweite Max-Pooling-Schicht, die konfiguriert ist, um jeden dritten Ausgabekanal zu verarbeiten, indem sie eine weitere Maximalwertoperation auf diesen dritten Ausgabekanal anwendet, um das entsprechende Bild mit der dritten Auflösung herunterzustufen, worin die zweite Max-Pooling-Schicht eine Vielzahl von vierten Ausgabekanälen ausgibt, die jeweils ein Bild mit einer vierten Auflösung umfassen, die geringer als die dritte Auflösung ist, worin die Merkmalsschicht einen dreidimensionalen Tensor umfasst, der die Vielzahl der vierten Ausgabekanäle umfasst.
  • In einer Ausführungsform umfasst das Wahrnehmungskartengeneratormodul eine Objekterkennung CNN, die ein Regionsvorschlags-(RP)-Generatormodul umfasst, das die Merkmalskarte verarbeitet, um einen Satz von Vorschlägen für Begrenzungsrahmenbereiche zu erzeugen; ein Interessensbereichs-(ROI)-Pooling-Modul, das die Merkmalskarte und den Satz von Vorschlägen für Begrenzungsrahmenbereiche verarbeitet, um Interessensbereiche aus der Merkmalskarte zu extrahieren, die Begrenzungsrahmenkandidaten sind; ein schnelles faltungsneuronales Netzwerk (R-CNN) der Objekterkennung CNN, das die Begrenzungsrahmenkandidaten verarbeitet, um die Position, Ausrichtung und Geschwindigkeit jedes erfassten Objekts der Wahrnehmungskarte zu erzeugen, und die erfassten Objekte nach semantischen Klassen gemäß ihren jeweiligen Objekttypen zu klassifizieren. Die Objekterkennung CNN umfasst ferner ein Freiraum-Merkmalsgeneratormodul, das die Merkmalskarte verarbeitet, um eine Bildsegmentierung des Freiraums zu erzeugen, die Freiraummerkmale aus der Umgebung beinhaltet; ein Straßenmerkmalsgeneratormodul, das die Merkmalskarte verarbeitet, um Standorte und Arten von Straßenmerkmalen aus der Umgebung zu erzeugen; und ein Stixelgeneratormodul, das die Merkmalskarte verarbeitet, um Stixel durch Partitionierung eines Bildes aus der Merkmalskarte in Stixel zu erzeugen, worin jedes Stixel eine vertikale Scheibe mit einer festen Breite ist, die durch ihre dreidimensionale Position in Bezug auf eine Kamera definiert ist, und Attribute aufweist, welche die Wahrscheinlichkeit beinhalten, dass diese vertikale Scheibe ein Stixel ist, einen Index der unteren Endreihe und eine Höhe in Bezug auf den Boden, die sich den unteren und oberen Grenzen eines Hindernisses annähert. In dieser Ausführungsform umfasst die Wahrnehmungskarte: eine Begrenzungsrahmenposition, eine Ausrichtung und eine Geschwindigkeit jedes erfassten Objekts; einen Objekttyp für jedes erfasste Objekt; Freiraummerkmale aus der Umgebung; Standorte und Arten von Straßenmerkmalen aus der Umgebung; und eine Vielzahl von Stixeln, worin jedes Stixel eine vertikale Scheibe mit einer festen Breite ist und Attribute aufweist, die sich den unteren und oberen Grenzen eines Hindernisses annähern.
  • In einer Ausführungsform ist mindestens eines der sensomotorischen Primitivmodule entweder sensomotorische Primitivmodule der Prädikatenlogik(PL) oder der modellprädiktiven Steuerung (MPC). Das Prädikatenlogik-(PL)-sensomotorisches Primitivmodul bildet die Sensordaten über die Wahrnehmungskarte auf eine oder mehrere sicherheitsrelevante Teilaufgaben der autonomen Fahraufgabe ab und bildet jede der sicherheitsrelevanten Teilaufgaben auf ein oder mehrere Steuersignale ab. Das eine oder die mehreren Steuersignale bewirken jeweils eine oder mehrere Steueraktionen, die das autonome Fahrzeug automatisch steuern, um das autonome Fahrzeug zu veranlassen, ein bestimmtes sicherheitsrelevantes Fahrmanöver durchzuführen, welches das jeweilige Fahrszenario, das während des Betriebs des autonomen Fahrzeugs auftritt, behandelt. Ein sensomotorisches Primitivmodul der modellprädiktiven Steuerung (MPC) bildet die Sensordaten über die Wahrnehmungskarte auf eine oder mehrere komfortbezogene Teilaufgaben der autonomen Fahraufgabe ab und bildet jede der komfortbezogenen Teilaufgaben auf ein oder mehrere Steuersignale ab. Das eine oder die mehreren Steuersignale bewirken jeweils eine oder mehrere Steueraktionen, die das autonome Fahrzeug automatisch steuern, um ein spezifisches komfortbezogenes Fahrmanöver durchzuführen, das (1) ein Referenzziel aufweist und (2) das jeweilige Fahrszenario während des Betriebs des autonomen Fahrzeugs berücksichtigt. In einer Ausführungsform verarbeitet ein sensomotorisches Primitivprozessormodul (MPC) der Prädikatenlogik (PL) und der modellprädiktiven Steuerung (MPC) Informationen aus der Wahrnehmungskarte und führt basierend auf den verarbeiteten Informationen aus der Wahrnehmungskarte das PL und die sensomotorischen Primitivmodule MPC der jeweiligen Kombination der sensomotorischen Primitivmodule aus, sodass jeweils ein Fahrzeugtrajektorien- und Geschwindigkeitsprofil erzeugt wird.
  • In einer Ausführungsform sind eines oder mehrere der sensomotorischen Primitivmodule ein gelerntes sensomotorisches Primitivmodul, das die Merkmalskarte direkt auf ein oder mehrere Steuersignale abbildet, die jeweils eine oder mehrere Steuerungsaktionen bewirken, die das autonome Fahrzeug automatisch steuern, um das autonome Fahrzeug zu veranlassen, ein bestimmtes Fahrmanöver durchzuführen, das (1) kein Referenzziel oder keine Steuerungsfunktion aufweist und (2) das besondere Fahrszenario behandelt, das während des Betriebs des autonomen Fahrzeugs auftreten kann. In einer Ausführungsform verarbeitet das gelernte sensomotorische Primitivprozessormodul Informationen aus der Merkmalskarte; und führt, basierend auf den verarbeiteten Informationen aus der Merkmalskarte, jedes gelernte sensomotorische Primitivmodul der jeweiligen Kombination der sensomotorischen Primitivmodule so aus, dass jedes ein Fahrzeugtrajektorien- und Geschwindigkeitsprofil erzeugt.
  • In einer Ausführungsform vor der Auswahl der jeweiligen Kombination von sensomotorischen Primitivmodulen, verarbeitet das Szenenverständnismodul die Navigationsroutendaten, die Fahrzeugpositionsdaten und die Merkmalskarte zum Definieren einer autonomen Fahraufgabe und zerlegt die autonome Fahraufgabe in eine Folge von Teilaufgaben, die das jeweilige Fahrszenario behandeln. Das Verfahren umfasst dann ferner das Verarbeiten eines ausgewählten von Fahrzeugtrajektorien- und Geschwindigkeitsprofilen an einem Fahrzeugsteuermodul, um Steuersignale zu erzeugen; und verarbeitet an einer Low-Level-Steuerung die Steuersignale des Fahrzeugsteuermoduls, um Befehle zu erzeugen, die eines oder mehrere der Stellglieder des autonomen Fahrzeugs gemäß den Steuersignalen steuern, um eine oder mehrere auszuführende Steuerungsaktionen zur automatischen Steuerung des autonomen Fahrzeugs zu planen und auszuführen, um die im jeweiligen Fahrszenario auftretende autonome Fahraufgabe zu automatisieren und das ausgewählte der Fahrzeugtrajektorien- und Geschwindigkeitsprofile zu erreichen. In einer Ausführungsform beinhalten die Stellglieder eine oder mehrere einer Lenksteuerung, eines Bremssystems und eines Drosselsystems.
  • Ein autonomes Fahrzeugsteuersystem ist vorgesehen, das ein Sensorsystem umfasst, das zum Bereitstellen von Sensordaten konfiguriert ist, und eine High-Level-Steuerung. Die High-Level-Steuerung umfasst ein Kartengeneratormodul, ein Wahrnehmungskartengeneratormodul und ein Fahrzeugsteuermodul. Das Merkmalskartengeneratormodul ist konfiguriert, um die Sensordaten, Navigationsroutendaten, die eine Route des autonomen Fahrzeugs anzeigen, und Fahrzeugpositionsdaten, die die Position des autonomen Fahrzeugs anzeigen, zu verarbeiten, um eine Merkmalskarte zu erzeugen. Die Merkmalskarte umfasst eine maschinenlesbare Darstellung einer Fahrumgebung, die Merkmale beinhaltet, die über das Sensorsystem in einem bestimmten Fahrszenario zu einem bestimmten Zeitpunkt erfasst werden. Das Wahrnehmungskartengeneratormodul ist konfiguriert, um basierend auf der Merkmalskarte eine Wahrnehmungskarte zu erzeugen. Die Wahrnehmungskarte umfasst eine menschenlesbare Darstellung der Fahrumgebung, die Szenen beinhaltet, die über das Sensorsystem im jeweiligen Fahrszenario zu einem bestimmten Zeitpunkt erfasst wurden. Das Fahrzeugsteuermodul umfasst einen Speicher, der konfiguriert ist, um eine Vielzahl von sensomotorischen Primitivmodulen zu speichern; ein Szenenverständnismodul; ein Auswahlmodul und ein Primitivprozessormodul. Das Szenenverständnismodul ist so konfiguriert, dass es basierend auf der Merkmalskarte eine bestimmte Kombination der sensomotorischen Primitivmodule auswählt, die für das bestimmte Fahrszenario aktiviert und ausgeführt werden sollen. Jedes sensomotorische Primitivmodul bildet Informationen entweder von der Merkmalskarte oder der Wahrnehmungskarte auf ein Fahrzeugtrajektorien- und Geschwindigkeitsprofil ab und ist ausführbar, um ein Fahrzeugtrajektorien- und Geschwindigkeitsprofil zum automatischen Steuern des autonomen Fahrzeugs zu erzeugen, um zu bewirken, dass das autonome Fahrzeug ein bestimmtes Fahrmanöver durchführt. Jede der besonderen Kombinationen der sensomotorischen Primitivmodule behandelt eine Teilaufgabe in einer Folge von Teilaufgaben, die das bestimmte Fahrszenario aufgreifen. Das Auswahlmodul ist konfiguriert, um die besondere Kombination der sensomotorischen Primitivmodule aus dem Speicher abzurufen, und das Primitivprozessormodul ist konfiguriert, um die besondere Kombination der sensomotorischen Primitivmodule auszuführen, sodass jedes ein Fahrzeugtrajektorien- und Geschwindigkeitsprofil erzeugt.
  • In einer Ausführungsform sind mindestens einige der sensomotorischen Primitivmodule entweder ein sensomotorisches Primitivmodul der Prädikatenlogik (PL) oder der modellprädiktiven Steuerung (MPC). Ein Prädikatenlogik-(PL)-sensomotorisches Primitivmodul bildet die Sensordaten über die Wahrnehmungskarte auf eine oder mehrere sicherheitsrelevante Teilaufgaben der autonomen Fahraufgabe ab und bildet jede der sicherheitsrelevanten Teilaufgaben auf ein oder mehrere Steuersignale ab. Das eine oder die mehreren Steuersignale bewirken jeweils eine oder mehrere Steueraktionen, die das autonome Fahrzeug automatisch steuern, um das autonome Fahrzeug zu veranlassen, ein bestimmtes sicherheitsrelevantes Fahrmanöver durchzuführen, welches das jeweilige Fahrszenario, das während des Betriebs des autonomen Fahrzeugs auftritt, behandelt. Ein sensomotorisches Primitivmodul der modellprädiktiven Steuerung (MPC) bildet die Sensordaten über die Wahrnehmungskarte auf eine oder mehrere komfortbezogene Teilaufgaben der autonomen Fahraufgabe ab und bildet jede der komfortbezogenen Teilaufgaben auf ein oder mehrere Steuersignale ab. Das eine oder die mehreren Steuersignale bewirken jeweils eine oder mehrere Steueraktionen, die das autonome Fahrzeug automatisch steuern, um ein spezifisches komfortbezogenes Fahrmanöver durchzuführen, das (1) ein Referenzziel aufweist und (2) das jeweilige Fahrszenario während des Betriebs des autonomen Fahrzeugs berücksichtigt.
  • In einer Ausführungsform umfasst das Primitivprozessormodul eine Prädikatenlogik (PL) und ein modellprädiktives Steuermodul (MPC), das konfiguriert ist, um Informationen aus der Wahrnehmungskarte zu verarbeiten; und basierend auf den verarbeiteten Informationen aus der Wahrnehmungskarte das PL und das MPC-sensomotorische Primitivmodul der jeweiligen Kombination der sensomotorischen Primitivmodule auszuführen, sodass jedes ein Fahrzeugtrajektorien- und Geschwindigkeitsprofil erzeugt.
  • In einer Ausführungsform sind eines oder mehrere der sensomotorischen Primitivmodule gelernte sensomotorische Primitivmodule. Ein gelerntes sensomotorisches Primitivmodul bildet direkt die Merkmalskarte auf ein oder mehrere Steuersignale ab, die jeweils eine oder mehrere Steuerungsaktionen bewirken, die das autonome Fahrzeug automatisch steuern, um das autonome Fahrzeug zu veranlassen, ein bestimmtes Fahrmanöver durchzuführen, das (1) kein Referenzziel oder keine Steuerungsfunktion aufweist und (2) das besondere Fahrszenario behandelt, das während des Betriebs des autonomen Fahrzeugs auftreten kann.
  • In einer Ausführungsform umfasst das Primitivprozessormodul ein gelerntes sensomotorisches Primitivprozessormodul, das konfiguriert ist, um Informationen aus der Merkmalskarte zu verarbeiten, und führt, basierend auf den verarbeiteten Informationen aus der Merkmalskarte, das gelernte sensomotorische Primitivmodul der jeweiligen Kombination der sensomotorischen Primitivmodule so aus, dass jedes ein Fahrzeugtrajektorien- und Geschwindigkeitsprofil erzeugt.
  • In einer Ausführungsform umfassen die Sensordaten Bilddaten, die Pixelinformationen beinhalten, die von Kameras erhalten wurden, und Bereichspunktdaten, die von einem oder mehreren Entfernungssystemen bereitgestellt werden. Das Merkmalskartengeneratormodul umfasst ein Merkmal extrahierendes faltungsneuronales Netzwerk (CNN), das eine Vielzahl von Schichten umfasst, worin jede Schicht der Merkmalsextraktion CNN konfiguriert ist, um nacheinander Pixel der Bilddaten zu verarbeiten, um Merkmale aus den Bilddaten und den Ausgangsmerkmalsschichten zu extrahieren. So ist beispielsweise die Merkmalsextraktion CNN konfiguriert, um: die Bereichspunktdaten zu verarbeiten, um eine Bereichsanwesenheitskarte der Bereichspunktdaten zu erzeugen, wobei jeder Bereichspunkt einen Wert einer Entfernung von einem Fahrzeug anzeigt; jede Funktionsschicht mit einer vorherigen Funktionsschicht und der Bereichsanwesenheitskarte zu verknüpfen; und die Verknüpfung jeder Funktionsschicht mit der vorherigen Funktionsschicht und der Bereichsanwesenheitskarte als die Funktionskarte auszugeben.
  • In einer Ausführungsform umfasst die Vielzahl von Schichten: eine erste Faltungsschicht, die konfiguriert ist, um eine erste Bank von Faltungskernel auf eine Eingabeschicht anzuwenden, die rot-grün-blaue (RGB) Bilddaten umfasst, wobei jeder Faltungskernel einen Ausgabekanal der ersten Schicht erzeugt, der ein Bild mit einer ersten Auflösung umfasst; eine erste Max-Pooling-Schicht, die konfiguriert ist, um jeden ersten Ausgabekanal durch Anwenden einer Maximalwertoperation auf diesen ersten Ausgabekanal zu verarbeiten, um das entsprechende Bild mit der ersten Auflösung herunterzustufen, worin die erste Max-Pooling-Schicht eine Vielzahl von zweiten Ausgabekanälen ausgibt, die jeweils ein Bild mit einer zweiten Auflösung umfassen, die kleiner als die erste Auflösung ist; eine zweite Faltungsschicht, die konfiguriert ist, um eine zweite Bank von Faltungskerneln auf jeden der Vielzahl von zweiten Ausgabekanälen anzuwenden, worin jeder Faltungskernel der zweiten Bank einen dritten Ausgabekanal erzeugt, der ein Bild mit einer dritten Auflösung umfasst, die geringer als die zweite Auflösung ist; und eine zweite Max-Pooling-Schicht, die konfiguriert ist, um jeden dritten Ausgabekanal zu verarbeiten, indem sie eine weitere Maximalwertoperation auf diesen dritten Ausgabekanal anwendet, um das entsprechende Bild mit der dritten Auflösung herunterzustufen, worin die zweite Max-Pooling-Schicht eine Vielzahl von vierten Ausgabekanälen ausgibt, die jeweils ein Bild mit einer vierten Auflösung umfassen, die geringer als die dritte Auflösung ist, worin die Merkmalsschicht einen dreidimensionalen Tensor umfasst, der die Vielzahl der vierten Ausgabekanäle umfasst.
  • In einer Ausführungsform umfasst das Wahrnehmungskartengeneratormodul ein Objekterkennungsmodul CNN, das ein Bereichsvorschlags-(RP)-Generatormodul umfasst, das konfiguriert ist, um die Merkmalskarte zum Erzeugen eines Satzes von Vorschlägen für den Bereich des Begrenzungsrahmens zu verarbeiten; ein Interessensbereichs-(ROI)-Pooling-Modul, das konfiguriert ist, um die Merkmalskarte und den Satz von Vorschlägen für den Begrenzungsrahmenbereich zum Extrahieren von Interessensbereichen aus der Merkmalskarte zu verarbeiten, die Begrenzungsrahmenkandidaten sind; ein schnelles faltungsneuronales Netzwerk (R-CNN), das konfiguriert ist, um die Begrenzungsrahmenkandidaten zum Erzeugen der Position, der Ausrichtung und Geschwindigkeit eines jeden erfassten Objekts der Wahrnehmungskarte zu verarbeiten; und Klassifizieren der erfassten Objekte nach semantischen Klassen in Übereinstimmung mit ihren jeweiligen Objekttypen; ein Freiraum-Merkmalsgeneratormodul, das konfiguriert ist, um die Merkmalskarte zu verarbeiten, um eine Bildsegmentierung des Freiraums zu erzeugen, die Freiraummerkmale aus der Umgebung beinhaltet; ein Straßenniveau-Merkmalsgeneratormodul, das konfiguriert ist, um die Merkmalskarte zu verarbeiten, um Standorte und Arten von Straßenmerkmalen aus der Umgebung zu erzeugen; und ein Stixel-Generatormodul, das konfiguriert ist, um die Merkmalskarte so zu verarbeiten, dass sie Stixel durch Partitionieren eines Bildes aus der Merkmalskarte in Stixel erzeugt. Jedes Stixel ist ein vertikaler Schnitt mit einer festen Breite, der durch seine dreidimensionale Position in Bezug auf eine Kamera definiert ist, und weist Attribute auf, die die Wahrscheinlichkeit beinhalten, dass es sich bei diesem vertikalen Schnitt um ein Stixel handelt, einen Index der unteren Endreihe und eine Höhe in Bezug auf den Boden, die sich den unteren und oberen Grenzen eines Hindernisses annähert. In dieser Ausführungsform umfasst die Wahrnehmungskarte: eine Begrenzungsrahmenposition, eine Ausrichtung und eine Geschwindigkeit jedes erfassten Objekts; einen Objekttyp für jedes erfasste Objekt; Freiraummerkmale aus der Umgebung; Standorte und Arten von Straßenmerkmalen aus der Umgebung; und eine Vielzahl von Stixeln. Jedes Stixel ist eine vertikale Scheibe mit einer festen Breite und weist Attribute auf, die sich den unteren und oberen Grenzen eines Hindernisses annähern.
  • Es ist eine Steuerung für ein autonomes Fahrzeug vorgesehen. Die Steuerung umfasst eine High-Level-Steuerung, die ein Kartengeneratormodul, ein Wahrnehmungskartengeneratormodul und ein Fahrzeugsteuermodul umfasst. Das Merkmalskartengeneratormodul ist konfiguriert, um Sensordaten aus einem Sensorsystem, Navigationsroutendaten, die eine Route des autonomen Fahrzeugs anzeigen, und Fahrzeugpositionsdaten, die die Position des autonomen Fahrzeugs anzeigen, zu verarbeiten, um eine Merkmalskarte zu erzeugen. Die Merkmalskarte umfasst eine maschinenlesbare Darstellung einer Fahrumgebung, die Merkmale beinhaltet, die über das Sensorsystem in einem bestimmten Fahrszenario zu einem bestimmten Zeitpunkt erfasst werden. Das Wahrnehmungskartengeneratormodul ist konfiguriert, um basierend auf der Merkmalskarte eine Wahrnehmungskarte zu erzeugen. Die Wahrnehmungskarte umfasst eine menschenlesbare Darstellung der Fahrumgebung, die Szenen beinhaltet, die über das Sensorsystem im jeweiligen Fahrszenario zu einem bestimmten Zeitpunkt erfasst wurden. Das Fahrzeugsteuermodul umfasst ein Szenenverständnismodul, ein Auswahlmodul und ein Primitivprozessormodul. Das Szenenverständnismodul ist konfiguriert, um aus einer Vielzahl von sensomotorischen Primitivmodulen, basierend auf der Merkmalskarte, eine bestimmte Kombination von sensomotorischen Primitivmodulen auszuwählen, die für das jeweilige Fahrszenario aktiviert und ausgeführt werden sollen. Jedes sensomotorische Primitivmodul bildet Informationen entweder von der Merkmalskarte oder der Wahrnehmungskarte auf ein Fahrzeugtrajektorien- und Geschwindigkeitsprofil ab und ist ausführbar, um ein Fahrzeugtrajektorien- und Geschwindigkeitsprofil zum automatischen Steuern des autonomen Fahrzeugs zu erzeugen, um zu bewirken, dass das autonome Fahrzeug ein bestimmtes Fahrmanöver durchführt. Jede der besonderen Kombinationen der sensomotorischen Primitivmodule behandelt eine Teilaufgabe in einer Folge von Teilaufgaben, die das bestimmte Fahrszenario aufgreifen. Das Auswahlmodul ist konfiguriert, um die besondere Kombination der sensomotorischen Primitivmodule vom Speicher abzurufen, und das Primitivprozessormodul ist konfiguriert, um die besondere Kombination der sensomotorischen Primitivmodule auszuführen, sodass jedes ein Fahrzeugtrajektorien- und Geschwindigkeitsprofil erzeugt.
  • In einer Ausführungsform ist jedes der sensomotorischen Primitivmodule entweder ein Prädikatenlogik (PL) sensomotorisches Primitivmodul, ein modellprädiktives Steuermodul (MPC) sensomotorisches Primitivmodul oder ein gelerntes sensomotorisches Primitivmodul. Ein Prädikatenlogik-(PL)-sensomotorisches Primitivmodul bildet die Sensordaten über die Wahrnehmungskarte auf eine oder mehrere sicherheitsrelevante Teilaufgaben der autonomen Fahraufgabe ab und bildet jede der sicherheitsrelevanten Teilaufgaben auf ein oder mehrere Steuersignale ab. Das eine oder die mehreren Steuersignale bewirken jeweils eine oder mehrere Steueraktionen, die das autonome Fahrzeug automatisch steuern, um das autonome Fahrzeug zu veranlassen, ein bestimmtes sicherheitsrelevantes Fahrmanöver durchzuführen, welches das jeweilige Fahrszenario, das während des Betriebs des autonomen Fahrzeugs auftritt, behandelt. Ein sensomotorisches Primitivmodul der modellprädiktiven Steuerung (MPC) bildet die Sensordaten über die Wahrnehmungskarte auf eine oder mehrere komfortbezogene Teilaufgaben der autonomen Fahraufgabe ab und bildet jede der komfortbezogenen Teilaufgaben auf ein oder mehrere Steuersignale ab. Das eine oder die mehreren Steuersignale bewirken jeweils eine oder mehrere Steueraktionen, die das autonome Fahrzeug automatisch steuern, um ein spezifisches komfortbezogenes Fahrmanöver durchzuführen, das (1) ein Referenzziel aufweist und (2) das jeweilige Fahrszenario während des Betriebs des autonomen Fahrzeugs berücksichtigt. Ein gelerntes sensomotorisches Primitivmodul bildet direkt die Merkmalskarte auf ein oder mehrere Steuersignale ab, die jeweils eine oder mehrere Steuerungsaktionen bewirken, die das autonome Fahrzeug automatisch steuern, um das autonome Fahrzeug zu veranlassen, ein bestimmtes Fahrmanöver durchzuführen, das (1) kein Referenzziel oder keine Steuerungsfunktion aufweist und (2) das besondere Fahrszenario behandelt, das während des Betriebs des autonomen Fahrzeugs auftreten kann.
  • In einer Ausführungsform umfasst das Primitivprozessormodul eine Prädikatenlogik (PL) und ein sensomotorisches Primitivprozessormodul der modellprädiktiven Steuerung (MPC) und ein erlerntes sensomotorisches Primitivprozessormodul. Die Prädikatenlogik (PL) und modellprädiktive Steuermodul (MPC) sind konfiguriert, um Informationen aus der Wahrnehmungskarte zu verarbeiten; und basierend auf den verarbeiteten Informationen aus der Wahrnehmungskarte das PL und das MPC-sensomotorische Primitivmodul der jeweiligen Kombination der sensomotorischen Primitivmodule auszuführen, sodass jedes ein Fahrzeugtrajektorien- und Geschwindigkeitsprofil erzeugt wird. Das gelernte sensomotorische Primitivprozessormodul ist konfiguriert, um Informationen aus der Merkmalskarte zu verarbeiten, und führt, basierend auf den verarbeiteten Informationen aus der Merkmalskarte, das gelernte sensomotorische Primitivmodul der jeweiligen Kombination der sensomotorischen Primitivmodule so aus, dass jedes ein Fahrzeugtrajektorien- und Geschwindigkeitsprofil erzeugt.
  • Figurenliste
  • Die exemplarischen Ausführungsformen werden nachfolgend in Verbindung mit den folgenden Zeichnungen beschrieben, worin gleiche Ziffern gleiche Elemente bezeichnen, und worin gilt:
    • 1 ist ein Funktionsblockdiagramm, das ein autonomes Fahrzeug gemäß den offenbarten Ausführungsformen veranschaulicht;
    • 2 ist ein Funktionsblockdiagramm, das ein Transportsystem mit einem oder mehreren autonomen Fahrzeugen von 1 gemäß den offenbarten Ausführungsformen veranschaulicht;
    • 3 ist ein Datenflussdiagramm, das ein autonomes Antriebssystem des autonomen Fahrzeugs gemäß den offenbarten Ausführungsformen veranschaulicht;
    • 4 ist ein Blockdiagramm, das ein Fahrzeugsteuerungssystem gemäß den offenbarten Ausführungsformen veranschaulicht;
    • 5 ist ein Blockdiagramm, das ein anderes Fahrzeugsteuerungssystem gemäß einer Implementierung der offenbarten Ausführungsformen veranschaulicht;
    • 6 ist ein Blockdiagramm, das ein Kartengeneratormodul von 5 gemäß den offenbarten Ausführungsformen veranschaulicht;
    • 7 ist ein Blockdiagramm, das ein Wahrnehmungskartengeneratormodul, eine Prädikatenlogik (PL) und ein modellprädiktives Steuerungs-(MPC)-sensomotorisches Primitivprozessormodul und ein Arbitriermodul von 5 gemäß den offenbarten Ausführungsformen veranschaulicht;
    • 8 ist ein Blockdiagramm, das ein Merkmalskartengeneratormodul, ein eingelerntes sensomotorisches Primitivprozessormodul und ein Arbitriermodul von 5 gemäß den offenbarten Ausführungsformen veranschaulicht;
    • 9A ist ein Blockdiagramm, das ein Arbitriermodul, ein Fahrzeugsteuermodul und ein Stellgliedsystem von 5 gemäß den offenbarten Ausführungsformen veranschaulicht;
    • 9B ist ein Diagramm, das ein nicht-einschränkendes Beispiel für eine Fahrzeugtrajektorie und ein Geschwindigkeitsprofil gemäß den offenbarten Ausführungsformen veranschaulicht;
    • 10A ist ein Flussdiagramm, das ein Steuerverfahren zum Steuern eines autonomen Fahrzeugs gemäß den offenbarten Ausführungsformen veranschaulicht;
    • 10B ist eine Fortsetzung des Flussdiagramms in 10A, welches das Verfahren zum Steuern eines autonomen Fahrzeugs gemäß den offenbarten Ausführungsformen weiter veranschaulicht;
    • 11 ist ein Flussdiagramm, das ein Verfahren zum Erzeugen einer Merkmalskarte gemäß den offenbarten Ausführungsformen veranschaulicht;
    • 12 ist ein Flussdiagramm, das ein Verfahren zum Erzeugen einer Wahrnehmungskarte gemäß den offenbarten Ausführungsformen veranschaulicht; und
    • 13 ist ein Flussdiagramm, das ein Verfahren zum Erzeugen von Steuersignalen zum Steuern des autonomen Fahrzeugs basierend auf einer ausgewählten Fahrzeugtrajektorie und einem Geschwindigkeitsprofil gemäß den offenbarten Ausführungsformen veranschaulicht.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die folgende ausführliche Beschreibung dient lediglich als Beispiel und soll die Anwendung und Verwendung in keiner Weise einschränken. Weiterhin besteht keine Absicht, im vorstehenden technischen Bereich, Hintergrund, der Kurzzusammenfassung oder der folgenden ausführlichen Beschreibung an eine ausdrücklich oder implizit vorgestellte Theorie gebunden zu sein. Der hierin verwendete Begriff „Modul“ bezieht sich auf alle Hardware-, Software-, Firmwareprodukte, elektronische Steuerkomponenten, auf die Verarbeitungslogik und/oder Prozessorgeräte, einzeln oder in Kombinationen, unter anderem umfassend, eine anwendungsspezifische integrierte Schaltung (ASIC), eine elektronische Schaltung, einen Prozessor (gemeinsam genutzt, dediziert oder gruppiert) und einen Speicher, der ein oder mehrere Software- oder Firmwareprogramme, eine kombinatorische Logikschaltung und/oder andere geeignete Komponenten ausführt, die die beschriebene Funktionalität bieten.
  • Ausführungsformen der vorliegenden Offenbarung können hierin als funktionale und/oder logische Blockkomponenten und verschiedene Verarbeitungsschritte beschrieben sein. Es ist zu beachten, dass derartige Blockkomponenten aus einer beliebigen Anzahl an Hardware-, Software- und/oder Firmware-Komponenten aufgebaut sein können, die zur Ausführung der erforderlichen Funktionen konfiguriert sind. Zum Beispiel kann eine Ausführungsform der vorliegenden Offenbarung eines Systems oder einer Komponente verschiedene integrierte Schaltungskomponenten, beispielsweise Speicherelemente, digitale Signalverarbeitungselemente, Logikelemente, Wertetabellen oder dergleichen, einsetzen, die mehrere Funktionen unter der Steuerung eines oder mehrerer Mikroprozessoren oder anderer Steuervorrichtungen durchführen können. Zudem werden Fachleute auf dem Gebiet erkennen, dass die exemplarischen Ausführungsformen der vorliegenden Offenbarung in Verbindung mit einer beliebigen Anzahl an Systemen eingesetzt werden können, und dass das hierin beschriebene System lediglich eine exemplarische Ausführungsform der vorliegenden Offenbarung darstellt.
  • Der Kürze halber sind konventionelle Techniken in Verbindung mit der Signalverarbeitung, Datenübertragung, Signalgebung, Steuerung und weiteren funktionalen Aspekten der Systeme (und den einzelnen Bedienelementen der Systeme) hierin ggf. nicht im Detail beschrieben. Weiterhin sollen die in den verschiedenen Figuren dargestellten Verbindungslinien exemplarische Funktionsbeziehungen und/oder physikalische Verbindungen zwischen den verschiedenen Elementen darstellen. Es sollte beachtet werden, dass viele alternative oder zusätzliche funktionale Beziehungen oder physikalische Verbindungen in einer Ausführungsform der vorliegenden Offenbarung vorhanden sein können.
  • 1 ist ein Funktionsblockdiagramm, das ein autonomes Fahrzeug gemäß den offenbarten Ausführungsformen veranschaulicht. Wie in 1 dargestellt, beinhaltet das Fahrzeug 10 im Allgemeinen ein Fahrgestell 12, eine Karosserie 14, Vorderräder 16 und Hinterräder 18. Die Karosserie 14 ist auf dem Fahrgestell 12 angeordnet und umschließt im Wesentlichen die Komponenten des Fahrzeugs 10. Die Karosserie 14 und das Fahrgestell 12 können gemeinsam einen Rahmen bilden. Die Räder 16-18 sind jeweils mit dem Fahrgestell 12 in der Nähe einer jeweiligen Ecke der Karosserie 14 drehbar gekoppelt.
  • In verschiedenen Ausführungsformen ist das Fahrzeug 10 ein autonomes Fahrzeug und das autonome Antriebssystem (ADS) ist in das autonome Fahrzeug 10 (nachfolgend als das autonome Fahrzeug 10 bezeichnet) integriert, welches das Fahrzeug 10 intelligent steuert. Das autonome Fahrzeug 10 ist beispielsweise ein Fahrzeug, das automatisch gesteuert wird, um Passagiere von einem Ort zum anderen zu befördern. Das Fahrzeug 10 ist in der veranschaulichten Ausführungsform als Pkw dargestellt, es sollte jedoch beachtet werden, dass auch jedes andere Fahrzeug, einschließlich Motorräder, Lastwagen, Sportfahrzeuge (SUVs), Freizeitfahrzeuge (RVs), Schiffe, Flugzeuge usw. verwendet werden können. In einer exemplarischen Ausführungsform kann das autonome Fahrzeug 10 ein sogenanntes Level-Vier oder Level-Fünf Automatisierungssystem sein. Ein Level-Vier-System zeigt eine „hohe Automatisierung“ unter Bezugnahme auf die Fahrmodus-spezifische Leistung durch ein automatisiertes Fahrsystem aller Aspekte der dynamischen Fahraufgabe an, selbst wenn ein menschlicher Fahrer nicht angemessen auf eine Anforderung einzugreifen, reagiert. Ein Level-Fünf-System zeigt eine „Vollautomatisierung“ an und verweist auf die Vollzeitleistung eines automatisierten Fahrsystems aller Aspekte der dynamischen Fahraufgabe unter allen Fahrbahn- und Umgebungsbedingungen, die von einem menschlichen Fahrer verwaltet werden können.
  • Wie dargestellt, beinhaltet das autonome Fahrzeug 10 im Allgemeinen ein Antriebssystem 20, ein Übertragungssystem 22, ein Lenksystem 24, ein Bremssystem 26, ein Sensorsystem 28, mindestens einen Datenspeicher 32, mindestens eine Steuerung 34, ein Kommunikationssystem 36 und ein Stellgliedsystem 90. Das Antriebssystem 20 kann in verschiedenen Ausführungsformen einen Verbrennungsmotor, eine elektrische Maschine, wie beispielsweise einen Traktionsmotor und/oder ein Brennstoffzellenantriebssystem, beinhalten. Das Getriebesystem 22 ist dazu konfiguriert, Leistung vom Antriebssystem 20 zu den Fahrzeugrädern 16-18 gemäß den wählbaren Drehzahlverhältnissen zu übertragen. Gemäß verschiedenen Ausführungsformen kann das Getriebesystem 22 ein Stufenverhältnis-Automatikgetriebe, ein stufenlos verstellbares Getriebe oder ein anderes geeignetes Getriebe beinhalten. Das Bremssystem 26 ist dazu konfiguriert, den Fahrzeugrädern 16-18 ein Bremsmoment bereitzustellen. Das Bremssystem 26 kann in verschiedenen Ausführungsformen Reibungsbremsen, Brake-by-Wire, ein regeneratives Bremssystem, wie beispielsweise eine elektrische Maschine und/oder andere geeignete Bremssysteme beinhalten. Das Lenksystem 24 beeinflusst eine Position der Fahrzeugräder 16-18. Während in einigen Ausführungsformen innerhalb des Umfangs der vorliegenden Offenbarung zur Veranschaulichung als ein Lenkrad dargestellt, kann das Lenksystem 24 kein Lenkrad beinhalten.
  • Das Sensorsystem 28 beinhaltet eine oder mehrere Sensorvorrichtungen 40a-40n, die beobachtbare Zustände der äußeren Umgebung und/oder der inneren Umgebung des autonomen Fahrzeugs 10 erfassen. Die Abtastvorrichtungen 40a-40n können Radare, Lidare, optische Kameras, Wärmebildkameras, Bildgebungssensoren, Ultraschallsensoren, Trägheitsmesseinheiten, globale Positionierungssysteme, Navigationssysteme und/oder andere Sensoren beinhalten, sind aber nicht darauf beschränkt.
  • So können beispielsweise Radarvorrichtungen elektromagnetische Wellen, die von Objekten reflektiert werden, verarbeiten, um Radardaten zu erzeugen, die das Vorhandensein, die Richtung, die Entfernung und die Geschwindigkeit von Objekten im Sichtfeld anzeigen. Ein Radarfilter- und Vorverarbeitungsmodul kann die Radardaten vorverarbeiten, um Dinge wie stationäre Objekte, Objekte in nicht befahrbaren Bereichen (wie Radarrückläufer von Gebäuden) und verrauschte Messungen/Störungen (z. B. aufgrund der Geschwindigkeit) zu entfernen und vorverarbeitete Radardaten zu erzeugen. Die Radarverfolgung kann dann die vorverarbeiteten Radardaten weiterverarbeiten, um die Radarverfolgungsinformationen zu erzeugen, die dann zum Verfolgen von Objekten verwendet werden können.
  • Kameras (oder Bildsensoren) können so angeordnet werden, dass sie eine dreihundertsechzig (360) Grad Bildberichterstattung über die Umgebung des Fahrzeugs 10 ermöglichen. Die Kameras erfassen Bilder (z. B. Einzelbilder) und geben Bilddaten (z. B. ein verzerrtes Bild im YUV-Format) aus, die dann zu gleichgerichteten (oder unverzerrten) Kamerabildern verarbeitet werden können. Ein Bildvorverarbeitungsmodul kann die Bilddaten verarbeiten, indem es die Bilddaten entzerrt/korrigiert, die korrigierten Bilddaten vorverarbeitet (z. B. Bildgrößenänderung und mittlere Subtraktion) und die korrigierten, vorverarbeiteten Bilddaten in korrigierte Kamerabilder (z. B. in einem normalen RGB-Format) umwandelt, die ein neuronales Netzwerk eines Bildklassifikationsmoduls klassifizieren kann. Die Bilddaten können korrigiert werden, um Verzerrungen im Bild zu korrigieren, was dazu führen kann, dass gerade Linien (in Wirklichkeit) gekrümmt erscheinen, wenn beispielsweise Punktwolken im 3D-Raum auf die nicht korrigierten Bilddaten projiziert wurden, könnten sie aufgrund der Verzerrungen tatsächlich an der falschen Stelle im Bild sein. Durch das Entzerren des Bildes entsprechen die Projektionen aus dem 3D-Raum den richtigen Teilen des Bildes. Die entzerrten Kamerabilder können dann zusammen mit anderen Eingaben, einschließlich dreidimensionaler Positionen von Objekten aus einem Objektverfolgungsmodul, an ein Bildklassifizierungsmodul gesendet und zum Erzeugen der Bildklassifizierungsdaten verarbeitet werden, die einem Objektklassifizierungsmodul bereitgestellt und zum Erzeugen von Objektklassifizierungsdaten verwendet werden können, die dann an ein Objektverfolgungsmodul gesendet werden können, das die Objekte, die Radarverfolgungsinformationen und Objektklassifizierungsdaten verarbeitet, um Objektverfolgungsinformationen zu erzeugen.
  • Lidar-Vorrichtungen führen eine Abtastung durch, indem sie ein Ziel mit Laserlichtimpulsen beleuchten, und messen die Entfernung zu einem Ziel, indem sie reflektierte Impulse zurückempfangen. Die Intensität reflektierter Impulse kann kollektiv von den Lidar-Vorrichtungen verwendet werden, um eine Lidar-Punktwolke zu erzeugen, die die räumliche Struktur/Charakteristik von Objekten innerhalb des Sichtfeldes darstellt. So können die Lidar-Vorrichtungen beispielsweise zum Scannen rotierende Laserstrahlen, die sich um dreihundertundsechzig (360) Grad um das Fahrzeug herumdrehen. Alternativ können die Lidar-Vorrichtungen mit einer bestimmten Abtastfrequenz hin und her schwingen (d. h. wie schnell sie schwingen) und Impulse mit einer Wiederholungsrate emittieren.
  • Jede der Lidar-Vorrichtungen empfängt Lidardaten und verarbeitet die Lidardaten (z. B. Pakete mit Lidar-Rückgabeinformationen), um eine Lidar-Punktwolke zu erzeugen (z. B. einen dreidimensionalen Satz von Punkten in einer dreihundertsechzig (360) Grad-Zone um das Fahrzeug herum). Jeder Punkt besitzt zusätzlich zu einer dreidimensionalen XYZ-Position Intensitätsdaten. In einer Ausführungsform beinhaltet die Punktwolke beispielsweise einen ersten, einen mittleren und einen letzten von jedem Laserimpuls zurückkehrenden Punkt. Die Lidar-Vorrichtungen können miteinander synchronisiert (oder phasenverriegelt) werden.
  • Die Kameras können mit ihrer maximalen Bildrate betrieben werden, wobei die Aktualisierungsrate der Kameras in der Regel viel höher ist als bei den Lidar-Vorrichtungen. Während sich das Lidar im Uhrzeigersinn von der Rückseite des Fahrzeugs dreht, nimmt jede Kamera während der Drehung der Lidar-Vorrichtung Bilder im Uhrzeigersinn auf. Ein extrinsisches Kalibrierungsverfahren kann Informationen darüber, wohin die Kameras zeigen, bereitstellen. Die Lidar-Vorrichtungen sind phasenverriegelt (d. h. diese sind zeitlich so geplant, dass diese sich zu bestimmten Zeiten in bestimmten Rotationspositionen befinden), sodass bekannt ist, wann die Lidar-Vorrichtungen bestimmte Teile ihres Zyklus abtasten. Zur Analyse einer Szene kann das System ermitteln, welcher Bildgeber/welche Kamera zu einem Zeitpunkt, zu dem bestimmte Lidar-Daten erfasst wurden, wie ausgerichtet war. Das System kann dasjenige Bild auswählen, das am nächsten zu dem Zeitpunkt, an dem die Lidar-Daten erfasst wurden, aufgenommen/erhalten wurde, sodass nur nahe einer bestimmten Zielzeit erfasste Bilder (d. h., wenn die Lidar-Vorrichtung dieselbe Region betrachtet, auf die eine Kamera zeigt) verarbeitet werden. Als Ergebnis können Kamera-Lidar-Paare mit ausgezeichneter Ausrichtung ermittelt werden. Hierdurch entstehen Lidar-Daten mit einer bestimmten Richtung/Ausrichtung zusammen mit entsprechenden Bilddaten für die Szene/Umgebung bei diesem Kurs/Ausrichtung.
  • Die Lidar-Daten der Lidar-Punktwolken, die durch die Lidar-Vorrichtungen erlangt werden, können zu einer einzigen Lidar-Punktwolke zusammengeführt werden. Dreidimensionale Punktabtastung kann dann durchgeführt werden, um die Lidar-Daten (der einzelnen Lidar-Punktwolke) vorzuverarbeiten, um einen Satz dreidimensionaler Punkte zu erzeugen, die dann durch ein Objektsegmentierungsmodul in Objekte unterteilt werden können, die klassifiziert und verfolgt werden können. So kann beispielsweise ein Objektklassifizierungsmodul mehrere Klassifizierer beinhalten, welche die Objekte klassifizieren, um Objektklassifizierungsdaten zu erzeugen. Ein Objektverfolgungsmodul kann die Objekte verfolgen. Die Verfolgungsinformationen können dann zusammen mit den Radarverfolgungsinformationen und den Objektklassifizierungsdaten verwendet werden, um Objektverfolgungsinformationen zu erzeugen (z. B. zeitliche Verfolgungsinformationen für Objekte wie Lage, Geometrie, Geschwindigkeit usw. von Objekten in der Umgebung).
  • Das Stellgliedsystem 90 beinhaltet eine oder mehrere Stellantriebs-Vorrichtungen 42a-42n, die ein oder mehrere Fahrzeugmerkmale, wie zum Beispiel das Antriebssystem 20, das Getriebesystem 22, ein Drosselsystem (nicht veranschaulicht), das Lenksystem 24 und das Bremssystem 26, steuern, jedoch nicht darauf beschränkt sind. Wie im Folgenden erläutert, verarbeitet eine untergeordnete Steuerung Steuersignale von einem Fahrzeugsteuermodul konfiguriert, um Befehle zu erzeugen, die eine oder mehrere dieser Betätigungsvorrichtungen 42a-42n gemäß den Steuersignalen 172 steuern, um eine oder mehrere Steuerungsaktionen zu planen und auszuführen, die zum automatischen Steuern des autonomen Fahrzeugs und zur Automatisierung der im jeweiligen Fahrszenario auftretenden autonomen Fahraufgabe (z. B. zum Erreichen einer oder mehrerer bestimmter Fahrzeugtrajektorien und Geschwindigkeitsprofile) durchzuführen sind. Darüber hinaus können in einigen Ausführungsformen die Fahrzeugmerkmale ferner Innen- und/oder Außenfahrzeugmerkmale, wie beispielsweise Türen, einen Kofferraum und Innenraummerkmale, wie z. B. Luft, Musik, Beleuchtung usw. (nicht nummeriert).
  • Das Kommunikationssystem 36 ist dazu konfiguriert, Informationen drahtlos an und von anderen Einheiten 48, wie beispielsweise, jedoch nicht beschränkt auf andere Fahrzeuge („V2V“-Kommunikation,) Infrastruktur („V2I“-Kommunikation), entfernte Systeme und/oder persönliche Vorrichtungen (in Bezug auf 2 näher beschrieben), zu übermitteln. In einer exemplarischen Ausführungsform ist das Kommunikationssystem 36 ein drahtloses Kommunikationssystem, das dazu konfiguriert, über ein drahtloses lokales Netzwerk (WLAN) unter Verwendung des IEEE 802.11-Standards oder mittels einer mobilen Datenkommunikation zu kommunizieren. Im Geltungsbereich der vorliegenden Offenbarung werden jedoch auch zusätzliche oder alternative Kommunikationsverfahren, wie beispielsweise ein dedizierter Nahbereichskommunikations-(DSRC)-Kanal, berücksichtigt. DSRC-Kanäle beziehen sich auf Einweg- oder Zweiwege-Kurzstrecken- bis Mittelklasse-Funkkommunikationskanäle, die speziell für den Automobilbau und einen entsprechenden Satz von Protokollen und Standards entwickelt wurden.
  • Die Datenspeichervorrichtung 32 speichert Daten zur Verwendung beim automatischen Steuern des autonomen Fahrzeugs 10. In verschiedenen Ausführungsformen speichert das Datenspeichergerät 32 definierte Landkarten der navigierbaren Umgebung. In verschiedenen Ausführungsformen werden die definierten Landkarten vordefiniert und von einem entfernten System (in weiteren Einzelheiten in Bezug auf 2 beschrieben) erhalten. So können beispielsweise die definierten Karten durch das entfernte System zusammengesetzt und dem autonomen Fahrzeug 10 (drahtlos und/oder drahtgebunden) mitgeteilt und in der Datenspeichervorrichtung 32 gespeichert werden. Wie ersichtlich ist, kann die Datenspeichervorrichtung 32 ein Teil der Steuerung 34, von der Steuerung 34 getrennt, oder ein Teil der Steuerung 34 und Teil eines separaten Systems sein.
  • Die Steuerung 34 beinhaltet mindestens einen Prozessor 44 und eine computerlesbare Speichervorrichtung oder Medien 46. Der Prozessor 44 kann eine Spezialanfertigung oder ein handelsüblicher Prozessor sein, eine Zentraleinheit (CPU), eine Grafikprozessoreinheit (GPU) unter mehreren Prozessoren verbunden mit der Steuerung 34, ein Mikroprozessor auf Halbleiterbasis (in Form eines Mikrochips oder Chip-Satzes), ein Mikroprozessor, eine Kombination derselben oder allgemein jede beliebige Vorrichtung zur Ausführung von Anweisungen. Die computerlesbare Speichervorrichtung oder Medien 46 können flüchtige und nicht-flüchtige Speicher in einem Nur-Lese-Speicher (ROM), einem Speicher mit direktem Zugriff (RAM) und einem Keep-Alive-Memory (KAM) beinhalten. KAM ist ein persistenter oder nicht-flüchtiger Speicher, der verwendet werden kann, um verschiedene Betriebsvariablen zu speichern, während der Prozessor 44 ausgeschaltet ist. Die computerlesbare Speichervorrichtung oder Medien 46 können unter Verwendung einer beliebigen einer Anzahl an bekannten Speichervorrichtungen, wie beispielsweise PROMs (programmierbarer Nur-Lese-Speicher), EPROMs (elektrische PROM), EEPROMs (elektrisch löschbarer PROM), Flash-Speicher oder beliebige andere elektrischen, magnetischen, optischen oder kombinierten Speichervorrichtungen implementiert werden, die Daten speichern können, von denen einige ausführbare Anweisungen darstellen, die von der Steuerung 34 beim Steuern des autonomen Fahrzeugs 10 verwendet werden.
  • Die Anweisungen können ein oder mehrere separate Programme beinhalten, von denen jede eine geordnete Auflistung von ausführbaren Anweisungen zum Implementieren von logischen Funktionen umfasst. Die Anweisungen empfangen und verarbeiten, wenn diese durch den Prozessor 44 ausgeführt werden, Signale vom Sensorsystem 28, führen Logik, Berechnungen, Verfahren und/oder Algorithmen zur automatischen Steuerung der Komponenten des autonomen Fahrzeugs 10 durch und erzeugen Steuersignale an das Stellgliedsystem 90, um die Komponenten des autonomen Fahrzeugs 10 basierend auf der Logik, den Berechnungen, den Verfahren und/oder Algorithmen automatisch zu steuern. Obwohl in 1 nur eine Steuerung 34 dargestellt ist, können Ausführungsformen des autonomen Fahrzeugs 10 eine beliebige Anzahl von Steuerungen 34 beinhalten, die über ein geeignetes Kommunikationsmedium oder eine Kombination von Kommunikationsmedien kommunizieren und zusammenwirken, um die Sensorsignale zu verarbeiten, Logik, Berechnungen, Verfahren und/oder Algorithmen durchzuführen und Steuersignale zu erzeugen, um automatisch eine oder mehrere Stellgliedvorrichtungen 42a-42n zu steuern, die eine oder mehrere Fahrzeugmerkmale des autonomen Fahrzeugs 10 steuern.
  • In verschiedenen Ausführungsformen sind eine oder mehrere Anweisungen der Steuerung 34 in einer übergeordneten Steuerung eines autonomen Antriebssystems (ADS) verkörpert und können, wenn sie durch den Prozessor 44 ausgeführt werden, die autonome Fahraufgabe in eine Folge von Teilaufgaben zerlegen, die das jeweilige Fahrszenario behandeln und eine bestimmte Kombination von sensomotorischen Primitivmodulen auswählen, die für das jeweilige Fahrszenario aktiviert und ausgeführt werden sollen, die jeweils eine Teilaufgabe behandeln. Jedes der sensomotorischen Primitivmodule erzeugt ein Fahrzeugtrajektorien- und Geschwindigkeitsprofil, und mindestens eines der Fahrzeugtrajektorien- und Geschwindigkeitsprofile kann verarbeitet werden, um die Steuersignale zu erzeugen, die von einer untergeordneten Steuerung verarbeitet werden, um Befehle zum Steuern eines oder mehrerer Stellglieder des autonomen Fahrzeugs zu erzeugen, um eine oder mehrere Steuerungsaktionen zum automatischen Steuern des autonomen Fahrzeugs auszuführen (z. B. zur Automatisierung der in dem jeweiligen Fahrszenario auftretenden autonomen Fahraufgabe).
  • Mit weiterem Bezug auf 2 in verschiedenen Ausführungsformen kann das autonome Fahrzeug 10, das mit Bezug auf 1 beschrieben ist, für den Einsatz im Rahmen eines Taxi- oder Shuttle-Unternehmens in einem bestimmten geografischen Gebiet (z. B. einer Stadt, einer Schule oder einem Geschäftscampus, einem Einkaufszentrum, einem Vergnügungspark, einem Veranstaltungszentrum oder dergleichen) geeignet sein. So kann beispielsweise das autonome Fahrzeug 10 einem autonomen fahrzeugbasierten Transportsystem zugeordnet sein. 2 veranschaulicht eine exemplarische Ausführungsform einer Betriebsumgebung, die im Allgemeinen bei 50 dargestellt ist und ein autonomes fahrzeugbasiertes Transportsystem 52 beinhaltet, das, wie mit Bezug auf 1 beschrieben, einem oder mehreren autonomen Fahrzeugen 10a-10n zugeordnet ist. In verschiedenen Ausführungsformen beinhaltet die Betriebsumgebung 50 ferner eine oder mehrere Benutzervorrichtungen 54, die mit dem autonomen Fahrzeug 10 und/oder dem entfernten Transportsystem 52 über ein Kommunikationsnetzwerk 56 kommunizieren.
  • Das Kommunikationsnetzwerk 56 unterstützt die Kommunikation zwischen Geräten, Systemen und Komponenten, die von der Betriebsumgebung 50 unterstützt werden (z. B. über physische Kommunikationsverbindungen und/oder drahtlose Kommunikationsverbindungen). So kann beispielsweise das Kommunikationsnetzwerk 56 ein drahtloses Trägersystem 60 beinhalten, wie beispielsweise ein Mobiltelefonsystem, das eine Vielzahl von Mobilfunktürmen (nicht dargestellt), eine oder mehrere Mobilvermittlungsstellen (MSCs) (nicht dargestellt) sowie alle anderen Netzwerkkomponenten beinhalten, die zum Verbinden des drahtlosen Trägersystems 60 mit dem Festnetz erforderlich sind. Jeder Mobilfunkturm beinhaltet Sende- und Empfangsantennen und eine Basisstation, wobei die Basisstationen verschiedener Mobilfunktürme mit den MSC verbunden sind, entweder direkt oder über Zwischenvorrichtungen, wie beispielsweise eine Basisstationssteuerung. Das Drahtlosträgersystem 60 kann jede geeignete Kommunikationstechnologie implementieren, beispielsweise digitale Technologien, wie CDMA (z. B. CDMA2000), LTE (z. B. 4G LTE oder 5G LTE), GSM/GPRS oder andere aktuelle oder neu entstehende drahtlose Technologien. Andere Mobilfunkturm/Basisstation/MSC-Anordnungen sind möglich und könnten mit dem Drahtlosträgersystem 60 verwendet werden. So könnten sich beispielsweise die Basisstation und der Mobilfunkturm an derselben Stelle oder entfernt voneinander befinden, jede Basisstation könnte für einen einzelnen Mobilfunkturm zuständig sein oder eine einzelne Basisstation könnte verschiedene Mobilfunktürme bedienen, oder verschiedene Basisstationen könnten mit einer einzigen MSC gekoppelt werden, um nur einige der möglichen Anordnungen zu nennen.
  • Abgesehen vom Verwenden des Drahtlosträgersystems 60 kann ein zweites Drahtlosträgersystem in Form eines Satellitenkommunikationssystems 64 verwendet werden, um unidirektionale oder bidirektionale Kommunikation mit dem autonomen Fahrzeug 10a-10n bereitzustellen. Dies kann unter Verwendung von einem oder mehreren Kommunikationssatelliten (nicht dargestellt) und einer aufwärts gerichteten Sendestation (nicht dargestellt) erfolgen. Die unidirektionale Kommunikation kann beispielsweise Satellitenradiodienste beinhalten, worin programmierte Inhaltsdaten (Nachrichten, Musik usw.) von der Sendestation empfangen werden, für das Hochladen gepackt und anschließend zum Satelliten gesendet werden, der die Programmierung an die Teilnehmer ausstrahlt. Die bidirektionale Kommunikation kann beispielsweise Satellitentelefondienste beinhalten, die den Satelliten verwenden, um Telefonkommunikationen zwischen dem Fahrzeug 10 und der Station weiterzugeben. Die Satellitentelefonie kann entweder zusätzlich oder anstelle des Drahtlosträgersystems 60 verwendet werden.
  • Ein Festnetz-Kommunikationssystem 62 kann ein konventionelles Festnetz-Telekommunikationsnetzwerk beinhalten, das mit einem oder mehreren Festnetztelefonen verbunden ist und das drahtlose Trägersystem 60 mit dem entfernten Transportsystem 52 verbindet. So kann beispielsweise das Festnetz-Kommunikationssystem 62 ein Fernsprechnetz (PSTN) wie jenes sein, das verwendet wird, um festverdrahtetes Fernsprechen, paketvermittelte Datenkommunikationen und die Internetinfrastruktur bereitzustellen. Ein oder mehrere Segmente des Festnetz-Kommunikationssystems 62 könnten durch Verwenden eines normalen drahtgebundenen Netzwerks, eines Lichtleiter- oder eines anderen optischen Netzwerks, eines Kabelnetzes, von Stromleitungen, anderen drahtlosen Netzwerken, wie drahtlose lokale Netzwerke (WLANs) oder Netzwerke, die drahtlosen Breitbandzugang (BWA) bereitstellen oder jeder Kombination davon implementiert sein. Weiterhin muss das entfernte Transportsystem 52 nicht über das Festnetz-Kommunikationssystem 62 verbunden sein, sondern könnte Funktelefonausrüstung beinhalten, sodass sie direkt mit einem drahtlosen Netzwerk, wie z. B. dem drahtlosen Trägersystem 60, kommunizieren kann.
  • Obwohl in 2 nur eine Benutzervorrichtung 54 dargestellt ist, können Ausführungsformen der Betriebsumgebung 50 eine beliebige Anzahl an Benutzervorrichtungen 54, einschließlich mehrerer Benutzervorrichtungen 54 unterstützen, die das Eigentum einer Person sind, von dieser bedient oder anderweitig verwendet werden. Jede Benutzervorrichtung 54, die von der Betriebsumgebung 50 unterstützt wird, kann unter Verwendung einer geeigneten Hardwareplattform implementiert werden. In dieser Hinsicht kann das Benutzergerät 54 in einem gemeinsamen Formfaktor realisiert werden, darunter auch in: einen Desktop-Computer; einem mobilen Computer (z. B. einem Tablet-Computer, einem Laptop-Computer oder einem Netbook-Computer); einem Smartphone; einem Videospielgerät; einem digitalen Media-Player; einem Bestandteil eines Heimunterhaltungsgeräts; einer Digitalkamera oder Videokamera; einem tragbaren Computergerät (z. B. einer Smart-Uhr, Smart-Brille, Smart-Kleidung); oder dergleichen. Jede von der Betriebsumgebung 50 unterstützte Benutzervorrichtung 54 ist als computerimplementiertes oder computergestütztes Gerät mit der Hardware-, Software-, Firmware- und/oder Verarbeitungslogik realisiert, die für die Durchführung der hier beschriebenen verschiedenen Techniken und Verfahren erforderlich ist. So beinhaltet beispielsweise die Benutzervorrichtung 54 einen Mikroprozessor in Form einer programmierbaren Vorrichtung, die eine oder mehrere in einer internen Speicherstruktur gespeicherte Anweisungen beinhaltet und angewendet wird, um binäre Eingaben zu empfangen und binäre Ausgaben zu erzeugen. In einigen Ausführungsformen beinhaltet die Benutzervorrichtung 54 ein GPS-Modul, das GPS-Satellitensignale empfangen und GPS-Koordinaten basierend auf diesen Signalen erzeugen kann. In weiteren Ausführungsformen beinhaltet die Benutzervorrichtung 54 eine Mobilfunk-Kommunikationsfunktionalität, sodass die Vorrichtung Sprach- und/oder Datenkommunikationen über das Kommunikationsnetzwerk 56 unter Verwendung eines oder mehrerer Mobilfunk-Kommunikationsprotokolle durchführt, wie hierin erläutert. In verschiedenen Ausführungsformen beinhaltet die Benutzervorrichtung 54 eine visuelle Anzeige, wie zum Beispiel ein grafisches Touchscreen-Display oder eine andere Anzeige.
  • Das entfernte Transportsystem 52 beinhaltet ein oder mehrere Backend-Serversysteme, die an dem speziellen Campus oder dem geografischen Standort, der vom Transportsystem 52 bedient wird, Cloud-basiert, netzwerkbasiert oder resident sein können. Das entfernte Transportsystem 52 kann mit einem Live-Berater, einem automatisierten Berater oder einer Kombination aus beidem besetzt sein. Das entfernte Transportsystem 52 kann mit den Benutzervorrichtungen 54 und den autonomen Fahrzeugen 10a-10n kommunizieren, um Fahrten zu planen, autonome Fahrzeuge 10a-10n zu versetzen und dergleichen. In verschiedenen Ausführungsformen speichert das entfernte Transportsystem 52 Kontoinformationen, wie zum Beispiel Teilnehmerauthentifizierungsdaten, Fahrzeugkennzeichen, Profilaufzeichnungen, Verhaltensmuster und andere entsprechende Teilnehmerinformationen.
  • Gemäß einem typischen Anwendungsfall-Arbeitsablauf kann ein registrierter Benutzer des entfernten Transportsystems 52 über die Benutzervorrichtung 54 eine Fahrtanfrage erstellen. Die Fahrtanfrage gibt typischerweise den gewünschten Abholort des Fahrgastes (oder den aktuellen GPS-Standort), den gewünschten Zielort (der einen vordefinierten Fahrzeugstopp und/oder ein benutzerdefiniertes Passagierziel identifizieren kann) und eine Abholzeit an. Das entfernte Transportsystem 52 empfängt die Fahrtanforderung, verarbeitet die Anforderung und sendet ein ausgewähltes der autonomen Fahrzeuge 10a-10n (wenn und sofern verfügbar), um den Passagier an dem vorgesehenen Abholort und zu gegebener Zeit abzuholen. Das entfernte Transportsystem 52 kann zudem eine entsprechend konfigurierte Bestätigungsnachricht oder Benachrichtigung an die Benutzervorrichtung 54 erzeugen und senden, um den Passagier zu benachrichtigen, dass ein Fahrzeug unterwegs ist.
  • Wie ersichtlich, bietet der hierin offenbarte Gegenstand bestimmte verbesserte Eigenschaften und Funktionen für das, was als ein standardmäßiges oder Basislinien autonomes Fahrzeug 10 und/oder ein autonomes fahrzeugbasiertes Transportsystem 52 betrachtet werden kann. Zu diesem Zweck kann ein autonomes fahrzeugbasiertes Transportsystem modifiziert, erweitert oder anderweitig ergänzt werden, um die nachfolgend näher beschriebenen zusätzlichen Funktionen bereitzustellen.
  • Gemäß verschiedenen Ausführungsformen implementiert die Steuerung 34 eine High-Level-Steuerung eines autonomen Antriebssystems (ADS) 33, wie in 3 dargestellt. Das heißt, dass geeignete Soft- und/oder Hardwarekomponenten der Steuerung 34 (z. B. den Prozessor 44 und die computerlesbare Speichervorrichtung 46) verwendet werden, um eine High-Level-Steuerung eines autonomen Antriebssystems 33 bereitzustellen, das in Verbindung mit dem Fahrzeug 10 verwendet wird. Die High-Level-Steuerung des autonomen Antriebssystems 33 wird im Folgenden unter Bezugnahme auf die 4 und 5 näher beschrieben
  • In verschiedenen Ausführungsformen können die Anweisungen für die High-Level-Steuerung des autonomen Antriebssystems 33 je nach Funktion, Modul oder System gegliedert sein. Die High-Level-Steuerung des autonomen Antriebssystems 33 kann beispielsweise, wie in 3 dargestellt, ein Computer-Sichtsystem 74, ein Positionierungssystem 76, ein Leitsystem 78 und ein Fahrzeugsteuersystem 80 beinhalten. Wie ersichtlich ist, können die Anweisungen in verschiedenen Ausführungsformen in beliebig viele Systeme (z. B. kombiniert, weiter unterteilt usw.) gegliedert werden, da die Offenbarung nicht auf die vorliegenden Beispiele beschränkt ist.
  • In verschiedenen Ausführungsformen synthetisiert und verarbeitet das Computer-Sichtsystem 74 Sensordaten und prognostiziert Anwesenheit, Standort, Klassifizierung und/oder Verlauf von Objekten und Merkmalen der Umgebung des Fahrzeugs 10. In verschiedenen Ausführungsformen kann das Computer-Sichtsystem 74 Informationen von mehreren Sensoren beinhalten, einschließlich, aber nicht beschränkt auf Kameras, Lidare, Radare und/oder eine beliebige Anzahl anderer Arten von Sensoren. Das Positioniersystem 76 verarbeitet Sensordaten zusammen mit anderen Daten, um eine Position (z. B. eine lokale Position in Bezug auf eine Karte, eine exakte Position in Bezug auf die Fahrspur einer Straße, Fahrzeugrichtung, Geschwindigkeit usw.) des Fahrzeugs 10 in Bezug auf die Umgebung zu ermitteln. Das Leitsystem 78 verarbeitet Sensordaten zusammen mit anderen Daten, um eine Strecke zu ermitteln, dem das Fahrzeug 10 folgen soll. Das Fahrzeugsteuerungssystem 80 erzeugt Steuersignale 72 zum Steuern des Fahrzeugs 10 entsprechend der ermittelten Strecke.
  • In verschiedenen Ausführungsformen implementiert die Steuerung 34 maschinelle Lerntechniken, um die Funktionalität der Steuerung 34 zu unterstützen, wie z. B. Merkmalerkennung/Klassifizierung, Hindernisminderung, Routenüberquerung, Kartierung, Sensorintegration, Boden-Wahrheitsbestimmung und dergleichen.
  • Wie bereits kurz erwähnt, ist die High-Level-Steuerung des ADS 33 in der Steuerung 34 von 1 integriert und kann, wie in 4 näher dargestellt, und mit weiterem Bezug auf 3 verwendet werden, um Teile eines Fahrzeugsteuerungssystems 100 zu implementieren, welches das Sensorsystem 128 beinhaltet, das dem Sensorsystem 28 von 3 in einigen Ausführungsformen entsprechen kann, die High-Level-Steuerung 133 des ADS 33 und das Stellgliedsystem 190, das dem Stellgliedsystem 90 von 3 in einigen Ausführungsformen entsprechen kann.
  • 4 ist ein Blockdiagramm, das ein Fahrzeugsteuerungssystem 100 gemäß den offenbarten Ausführungsformen veranschaulicht. Das Fahrzeugsteuerungssystem 100 kann als Teil des ADS 33 von 3 implementiert werden. Das Fahrzeugsteuerungssystem 100 beinhaltet ein Sensorsystem 128, das so konfiguriert ist, dass es Sensordaten 129, eine High-Level-Steuerung 133 und ein Stellgliedsystem 190 bereitstellt, das die von der übergeordneten Steuerung 133 erzeugten Steuersignale 172 empfängt.
  • Wie vorstehend beschrieben, kann das Sensorsystem 128 Technologien wie Kameras, Radare, Lidare usw. beinhalten. Obwohl in 4 nicht dargestellt, kann die High-Level-Steuerung 133 auch Eingänge 136 von anderen Systemen empfangen, einschließlich, aber nicht beschränkt auf ein Leitsystem mit einem Navigationssystem und einem Positionierungssystem (nicht veranschaulicht).
  • Die High-Level-Steuerung 133 beinhaltet ein Kartengeneratormodul 130, 134 und ein Fahrzeugsteuermodul 148. Das Fahrzeugsteuermodul 148 beinhaltet einen Speicher 140, der eine Vielzahl oder ein Ensemble von sensomotorischen Primitivmodulen speichert, ein Szenenverständnismodul 150 und ein Arbitrierungs- und Fahrzeugsteuermodul 170.
  • Das Kartengeneratormodul 130, 134 ist konfiguriert, um die Sensordaten zum Erzeugen einer Weltdarstellung 138 eines bestimmten Fahrszenarios zu verarbeiten, wie sie durch die Sensordaten zu einem bestimmten Zeitpunkt dargestellt wird. In einer Ausführungsform, die im Folgenden näher beschrieben wird, beinhaltet die Weltdarstellung 138 eine Wahrnehmungs- und eine Merkmalskarte. Die Weltdarstellung 138 wird dem Fahrzeugsteuermodul 148 bereitgestellt. Der Speicher 140 ist zum Speichern einer Vielzahl oder eines Ensembles von sensomotorischen Primitivmodulen 142A, 142B konfiguriert.
  • Sensomotorische Primitivmodule
  • Jedes sensomotorische Primitivmodul 142 beinhaltet computerausführbare Anweisungen, die, wenn sie durch einen Computerprozessor ausgeführt werden, ein entsprechendes Fahrzeugtrajektorien- und Geschwindigkeitsprofil erzeugen können, das weiterverarbeitet und zum Erzeugen von Steuersignalen 172 und Befehlen verwendet werden kann, die das autonome Fahrzeug automatisch steuern, um das autonome Fahrzeug zu veranlassen, ein bestimmtes Fahrmanöver oder eine bestimmte Fähigkeit auszuführen. Jedes sensomotorische Primitivmodul stellt ein spezifisches, in sich geschlossenes oder unteilbares Fahrmanöver/eine Fähigkeit dar, das durch Lernen oder Programmieren in einem Fahrzeug verkörpert werden kann. In einer Ausführungsform werden beispielsweise zumindest einige der sensomotorischen Primitivmodule durch maschinelle Lernalgorithmen entwickelt, die zur Leistungsoptimierung abgestimmt werden können. So können beispielsweise gelernte sensomotorische Primitivmodule durch maschinelle Lernalgorithmen durch Data-Mining von relativ günstigen menschlichen Fahrdaten entwickelt werden.
  • Obwohl 4 fünf nicht einschränkende Beispiele von sensomotorischen Primitivmodulen veranschaulicht: SuperCruise, kollisionsbedingte Brems-/Kollisionslenkung (CIB/CIS), Spurwechsel, Baustellenhandling und Kreuzungshandling ist zu beachten, dass diese Abbildung nur zu Veranschaulichungszwecken erfolgt. SuperCruise ist ein Produkt des GM Cadillac CT6, das autonomes Fahren auf Level-2 innerhalb einer einspurigen Autobahn beschreibt. CIB/CIS sind Beispiele für reaktive Kollisionsvermeidungsmanöver oder Primitive. Obwohl in 4 nur fünf Beispiele für sensomotorische Primitivmodule veranschaulicht sind, ist zu beachten, dass der Speicher 140 eine beliebige Anzahl von sensomotorischen Primitivmodulen beinhalten kann. So können beispielsweise einige andere nicht einschränkende Beispiele für sensomotorische Primitivmodule unter anderem Kollisionsminderungsbremse (CMB), adaptive Geschwindigkeitsregelung (ACC), Spurverfolgung, Rechtsabbiegung, Linksabbiegung, Michigan-Linksabbiegung, „U“-Abbiegen, Autobahnzusammenführung, Autobahnausfahrt, Nachgeben, Parken, Kreisverkehrshandling, Handhabung von Parkplätzen in Einkaufszentren, Verlassen des Einkaufsplatzes, Betreten des Einkaufsplatzes, usw. beinhalten, ohne jedoch darauf beschränkt zu sein. CMB ist ein Primitivmodul, das eingesetzt wird, wenn eine Kollision unvermeidlich ist, um automatisch einen harten Bremsbefehl an das Bremsstellglied zu senden, um die Aufprallenergie zu reduzieren. ACC ist eine Komfortfunktion, die eine Längskraftsteuerung des Fahrzeugs ermöglicht, sodass das Trägerfahrzeug einen konstanten Abstand zum vorausfahrenden Fahrzeug einhält.
  • Jedes sensomotorische Primitivmodul kann die Abtastung in einer Umgebung (wie sie durch die Navigationsroutendaten und GPS-Daten 136 und die Weltdarstellung 138 dargestellt wird) auf eine oder mehrere Aktionen abbilden, die ein bestimmtes Fahrzeugmanöver durchführen. Jedes sensomotorische Primitivmodul kann verwendet werden, um Steuersignale und Stellgliedbefehle zu erzeugen, die ein bestimmtes Fahrszenario (z. B. Kombination von erfassten Umgebungs-, Standort- und Navigationszielen, wie sie durch die Navigationsroutendaten und GPS-Daten 136 und die Weltdarstellung 138 usw. dargestellt werden) angehen, die während des Betriebs eines autonomen Fahrzeugs auftreten. So bildet beispielsweise jedes sensomotorische Primitivmodul 142 Informationen aus der Weltdarstellung 138 auf eine bestimmte Fahrzeugtrajektorie und ein bestimmtes Geschwindigkeitsprofil ab, und jede Fahrzeugtrajektorie und jedes Geschwindigkeitsprofil wird auf ein oder mehrere Steuersignale abgebildet, die Stellgliedbefehle übersetzen oder zuordnen, die eine oder mehrere Steuerungsaktionen bewirken, die automatisch das autonome Fahrzeug steuern. Die Steuerungsaktionen veranlassen das autonome Fahrzeug, ein bestimmtes Fahrmanöver durchzuführen, das dem jeweiligen Fahrszenario während der autonomen Fahraufgabe und des Betriebs des autonomen Fahrzeugs entspricht. Jedes der sensomotorischen Primitivmodule 142 ist „ortsunabhängig“, was bedeutet, dass sie überall und in einer Vielzahl von verschiedenen Umgebungen eingesetzt werden können (z. B. sind die für das Handling von Kreisverkehren erlernten Fähigkeiten auf jeden Kreisverkehr anwendbar, auf den das autonome Fahrzeug trifft).
  • In einer Ausführungsform können alle sensomotorischen Primitivmodule in zwei verschiedene Klassen oder Typen eingeteilt werden, einschließlich: Prädikatenlogik (PL) oder modellprädiktive Steuerung (MPC) sensomotorische Primitivmodule und erlernte sensomotorische Primitivmodule. PL- oder MPC-sensomotorische Primitivmodule können in relativ einfacher Logik ausgedrückt werden; jedoch ist eine relativ zuverlässige/hohe Wahrnehmungsfunktion erforderlich, um Sensordaten auf Symbole abzubilden (z. B. nächstgelegenes vorausfahrendes Fahrzeug auf der Strecke). PL- und MPC-sensomotorische Primitivmodule basieren auf Eingaben aus der Wahrnehmungskarte, welche die erfassten Objekte und die damit verbundenen gemessenen Attribute (z. B. Entfernung, Geschwindigkeit) enthält, wobei jedes erfasste Objekt als Symbol behandelt werden kann. Im Gegensatz dazu sind erlernte sensomotorische Primitivmodule eine weitere Art von sensomotorischem Primitivmodul, mit dem eine Merkmalskarte zum Steuern von Aktionen direkt abgebildet werden kann (z. B. die zu einem bestimmten Fahrzeugtrajektorien- und Geschwindigkeitsprofil führen). Mit anderen Worten bilden die erlernten sensomotorischen Primitivmodule die Merkmalskarte direkt auf eine Trajektorie für die Fahrzeugsteuerung ab.
  • Prädikatenlogik (PL) sensomotorische Primitivmodule sind im Allgemeinen nützlicher bei der Implementierung sicherheitsrelevanter reaktiver Primitive. Ein PL-sensomotorisches Primitivmodul bildet die Sensordaten über eine Wahrnehmungskarte auf eine oder mehrere sicherheitsrelevante Teilaufgaben der autonomen Fahraufgabe ab und bildet jede der sicherheitsrelevanten Teilaufgaben auf ein oder mehrere Steuersignale ab. Das eine oder die mehreren Steuersignale bewirken jeweils eine oder mehrere Steueraktionen, die das autonome Fahrzeug automatisch steuern, um das autonome Fahrzeug zu veranlassen, ein bestimmtes sicherheitsrelevantes Fahrmanöver durchzuführen, welches das jeweilige Fahrszenario, das während des Betriebs des autonomen Fahrzeugs auftritt, behandelt. PL-sensomotorische Primitivmodule sind relativ einfach, aber sehr zuverlässig. So ist beispielsweise die Kollisionsbremse (CIB) ein SPM vom Typ PL, mit der eine Notbremse betätigt werden kann, wenn die Zeit bis zur Kollision des vorausfahrenden Fahrzeugs kleiner als eine Schwellenzeit ist. Wenn beispielsweise die Zeit bis zur Kollision kleiner als ein Schwellenwert ist (z. B. 0,6 Sekunden), wird ein harter Bremsbefehl gesendet (z. B. wenn die Zeit bis zur Kollision (vor dem Fahrzeug) < 0,6 Sekunden = wahr, Bremse betätigen). Andere PL-sensomotorische Primitivmodule können beispielsweise ein seitliches Totwinkelwarnsystem beinhalten. Wenn in diesem System ein Fahrzeug innerhalb des toten Winkels des Fahrers vorhanden ist und ein Spurwechselmanöver geplant ist, wird das Spurwechselmanöver abgebrochen.
  • Sensomotorische Primitivmodule der modellprädiktiven Steuerung (Model Predictive Control, MPC) sind im Allgemeinen besser geeignet, um Komfortmerkmale zu implementieren, die ein genau definiertes Referenzziel erfordern (z. B. kontinuierliche Regelkreissteuerung nach dem Eingriff). Ein sensomotorisches Primitivmodul der modellprädiktiven Steuerung (MPC) bildet die Sensordaten über die Wahrnehmungskarte auf eine oder mehrere komfortbezogene Teilaufgaben der autonomen Fahraufgabe ab und bildet jede der komfortbezogenen Teilaufgaben auf ein oder mehrere Steuersignale ab. Das eine oder die mehreren Steuersignale bewirken jeweils eine oder mehrere Steueraktionen, die das autonome Fahrzeug automatisch steuern, um ein spezifisches komfortbezogenes Fahrmanöver durchzuführen, das (1) ein Referenzziel aufweist und (2) das jeweilige Fahrszenario während des Betriebs des autonomen Fahrzeugs berücksichtigt. Beispiele für MPC-sensomotorische Primitivmodule können beispielsweise die adaptive Geschwindigkeitsregelung (ACC), SuperCruise, usw. sein. Als Beispiel ist ACC ein SPM vom Typ MPC, das angewendet werden kann, um einen bestimmten Abstand vom nächstgelegenen vorausfahrenden Fahrzeug zu halten, falls vorhanden (z. B. |Abstand (am nächsten vorausfahrendes Fahrzeug in der Fahrbahn) - Referenz| < ε). Andere MPC-sensomotorische Primitivmodule können beispielsweise die bevorstehende Kollisionslenkung (CIS) beinhalten. Wenn sich beispielsweise im CIS ein Objekt im Kollisionspfad des Trägerfahrzeugs befindet und die maximale Bremsung die Kollision aufgrund des unzureichenden Abstands nicht vermeiden kann und in den angrenzenden Fahrspuren (oder dem Fahrbahnrand) Platz und Sicherheit bietet, wird ein Trajektorien- und Geschwindigkeitsprofil erzeugt, um das Trägerfahrzeug auf die nächste Fahrspur zu bewegen.
  • Gelernte sensomotorische Primitivmodule können in schwierigeren Fällen eingesetzt werden, in denen es keine genau definierte Ziel- oder Steuerungsfunktion gibt (z. B. Kreuzungshandling ohne Fahrbahnmarkierungen), da sie Flexibilität bieten können. Ein gelerntes sensomotorisches Primitivmodul bildet Szenenelemente einer Merkmalskarte direkt auf ein oder mehrere Steuersignale ab, die jeweils eine oder mehrere Steuerungsaktionen bewirken, die das autonome Fahrzeug automatisch steuern, um das autonome Fahrzeug zu veranlassen, ein bestimmtes Fahrmanöver durchzuführen, das (1) kein Referenzziel oder keine Steuerungsfunktion aufweist und (2) das besondere Fahrszenario behandelt, das während des Betriebs des autonomen Fahrzeugs auftreten kann. Gelernte sensomotorische Primitivmodule benötigen eine bestimmte Datenmenge für das Training. Transfer-Learning kann die Datenanforderungen verringern. Transfer-Learning ist der Prozess, bei dem ein vortrainiertes Modell (die Gewichtungen und Parameter eines neuronalen Netzwerks, das von einer anderen Entität auf einen großen Datensatz trainiert wurde) verwendet wird und das Modell mit einem anderen Datensatz „fein abgestimmt“ wird. Das vortrainierte Modell fungiert als Merkmalsextraktor. Die letzte Schicht des neuronalen Netzwerks kann entfernt und durch einen anderen Klassifikator ersetzt werden. Die Gewichtungen aller anderen Schichten des neuronalen Netzwerks können eingefroren werden (d. h. damit sich die Gewichtungen während der Gradientenabsenkung/-optimierung nicht ändern) und das neuronale Netzwerk kann normal trainiert werden.
  • Szenenverständnismodul
  • Bei gleicher Sensordateneingabe (d. h. Merkmalskarte) erzeugen verschiedene sensomotorische Primitivmodule im Ensemble unterschiedliche Trajektorien und Geschwindigkeitsprofile. Im Ensemble der sensomotorischen Primitivmodule sind die meisten der sensomotorischen Primitivmodule nur die Kandidaten, die durch das Szenenverständnismodul aktiviert oder ausgewählt werden können. Im Allgemeinen ist das Szenenverständnismodul 150 dafür verantwortlich, basierend auf dem Fahrziel und der aktuellen Wahrnehmung der Umgebung die einzelnen der auszuführenden sensomotorischen Primitivmodule auszuwählen. Die Ausgabe (z. B. Fahrzeugtrajektorie und Geschwindigkeitsprofil) jedes sensomotorischen Primitivmoduls, das durch das Szenenverständnismodul ausgewählt wird, kann vom Fahrzeugsteuermodul zum Steuern des Fahrzeugs verwendet werden. Das Szenenverständnismodul ist somit die zentrale Klebelogik. Durch den intern erzeugten Missionskontext entsteht eine Abfolge von Primitiven, die so ausgewählt und ausgeführt werden, dass das autonome Fahrzeug das Ziel sicher erreichen kann, während das Fahrer-/Beifahrererlebnis so angenehm wie möglich gehalten wird.
  • Ein bestimmtes Fahrszenario oder eine bestimmte Szene, die auftreten kann (wie sie durch die Navigationsroutendaten und GPS-Daten 136 und die Weltdarstellung 138 dargestellt wird), kann durch Zerlegen dieses bestimmten Fahrszenarios in eine Ablaufsteuerung behandelt werden. Jede Steuerungsaktion steuert die Trajektorie und Geschwindigkeit des Fahrzeugs, um eine bestimmte Teilaufgabe zu erfüllen. Zusammen steuern die Ablaufsteuerungsaktionen das Fahrzeug, um über einen längeren Zeitraum hinweg eine gewünschte Strecke zu erreichen. Verschiedene Kombinationen der sensomotorischen Primitivmodule können aktiviert (oder deaktiviert) werden, um die autonome Fahraufgabe in die Reihenfolge der Teilaufgaben zu zerlegen. Wie im Folgenden näher erläutert wird, kann das Szenenverständnismodul 150 basierend auf einem bestimmten Fahrszenario (wie es beispielsweise durch die Navigationsroutendaten und GPS-Daten 136 und die Weltdarstellung 138 dargestellt wird) das jeweilige Fahrszenario global bewerten und eine autonome Fahraufgabe in eine Reihenfolge von Teilaufgaben aufteilen. Das Szenenverständnismodul 150 kann dann Freigabesignale 152 ausgeben, um eine bestimmte Kombination aus einem oder mehreren der sensomotorischen Primitivmodule auszuwählen, um dieses spezielle Fahrszenario zu aktivieren oder zu ermöglichen (im Folgenden als aktivierte/ermöglichte sensomotorische Primitivmodule bezeichnet), wobei jede Teilaufgabe in der Reihenfolge durch Ausführen eines oder mehrerer der aktivierten/ermöglichten sensomotorischen Primitivmodule angegangen werden kann.
  • Zur weiteren Erläuterung empfängt das Szenenverständnismodul 150 eine Merkmalskarte (die Teil der Weltdarstellung 138 ist und im Folgenden näher beschrieben wird) und weitere Eingabedaten 136, einschließlich Navigationsroutendaten, die eine Route des Fahrzeugs von einem Navigationssystem anzeigen, und Standort-/Positionsinformationen von einem Positionierungssystem, das den Standort des Fahrzeugs anzeigt. Das Szenenverständnismodul 150 verarbeitet die Navigationsroutendaten (die eine Route des Fahrzeugs anzeigen), die Positionsinformationen (die den Standort des Fahrzeugs anzeigen) und die Merkmalskarte (die die verarbeiteten Rohdaten direkt von Sensoren anzeigt, welche die Informationen bezüglich der Verkehrssituation sowie der Straßengeometrie und -topologie darstellen), um eine autonome Fahraufgabe zu definieren, und kann dann die autonome Fahraufgabe in eine Abfolge von Teilaufgaben aufteilen, die dem jeweiligen Fahrszenario entsprechen. Das Szenenverständnismodul 150 kann dann eine bestimmte Kombination oder Teilmenge 142A', 142B' der sensomotorischen Primitivmodule 142A, 142B auswählen, die aktiviert und ausgeführt werden sollen, um das jeweilige Fahrszenario zu behandeln und eine Kombination von Freigabesignalen 152 zu erzeugen, die diese besonderen 142A', 142B' der sensomotorischen Primitivmodule identifiziert. So kann beispielsweise in einer Ausführungsform jede der besonderen Kombinationen 142A', 142B' der sensomotorischen Primitivmodule eine oder mehrere der Teilaufgaben in der Reihenfolge behandeln. Somit bewertet das Szenenverständnismodul 150 das Fahrszenario (dargestellt durch die Navigationsroutendaten und GPS-Daten 136 und die Merkmalskarte) global und erzeugt und gibt dann basierend auf der globalen Bewertung des Fahrszenarios Aktivierungssignale 152 aus, um eine bestimmte Kombination oder Teilmenge 142A', 142B' der sensomotorischen Primitivmodule für dieses spezielle Fahrszenario zu aktivieren oder zu ermöglichen. Somit können die sensomotorischen Primitivmodule gemeinsam die Implementierung eines ADS 33 ermöglichen, um autonomes Fahren ohne die Notwendigkeit von hochauflösenden Karten oder hochpräziser GPS-Ausrüstung zu ermöglichen.
  • Jedes der sensomotorischen Primitivmodule (insbesondere der Kombination 142A', 142B' der sensomotorischen Primitivmodule), die ausgewählt und aktiviert sind, wird ausgeführt, um eine entsprechende Fahrzeugtrajektorie und ein entsprechendes Geschwindigkeitsprofil zu erzeugen, die gemeinsam in 5 als Fahrzeugtrajektorie und Geschwindigkeitsprofile 144 dargestellt sind. Jede Fahrzeugtrajektorie und jedes Geschwindigkeitsprofil kann einen Weg definieren, über den das Fahrzeug möglicherweise fahren kann, wenn es sich daran hält. Wie im Folgenden unter Bezugnahme auf 9B beschrieben, beinhaltet jedes Fahrzeugtrajektorien- und Geschwindigkeitsprofil Informationen, die den Längsabstand (x), den Seitenabstand (y), die Richtung (θ) und die gewünschte Geschwindigkeit (v) des Fahrzeugs angeben, die in zukünftigen Zeitpunkten durchfahren werden.
  • Arbitrierungs- und Fahrzeugsteuermodul
  • Das Arbitrierungs- und Fahrzeugsteuermodul 170 übernimmt sowohl Arbitrierungsfunktionen als auch Fahrzeugsteuerungsfunktionen. Das Arbitrierungs- und Fahrzeugsteuermodul 170 kann helfen, Prioritäten zum Ausführen der Fahrzeugtrajektorien- und Geschwindigkeitsprofile 144 zu bestimmen und eine reibungslose Fahrzeugsteuerung während des Übergangs sicherzustellen. So verarbeitet beispielsweise das Arbitrierungs- und Fahrzeugsteuermodul 170 die Fahrzeugtrajektorien- und die Geschwindigkeitsprofile 144 , indem es Prioritätslogikregeln für dieses spezielle Fahrszenario anwendet (wie sie durch das Szenenverständnismodul 150 basierend auf den Navigationsroutendaten und GPS-Daten 136 und der Merkmalskarte bestimmt werden), um eine Prioritätsordnung zum Ausführen für jedes der Fahrzeugtrajektorien- und Geschwindigkeitsprofile 144 festzulegen, und wählt eines der Fahrzeugtrajektorien- und Geschwindigkeitsprofile 171 mit der/den höchsten Priorität(en) zum Ausführen aus, die zum Erzeugen von Steuersignalen 172 verwendet werden (z. B. Lenkmoment- oder Winkel signale, die zum Erzeugen entsprechender Lenkmoment- oder Winkelsignale verwendet werden, und Brems-/Drosselklappensteuersignale , die zum Erzeugen von Beschleunigungsbefehlen verwendet werden), die an das Antriebssystem 190 gesendet werden. Insofern priorisieren die Prioritätslogikregeln die Fahrzeugtrajektorien- und Geschwindigkeitsprofile 144, die bestimmten sensomotorischen Primitivmodulen (insbesondere der Kombination 142A', 142B' der sensomotorischen Primitivmodule, die ausgewählt und aktiviert werden) gegenüber anderen sensomotorischen Primitivmodulen zugeordnet sind.
  • Dementsprechend können die Fahrzeugtrajektorien- und Geschwindigkeitsprofile 144, die von einigen der aktivierten/ermöglichten sensomotorischen Primitivmodule für dieses spezielle Fahrszenario erzeugt werden, angewendet werden oder auch nicht, und das Arbitrierungs- und Fahrzeugsteuermodul 170 entscheidet, welches der Fahrzeugtrajektorien- und Geschwindigkeitsprofile 144 für dieses spezielle Fahrszenario ausgewählt wird, und in welcher Reihenfolge sie angewendet werden. Die relative Priorität jedes der von den sensomotorischen Primitivmodulen erzeugten Fahrzeugtrajektorien- und Geschwindigkeitsprofile 144 kann vom Systemdesigner eingestellt/definiert werden. So können beispielsweise Prioritätslogikregeln sicherheitsrelevante reaktive sensomotorische Primitivmodule gegenüber anderen sensomotorischen Primitivmodulen priorisieren (Rang oder Vorzug).
  • Stellgliedsystem
  • Die Steuersignale 172 werden dann dem Stellgliedsystem 190 zugeführt, das die Steuersignale 172 verarbeitet, um die entsprechenden Befehle zum Steuern verschiedener Fahrzeugsysteme und Teilsysteme zu erzeugen. In dieser Ausführungsform beinhaltet das Stellgliedsystem 190 eine untergeordnete Steuerung 192 und eine Vielzahl von Stellgliedern 194 des Fahrzeugs (z. B. eine Lenkmoment- oder Winkelsteuerung, ein Bremssystem, ein Drosselsystem usw).
  • Die Low-Level-Steuerung 192 verarbeitet die Steuersignale 172 vom Fahrzeugsteuermodul 170B, um Befehle zu erzeugen, welche die Stellglieder 194 gemäß den Steuersignalen 172 steuern, um eine oder mehrere Steuerungsaktionen zu planen und auszuführen, die zur Automatisierung von Fahraufgaben durchzuführen sind. Die Steuersignale 172 legen die Steuerungsaktionen und Parameter fest oder ordnen diese zu, die verwendet werden, um eine oder mehrere geplante Aktionen zu planen, die zur Automatisierung von Fahraufgaben ausgeführt werden sollen. Die eine oder die mehreren Steuerungsaktionen steuern automatisch das autonome Fahrzeug, um eine in einem bestimmten Fahrszenario auftretende autonome Fahraufgabe zu automatisieren und bestimmte ausgewählte der Fahrzeugtrajektorien- und Geschwindigkeitsprofile 171 zu erreichen.
  • 5 ist ein Blockdiagramm, das ein weiteres Fahrzeugsteuerungssystem 200 gemäß den offenbarten Ausführungsformen veranschaulicht. Das Fahrzeugsteuerungssystem 100 kann als Teil des ADS 33 von 3 implementiert werden. 5 wird mit weiterem Bezug auf 4 beschrieben. 5 beinhaltet viele der gleichen Elemente, die bereits vorstehend mit Bezug auf 4 beschrieben wurden, und der Kürze halber werden diese Elemente nicht noch einmal mit Bezug auf 5 beschrieben. Neben den in 4 veranschaulichten Modulen beinhaltet die Fahrzeugsteuerung 200 von 5 auch ein Merkmalskartengeneratormodul 130 und ein Wahrnehmungskartengeneratormodul 134, die Teilmodule des Kartengeneratormoduls 130, 134 von 4 sind, ein Navigationsleitsystem und ein Ortungs-/Positionierungssystem (z. B. ein GPS), die gemeinsam in Block 135 dargestellt sind, ein primitives Prozessormodul 143, ein Auswahlmodul 160, ein Arbitriermodul 170A und ein Fahrzeugsteuermodul 170B, die Untermodule des Arbitrierungs- und Fahrzeugsteuermoduls 170 sind, und eine Mensch-Maschine-Schnittstelle (HMI) 180, die zum Anzeigen von Ausgabeinformationen verwendet wird, die basierend auf den vom Szenenverständnismodul 150 ausgegebenen Informationen 154 erzeugt werden.
  • Das Merkmalskartengeneratormodul 130 erzeugt basierend auf den Sensordaten 129 eine Merkmalskarte 132. Das Wahrnehmungskartengeneratormodul 134 erkennt basierend auf der Merkmalskarte Objekte, klassifiziert die erfassten Objekte nach semantischen Klassen (z. B. Fußgänger, Fahrzeuge usw.) und erzeugt die Wahrnehmungskarte 141, die Stixel beinhaltet, die sich an erkannten Objektgrenzen annähern, Rahmengrößen, Positionen, Ausrichtungen und Geschwindigkeiten von erkannten Objekten, die aus der Wahrnehmungskarte 141 erkannt werden, Straßenmerkmale für die Umgebung, wie sie in der Wahrnehmungskarte 141 angegeben sind, und Freiraummerkmale für die Umgebung, wie sie in der Wahrnehmungskarte 141 angegeben sind. In dieser Ausführungsform beinhaltet die Weltdarstellung 138 von 4 die Merkmalskarte 132 und die Wahrnehmungskarte 141.
  • In dieser Ausführungsform verarbeitet das Szenenverständnismodul 150 die Merkmalskarte 132 und andere Eingabedaten 136 (einschließlich Navigationsroutendaten, die eine Route des Fahrzeugs von einem Navigationssystem anzeigen, und Standort-/Positionsinformationen von einem Positionierungssystem, das die Position des Fahrzeugs anzeigt), um eine Kombination von Freigabesignalen 152 zu erzeugen, welche die jeweilige Kombination 142A', 142B' der sensomotorischen Primitivmodule identifiziert. In einer Ausführungsform wird das Szenenverständnismodul unter Verwendung eines wiederkehrenden faltungsneuronalen Netzwerks implementiert, das eine Abfolge von Sensoreingaben (Merkmalskarte 130) auf eine Abfolge von aktivierten booleschen Signalen für die Primitive im Ensemble abbildet. In einer der spezifischen Implementierungen wird das Szenenverständnismodul unter Verwendung einer Langzeitgedächtnis-(LSTM)-Neuronalen Zelle mit mehreren Gates (d. h. Eingangsgate, Ausgangsgate, Vergessensgate) implementiert, um latente Faktoren über ein beliebiges Zeitintervall zu behandeln oder zu speichern.
  • Das Szenenverständnismodul 150 sendet die Kombination der Freigabesignale 152 an das Auswahlmodul 160. Basierend auf den Freigabesignalen 152 ruft das Auswahlmodul 160 die jeweilige Kombination 142A', 142B' der sensomotorischen Primitivmodule aus dem Speicher 140 ab und lädt die jeweilige Kombination 142A', 142B' der sensomotorischen Primitivmodule auf das primitive Prozessormodul 143. Das Primitivprozessormodul 143 kann die jeweilige Kombination 142A', 142B' der sensomotorischen Primitivmodule so ausführen, dass jedes eine Fahrzeugtrajektorie und ein Geschwindigkeitsprofil erzeugt, die in 5 über die Pfeile 144 gemeinsam dargestellt sind.
  • Das Arbitrierungs- und Fahrzeugsteuermodul 170 beinhaltet das Arbitrierungsmodul 170A und das Fahrzeugsteuermodul 170B. Das Arbitrierungsmodul 170A wendet Prioritätslogikregeln an, um eine Prioritätsreihenfolge zum Ausführen für jedes der Fahrzeugtrajektorien- und Geschwindigkeitsprofile 144 zu definieren, und wählt das Fahrzeugtrajektorien- und Geschwindigkeitsprofil 171 mit der höchsten Priorität zum Ausführen aus. In einer Ausführungsform weist jedes Primitiv eine vom Systemdesigner festgelegte Prioritätsrangfolge auf. So wird beispielsweise in einer Implementierung ein sicherheitsbezogenes reaktives sensomotorisches Primitivmodul höher eingestuft als ein autonomes fahrbezogenes sensomotorisches Primitivmodul. So können beispielsweise bei einem Spurwechselmanöver zwei sensomotorische Primitivmodule aktiviert werden: ein Spurwechsel-Sensomotorisches-Primitivmodul und ein Totwinkelalarm-Sensomotorisches Primitivmodul. Wenn das seitliche Totwinkelwarn-Sensomotorische-Primitivmodul für den seitlichen Totwinkelalarm eine gültige Ausgabe erzeugt (im Falle des Erkennens eines Objekts im Totwinkel), wird seine Ausgabe der Ausgabe des Spurwechsel-Sensomotorischen-Primitivmoduls vorgreifen und das Abbrechen des Spurwechsel-Sensormotorischen-Primitivmoduls auslösen.
  • Das Fahrzeugsteuermodul 170B verarbeitet das ausgewählte der Fahrzeugtrajektorien- und Geschwindigkeitsprofile 171, indem es neuromorphe oder gewöhnliche ODE-Steuermodelle (im Folgenden mit Bezug auf 9A näher beschrieben) auf das ausgewählte der Fahrzeugtrajektorien- und Geschwindigkeitsprofile 171 anwendet, um die Steuersignale 172 zu erzeugen. In diesem Zusammenhang ist zu beachten, dass das Primitivprozessormodul 143 mehrere sensomotorische Primitivmodule gleichzeitig ausführen kann, um die Schaltverzögerung zu reduzieren, aber dass nur eines der Fahrzeugtrajektorien- und Geschwindigkeitsprofile 171 vom Arbitriermodul 170A ausgewählt und von diesem und dem Fahrzeugsteuermodul 170B in der Reihenfolge der Priorität zu einem bestimmten Zeitpunkt ausgeführt wird.
  • 6 ist ein Blockdiagramm, das ein Kartengeneratormodul 300 gemäß den offenbarten Ausführungsformen veranschaulicht. 6 wird mit weiterem Bezug auf die 4 und 5 beschrieben. Das Kartengeneratormodul 300 umfasst ein zweistufiges neuronales Netzwerk (NN), welches das Merkmalskartengeneratormodul 130 und das Wahrnehmungskartengeneratormodul 134 beinhaltet.
  • Ein neuronales Netzwerk bezieht sich auf ein Computersystem oder eine Verarbeitungsvorrichtung, die aus einer Reihe von einfachen, hochgradig miteinander verbundenen Verarbeitungselementen/Vorrichtungen/Einheiten besteht, die unter Verwendung von Softwarealgorithmen und/oder aktueller Hardware implementiert werden können. Die Verarbeitungselemente/Vorrichtungen/Einheiten verarbeiten Informationen durch ihr dynamisches Zustandsverhalten auf externe Eingaben. Ein neuronales Netzwerk kann in Schichten organisiert werden, die aus einer Reihe von miteinander verbundenen Knoten bestehen. Jeder Knoten beinhaltet eine Aktivierungsfunktion. Die Muster werden dem Netzwerk über eine Eingangsschicht präsentiert, die mit einer oder mehrere „verborgenen Schichten“ kommuniziert, wobei die tatsächliche Verarbeitung über ein System von gewichteten Verbindungen erfolgt. Die verborgenen Schichten verweisen dann auf eine Ausgabeschicht, auf der eine Ausgabe erzeugt wird. Die meisten NNs enthalten eine Form von Lernregeln, welche die Gewichtungen der Verbindungen entsprechend den Eingabemustern, mit denen sie präsentiert werden, modifiziert. Obwohl jedes neuronale Netzwerk unterschiedlich ist, beinhaltet ein neuronales Netzwerk im Allgemeinen mindestens einige der folgenden Komponenten: einen Satz von Verarbeitungseinheiten, den Aktivierungszustand einer Verarbeitungseinheit, die Funktion zum Berechnen der Ausgabe einer Verarbeitungseinheit, das Muster der Konnektivität zwischen Verarbeitungseinheiten, die Regel der Aktivierungsausbreitung, die Aktivierungsfunktion und die Regel des eingesetzten Lernens. Designparameter für ein neuronales Netzwerk können beinhalten: die Anzahl der Eingangsknoten, die Anzahl der Ausgangsknoten, die Anzahl der mittleren oder verborgenen Schichten, die Anzahl der Knoten pro verborgener Schicht, anfängliche Verbindungsgewichte, die anfänglichen Knotenverzerrungen, die Lernrate, die Impulsrate, usw.
  • Eine neuronale Netzwerkanalyse erfordert häufig eine große Anzahl von Einzelläufen, um die beste Lösung, die Geschwindigkeit und die Dynamik des Lernens zu bestimmen. Die Lerngeschwindigkeit ist eigentlich der Grad der Konvergenz zwischen der aktuellen Lösung und dem globalen Minimum. Das Momentum hilft dem Netzwerk, Hindernisse (lokale Minima) in der Fehleroberfläche zu überwinden und sich auf oder nahe dem globalen Minimum einzurichten. Nachdem ein neuronales Netzwerk auf ein zufriedenstellendes Niveau „trainiert“ wurde, kann es als Analyseinstrument für andere Daten verwendet werden.
  • Das Merkmalskartengeneratormodul 130 erzeugt die Merkmalskarte 132 basierend auf den Sensordaten 129, die in dieser Ausführungsform Bilddaten 212 und Bereichspunktdaten 214 von einem oder mehreren Entfernungssystemen (z. B. Lidar- und/oder Radarsystemen) beinhalten. Die Bilddaten 212 beinhalten Pixelinformationen, die über die Kameras erhalten werden. Die Merkmalskarte 132 ist eine maschinenlesbare Darstellung der Fahrumgebung. Die Merkmalskarte 132 beinhaltet Merkmale der über das Sensorsystem 128 erfassten Fahrumgebung zu einem bestimmten Zeitpunkt.
  • In dieser Ausführungsform ist das Merkmalskartengeneratormodul 130 ein Merkmalsextraktions- faltungsneuronales Netzwerk (CNN) 130, das die Merkmalskarte 132 aus den von den Kameras aufgenommenen kamerabasierten RGB-Bildern und den von Radaren und/oder Lidaren aufgenommenen Bereichsbildern ableitet. Wie in der Technik bekannt ist, ist ein faltungsneuronales Netzwerk (CNN) eine Klasse von tiefen, rückgekoppelten künstlichen neuronalen Netzwerken. Sie werden auch als verschiebungsinvariante oder rauminvariante künstliche neuronale Netzwerke (SIANN) bezeichnet, basierend auf ihrer Architektur mit gemeinsamen Gewichten und den Merkmalen der Translationsinvarianz. Eine CNN-Architektur wird durch einen Stapel verschiedener Schichten gebildet, die das Eingangsvolumen durch eine differenzierbare Funktion in ein Ausgangsvolumen umwandeln. Einige wenige verschiedene Arten von Schichten werden häufig als Faltungsschichten und Max-Pooling-Schichten bezeichnet.
  • Die Parameter einer Faltungsschicht bestehen aus einem Satz von lernbaren Filtern (oder Kerneln), die ein kleines Empfangsfeld aufweisen, sich aber über die gesamte Tiefe des Eingangsvolumens erstrecken. Während des Vorlaufs wird jeder Filter über die Breite und Höhe des Eingangsvolumens gefaltet, wobei das Punktprodukt zwischen den Eingängen des Filters und der Eingabe berechnet und eine zweidimensionale Aktivierungskarte dieses Filters erzeugt wird. Dadurch erlernt das Netzwerk Filter, die aktiviert werden, wenn eine bestimmte Art von Merkmal an einer bestimmten räumlichen Position in der Eingabe erkannt wird. Das Stapeln der Aktivierungskarten für alle Filter entlang der Tiefenabmessung bildet das volle Ausgangsvolumen der Faltungsschicht. Jeder Eintrag in das Ausgangsvolumen kann somit auch als Ausgang eines Neurons interpretiert werden, das einen kleinen Bereich in der Eingabe betrachtet und Parameter mit Neuronen in der gleichen Aktivierungskarte teilt.
  • Bei hochdimensionalen Eingaben wie Bildern ist es unpraktisch, Neuronen mit allen Neuronen des vorherigen Volumens zu verbinden, da eine derartige Netzwerkarchitektur die räumliche Struktur der Daten nicht berücksichtigt. Faltungsnetzwerke nutzen die räumlich lokale Korrelation, indem sie ein lokales Verbindungsmuster zwischen Neuronen benachbarter Schichten erzwingen: jedes Neuron ist nur mit einem kleinen Bereich des Eingangsvolumens verbunden. Das Ausmaß dieser Konnektivität ist ein Hyperparameter, der als Empfangsfeld des Neurons bezeichnet wird. Die Verbindungen sind räumlich lokal (entlang Breite und Höhe), erstrecken sich aber immer über die gesamte Tiefe des Eingangsvolumens. Eine derartige Architektur gewährleistet, dass die erlernten Filter die stärkste Reaktion auf ein räumlich lokales Eingabemuster erzeugen.
  • Drei Hyperparameter steuern die Größe des Ausgangsvolumens der Faltungsschicht: Tiefe, Schritt und Anhängen von Nullen. Die Tiefe des Ausgangsvolumens steuert die Anzahl der Neuronen in einer Schicht, die mit dem gleichen Bereich des Eingangsvolumens verbunden sind. Diese Neuronen lernen, sich für verschiedene Funktionen in der Eingabe zu aktivieren. Wenn beispielsweise die erste Faltungsschicht das Rohbild als Eingabe übernimmt, können verschiedene Neuronen entlang der Tiefenabmessung in Gegenwart verschiedener ausgerichteter Kanten oder Farbflecken aktiviert werden. Der Schritt steuert, wie tief Spalten um die räumlichen Dimensionen (Breite und Höhe) zugeordnet werden. Wenn der Schritt 1 ist, dann werden die Filter um ein Pixel nach dem anderen verschoben. Dies führt zu stark überlappenden Empfangsfeldern zwischen den Spalten und zu großen Ausgabevolumina. Wenn der Schritt 2 (oder selten 3 oder mehr) ist, dann springen die Filter 2 Pixel auf einmal, während sie herumgleiten. Die Empfangsfelder überschneiden sich weniger und das resultierende Ausgangsvolumen weist kleinere räumliche Dimensionen auf. Manchmal ist es sinnvoll, die Eingabe mit Nullen am Rand des Eingangsvolumens aufzufüllen. Die Größe dieses Paddings ist ein dritter Hyperparameter. Das Padding ermöglicht die Steuerung der räumlichen Größe des Ausgangsvolumens. In Einzelfällen ist es insbesondere wünschenswert, die räumliche Größe des Eingangsvolumens exakt zu erhalten.
  • Die räumliche Größe des Ausgangsvolumens kann als Funktion der Größe des Eingangsvolumens W, der Kernel-Feldgröße der Faltungsschicht-Neuronen K, des Schrittes, mit dem sie auf S angewendet werden, und der Menge der angehängten Nullen P an der Grenze berechnet werden. Die Formel zum Berechnen, wie viele Neuronen in ein bestimmtes Volumen „passen“, ist durch (W-K+2P)/S+1 gegeben. Wenn diese Zahl keine Ganzzahl ist, dann werden die Schritte falsch eingestellt und die Neuronen können nicht so gekachelt werden, dass sie symmetrisch über das Eingangsvolumen passen. Im Allgemeinen stellt die Einstellung von angehängten Nullen auf P=(K-1)/2 ein, wenn der Schritt S=1 ist, sicher, dass das Eingangsvolumen und das Ausgangsvolumen räumlich gleich groß sind. Obwohl es im Allgemeinen nicht zwingend erforderlich ist, alle Neuronen der vorherigen Schicht zu verbrauchen, kann nur ein Teil des Auffüllens verwendet werden. Ein Parameter-Sharing-Schema wird in Faltungsebenen verwendet, um die Anzahl der freien Parameter zu steuern. Es beruht auf einer begründeten Annahme: dass, wenn ein Patch-Feature nützlich ist, um an einer räumlichen Position zu berechnen, dann sollte es auch nützlich sein, an anderen Positionen zu berechnen. Mit anderen Worten werden die Neuronen, die eine einzige zweidimensionale Schicht der Tiefe als Tiefenschicht bezeichnen, in jeder Tiefenschicht eingeschränkt, um die gleichen Gewichtungen und Vorspannungen zu verwenden. Da alle Neuronen in einer einzigen Tiefenschicht die gleichen Parameter teilen, kann der Vorwärtspass in jeder Tiefenschicht der CONV-Schicht als Faltung der Neuronengewichtungen mit dem Eingangsvolumen berechnet werden (daher der Name: Faltungsschicht). Daher ist es üblich, die Gewichtungssätze als Filter (oder Kernel) zu bezeichnen, der mit der Eingabe gefaltet ist. Das Ergebnis dieser Faltung ist eine Aktivierungskarte, und der Satz von Aktivierungskarten für jeden einzelnen Filter wird entlang der Tiefenabmessung gestapelt, um das Ausgangsvolumen zu erzeugen. Die Parameterteilung trägt zur Translationsinvarianz der CNN-Architektur bei. Manchmal ist die Annahme der Parameterteilung möglicherweise nicht sinnvoll. Dies ist insbesondere dann der Fall, wenn die Eingangsbilder zu einem CNN eine bestimmte zentrierte Struktur aufweisen, in der völlig unterschiedliche Merkmale an verschiedenen räumlichen Standorten zu erlernen sind.
  • Ein weiteres wichtiges Konzept von CNNs ist das Pooling, eine Form des nicht-linearen Abwärtsabtastens. Es gibt mehrere nicht-lineare Funktionen zum Implementieren von Pooling, einschließlich Max-Pooling. Max-Pooling-Schichten können zwischen aufeinanderfolgenden Faltungsschichten der CNN-Architektur eingefügt werden. Beim Max-Pooling wird das Eingabebild in eine Reihe von nicht überlappenden Rechtecken aufgeteilt und für jede dieser Teilbereiche das Maximum ausgegeben. Die Pooling-Schicht dient dazu, die räumliche Größe der Darstellung schrittweise zu reduzieren, die Anzahl der Parameter und den Rechenaufwand im Netzwerk zu reduzieren und damit auch die Überpassung zu kontrollieren. Der Bündelungsvorgang stellt eine weitere Form der Translationsinvarianz dar. Jede maximale Pooling-Schicht arbeitet unabhängig von jeder Tiefenschicht der Eingabe und passt ihre Größe räumlich an. Die gebräuchlichste Form ist eine Pooling-Schicht mit Filtern der Größe 2x2, die mit einem Schritt von 2 Abwärtsabtastungen bei jeder Tiefenscheibe im Eingang um 2 entlang der Breite und Höhe angewendet werden und 75 % der Aktivierungen verwerfen. In diesem Fall ist jeder maximale Vorgang über 4 Zahlen. Die Tiefendimension bleibt unverändert.
  • Max-Pooling wird häufig über die Faltungsarchitektur nach Fukushima strukturiert. Fukushima, K. (1980). „Neocognitron: Ein selbstorganisierendes neuronales Netzwerkmodell für einen Mechanismus der Mustererkennung, das von der Positionsverschiebung“ unbeeinflusst ist. Biol. Cybern. 36 (4): 193-202. Diese Architektur ermöglicht es CNNs, die Vorteile der 2D-Struktur der Eingabedaten zu nutzen. Damit eignen sich CNNs für die Verarbeitung von visuellen und anderen zweidimensionalen Daten. Sie können mit Standard-Backpropagation trainiert werden. CNNs sind einfacher zu trainieren als andere normale, tiefe, weiterführende neuronale Netzwerke und weisen viel weniger Parameter auf.
  • Unter erneuter Bezugnahme auf 6 ist die in 6 dargestellte Merkmalsextraktion CNN 130 exemplarisch und beinhaltet eine Reihe von Stufen oder Schichten, darunter eine erste Faltungsschicht 224, eine erste Max-Pooling-Schicht 226, eine zweite Faltungsschicht 228 und eine zweite Max-Pooling-Schicht 229. Es ist jedoch je nach Implementierung zu beachten, dass die Merkmalsextraktion CNN 130 eine beliebige Anzahl von Schichten beinhalten kann, die erforderlich sind, um eine Merkmalsschicht 232 basierend auf den eingegebenen Bilddaten 212 zu erzeugen.
  • Die Merkmalsextraktion CNN 130 empfängt die Sensordaten 129 als Eingangsschicht 222. Die Sensordaten 129 können Bilddaten 212 und Bereichspunktdaten 214 beinhalten. Die Bilddaten 212 können ein Bild beinhalten, das Pixelinformationen oder Daten (z. B. Pixel) beinhaltet, die über Kameras aufgenommen wurden. Die Bereichspunktdaten 214 können Daten beinhalten, die von Entfernungssystemen wie Lidar- und/oder Radarsystemen des Fahrzeugs erhalten werden. Die verschiedenen Schichten 224, 226, 228, 229 der Merkmalsextraktion CNN 130 können Pixelinformationen verarbeiten, aus denen sich die Bilddaten aus einem Bild zusammensetzen, um verschiedene Merkmale aus diesem Bild zu extrahieren und eine Merkmalsschicht 232 zu erzeugen. Zur weiteren Erläuterung ist jede Schicht 224, 226, 228, 229 der Merkmalsextraktion CNN 130 konfiguriert, um nacheinander Pixel der Bilddaten zu verarbeiten, um Merkmale aus den Bilddaten 212 und den Ausgabefunktionsschichten 232, 236 weiter zu extrahieren.
  • In einer Ausführungsform kann die Eingangsschicht 222 eine Verkettung der Eingangsbilder des rot-blau-grünen Kanals sein, die durch ein Mittelbild subtrahiert werden, um eine Gesamteingabe zum neuronalen Netzwerk zu erzeugen. Eine erste Faltungsschicht 224 ist konfiguriert, um eine erste Bank von Faltungskernels auf eine Eingangsschicht 222 anzuwenden, die rot-grün-blaue (RGB) Bilddaten umfasst. So kann beispielsweise die Eingabe in die erste Faltungsschicht 224 mit einer Bank von Faltungskerneln gefaltet werden, um neuronale Ausgangsaktivierungen durch eine nicht-lineare Aktivierungsfunktion, wie beispielsweise eine gleichgerichtete Lineareinheits-(ReLU)-Funktion, zu erzeugen. Jedes Faltungskernel erzeugt einen Ausgabekanal der ersten Schicht, der ein Bild mit einer ersten Auflösung umfasst. Eine erste Max-Pooling-Schicht 226 ist konfiguriert, um jeden ersten Ausgangskanal zu verarbeiten, indem ein Maximalwertvorgang auf diesen ersten Ausgangskanal angewendet wird, um das entsprechende Bild herunterzustufen und eine herunterskalierte Karte mit der ersten Auflösung zu erzeugen. Die erste Max-Pooling-Schicht 226 gibt eine Vielzahl von zweiten Ausgabekanälen aus, die jeweils ein Bild mit einer zweiten Auflösung umfassen, die kleiner als die erste Auflösung ist. Eine zweite Faltungsschicht 228 ist konfiguriert, um eine zweite Bank von Faltungskerneln auf jeden der Vielzahl von zweiten Ausgangskanälen anzuwenden. Jedes Faltungskernel der zweiten Bank erzeugt einen dritten Ausgabekanal, der ein Bild mit einer dritten Auflösung umfasst, die kleiner als die zweite Auflösung ist. So kann beispielsweise die Eingabe in die zweite Faltungsschicht 228 mit einer weiteren Bank von Faltungskerneln gefaltet werden, um neuronale Ausgangsaktivierungen durch eine nicht-lineare Aktivierungsfunktion, wie beispielsweise eine (ReLU)-Funktion, zu erzeugen. Eine zweite Max-Pooling-Schicht 229 ist konfiguriert, um jeden dritten Ausgangskanal zu verarbeiten, indem ein weiterer Maximalwertvorgang auf diesen dritten Ausgangskanal angewendet wird, um das entsprechende Bild herunterzustufen und eine herunterskalierte Karte mit der dritten Auflösung zu erzeugen. Die zweite Max-Pooling-Schicht 229 gibt eine Vielzahl von vierten Ausgabekanälen aus, die jeweils ein Bild mit einer vierten Auflösung umfassen, die kleiner als die dritte Auflösung ist. Die Merkmalsschicht umfasst einen dreidimensionalen Tensor, der die Vielzahl von vierten Ausgabekanälen umfasst.
  • Die Merkmalsextraktion CNN 130 verarbeitet die Bereichspunktdaten 214, um eine Bereichpräsenzkarte 238 der Bereichspunktdaten zu erzeugen. Jeder Bereichspunkt zeigt einen Entfernungswert zu einem Fahrzeug an. Die Merkmalsextraktion CNN 130 verknüpft jede Merkmalsschicht 232 mit einer vorherigen Merkmalsschicht 236 und einer Bereichspräsenzkarte 238, um die Merkmalskarte 132 zu erzeugen und auszugeben. Die Merkmalskarte 132 sind die verketteten Schichten aus der Merkmalsschicht 232, der vorherigen Merkmalsschicht 236 und der Bereichspräsenzkarte 238. Mit anderen Worten bildet die Verkettung der Bereichspräsenzkarte 238, der aktuellen visionsbasierten Merkmalskarte 232 und einer vorherigen visionsbasierten Merkmalskarte 236 aus einem früheren Zeitabschnitt die gesamte Merkmalskarte 132.
  • Das Wahrnehmungskartengeneratormodul 134 erzeugt die Wahrnehmungskarte 141 basierend auf der Merkmalskarte 132. Die Wahrnehmungskarte ist eine menschenlesbare Darstellung der Fahrumgebung, die Szenen beinhaltet, die zu einem bestimmten Zeitpunkt über das Sensorsystem 128 erfasst werden. Wie im Folgenden beschrieben, beinhaltet die Wahrnehmungskarte 141 mehrere Elemente, einschließlich: Objektpositionen (Begrenzungsrahmen), Ausrichtungen, Geschwindigkeiten (dargestellt durch 141-A); ein Freiraumgitter oder eine Bildsegmentierung des Freiraums (dargestellt durch 141-B); Straßenmerkmalpositionen/Typen (dargestellt durch 141-C); und Stixel (dargestellt durch 141-D).
  • In dieser Ausführungsform umfasst das Wahrnehmungskartengeneratormodul 134 eine Objekterkennungsebene CNN 130, die Objekte erkennt und eine Verarbeitung durchführt, um die Wahrnehmungskarte 141 aus der Merkmalskarte 132 abzuleiten. In dieser Ausführungsform ist das Objekterkennungsniveau CNN, das ein Interessensbereichs-(ROI)-Pooling-Modul 242, ein Bereichsvorschlags-(RP)-Generatormodul 244, ein schnelles faltungsneuronales Netzwerk (RCNN) 246, ein Freiraum-Merkmalsgeneratormodul 248, ein Straßenniveau-Merkmalsgeneratormodul 249 und ein Stixel-Generatormodul 252 beinhaltet. Jede dieser Komponenten des Wahrnehmungskartengeneratormoduls 134 kann die Merkmalskarte 132 verarbeiten, um verschiedene Elemente zu erzeugen, aus denen die Wahrnehmungskarte 141 besteht. Wie im Folgenden näher erläutert wird, kann jede dieser Komponenten des Wahrnehmungskartengeneratormoduls 134 kann die Merkmalskarte 132 verarbeiten, um verschiedene Elemente zu erzeugen, aus denen die Wahrnehmungskarte 141 besteht. Das Regionsvorschlags-(RP)-Generatormodul 244 verarbeitet die Merkmalskarte 132 zum Erzeugen von einem Satz von Vorschlägen für Begrenzungsrahmenbereiche; das Interessensbereichs-(ROI)-Pooling-Modul 242 verarbeitet die Merkmalskarte 132 und den Satz von Vorschlägen für Begrenzungsrahmenbereiche zum Erzeugen eines Satzes von Begrenzungsrahmenkandidaten; das schnellfaltende neuronale Netzwerk (RCNN) 246 verarbeitet die Begrenzungsrahmenkandidaten, um Objektpositionen, Ausrichtungen, Geschwindigkeiten (dargestellt durch 141-A) zu erzeugen; das Freiraum-Merkmalsgeneratormodul 248 verarbeitet die Merkmalskarte 132, um ein Freiraumgitter oder eine Bildsegmentierung des Freiraums (dargestellt durch 141-B) zu erzeugen; das Straßenniveau-Merkmalsgeneratormodul 249 verarbeitet die Merkmalskarte 132, um Straßenmerkmale zu erzeugen (dargestellt durch 141-C); und das Stixelgeneratormodul 252 verarbeitet die Merkmalskarte 132, um Stixel zu erzeugen (dargestellt durch 141-D).
  • Das Bereichsvorschlags-(RP)-Generatormodul 244 empfängt die Merkmalskarte 132 als Eingabe und verarbeitet sie, um Ausgaben (z. B. einen Satz von Begrenzungsrahmen-Bereichsvorschlägen) zu erzeugen, die dem ROI-Pooling-Modul 242 bereitgestellt werden. Das ROI-Pooling-Modul 242 verarbeitet den Satz von Begrenzungsrahmen-Bereichsvorschlägen des RP-Generatormoduls 244 zusammen mit der Merkmalskarte 132, um einen Satz von Begrenzungsrahmenkandidaten zu erzeugen, die dem schnellfaltenden neuronalen Netzwerk (RCNNN) 246 bereitgestellt werden. Das schnellfaltende neuronale Netzwerk (RCNN) 246 verarbeitet eine Reihe von Begrenzungsrahmenkandidaten, um einige der Elemente zu erzeugen, aus denen sich die Wahrnehmungskarte 120 zusammensetzt, nämlich die Objektpositionen (Begrenzungsrahmen), Ausrichtungen und Geschwindigkeiten (wie durch 141-A dargestellt).
  • ROI-Pooling ist ein Vorgang, der häufig bei der Objekterkennung unter Verwendung von faltungsneuronalen Netzwerken eingesetzt wird. Das Interessensbereichs-Pooling ist eine neuronale Netzwerkschicht, die für Objekterkennungsaufgaben verwendet wird, um eine signifikante Beschleunigung von Training und Test zu erreichen. Zudem wird eine hohe Erkennungsgenauigkeit erreicht. Siehe beispielsweise Girshick, Ross, et al. „Reichhaltige Merkmalshierarchien für genaue Objekterkennung und semantische Segmentierung." Ergebnisse der IEEE-Konferenz über Computer-Vision und Mustererkennung. 2014 und Girshick, Ross. „Schnell-R-CNN". Ergebnisse der IEEE International Conference on Computer-Vision. 2015.
  • Das ROI-Pooling-Modul 242 empfängt die Merkmalskarte 132 und den Satz von Begrenzungsrahmen-Bereichsvorschlägen, die vom Bereichsvorschlags-(RP)-Generator 244 ausgegeben werden, sowie deren Eingaben und verarbeitet diese Eingaben, um Interessensbereiche aus der Merkmalskarte 132 zu extrahieren, die sogenannten Begrenzungsrahmenkandidaten. Diese Begrenzungsrahmenkandidaten werden dem schnellen R-CNN 246 bereitgestellt. In einer Szene mit 2-3 Fahrzeugen werden beispielsweise 100 Kandidaten durch den RP-Generator 244 erzeugt. Das ROI-Pooling-Modul 242 extrahiert ein Unterfenster aus der Vollbild-Merkmalskarte 132 basierend auf dem Satz von Vorschlägen für die Begrenzungsrahmenbereichsvorschläge und skaliert auf eine 7x7-Rastergröße um. Dann wird das 7x7-Raster in das schnellfaltungsneuronale Netzwerk (RCNN) 246 zur endgültigen Objekterkennung gespeist, das die Rahmenposition, Ausrichtung und Geschwindigkeit ausgibt. In einer Ausführungsform nimmt das ROI-Pooling-Modul 242 zwei Eingaben vor: eine Merkmalskarte 132 mit fester Größe, die aus einem tiefen faltungsneuronalen Netzwerk 130 mit mehreren Windungen und maximalen Pooling-Schichten erhalten wird, und eine N x 5-Matrix, die eine Auflistung von Interessensbereichen darstellt, wobei N eine Reihe von ROIs ist. Die erste Spalte repräsentiert den Bildindex und die restlichen vier sind die Koordinaten der oberen linken und unteren rechten Ecke des Bereichs. Für jeden Interessensbereich aus der Eingabeliste nimmt das ROI-Pooling-Modul 242 einen entsprechenden Abschnitt der Eingabefunktionsübersicht 132 und skaliert ihn auf eine vordefinierte Größe (z. B. 7×7). Die Skalierung kann erfolgen durch: Unterteilen der Bereichsvorschläge in gleich große Abschnitte (deren Anzahl gleich der Dimension der Ausgabe ist); Auffinden des größten Wertes in jedem Abschnitt; und Kopieren dieser Maximalwerte in den Ausgabepuffer. Das Ergebnis davon ist, dass aus einer Liste von Rechtecken unterschiedlicher Größe schnell eine Liste der entsprechenden Merkmalskarten mit einer festen Größe erstellt werden kann. Die Dimension der ROI-Pooling-Ausgabe ist nicht wirklich abhängig von der Größe der Eingabemerkmalskarte oder von der Größe der Bereichsvorschläge. Dies wird ausschließlich durch die Anzahl der Abschnitte bestimmt, in die der Bereichsvorschlag unterteilt ist.
  • Das schnellfaltende neuronale Netzwerk (R-CNN) 246 ist ein hochmodernes visuelles Objekterkennungssystem, das die Vorschläge für den unteren Begrenzungsbereich mit umfangreichen Funktionen kombiniert, die von einem faltungsneuronalen Netzwerk berechnet werden. Das schnellfaltende neuronale Netzwerk (R-CNN) 246 verarbeitet die Bilddaten aus der Merkmalskarte für die Interessensbereiche, um Objekte zu erkennen und zu lokalisieren und die erfassten Objekte innerhalb der Wahrnehmungskarte 141 zu klassifizieren. Erkannte Objekte können nach semantischen Klassen klassifiziert werden, wie beispielsweise Fußgänger, Fahrzeuge, usw.
  • In einer Ausführungsform ist das schnellfaltende neuronale Netzwerk (R-CNN) 246 ein mehrschichtiges CNN-Design, das die extrahierte 7x7-Rastermerkmalskarte überwacht, die vom ROI-Pooling-Modul 242 für jeden Bereichsvorschlag (RP) berechnet wird, und das 3D-Begrenzungsrahmenattribut (d. h. Mittellage, Breite, Höhe und Länge), die Objektgeschwindigkeit und Objektklassifizierungswahrscheinlichkeiten (d. h. die Wahrscheinlichkeit, dass der Begrenzungsrahmen ein Fahrzeug, einen Fußgänger, ein Motorrad und andere beinhaltet) ausgibt. Die Rahmengeschwindigkeit kann durch Regression unter Verwendung eines neuronalen Netzwerks geschätzt werden, indem die Eingabe aus der Merkmalsschicht 232 und der vorherigen Merkmalsschicht 236 überwacht wird. In einer Implementierung kann das schnellfaltende neuronale Netzwerk (R-CNN) 246 separat mit markierten Daten trainiert werden.
  • Das Freiraum-Merkmalsgeneratormodul 248 ist ein mehrschichtiges CNN ohne vollständig verbundene Schichten zu einem späteren Zeitpunkt. Das Freiraum-Merkmalsgeneratormodul 248 überwacht die gesamte Merkmalskarte 132 und erzeugt ein Boolesches Bild in der gleichen Größe wie die eingegebenen RGB-Bilddaten 212. Die wahren Pixel des Booleschen Bildes entsprechen dem freien fahrbaren Bereich. Das Netzwerk des Freiraum-Merkmalsgeneratormoduls 248 wird separat mit markierten Daten trainiert.
  • Das Straßenniveau-Generatormodul 249 ist ein mehrschichtiges CNN-Design ähnlich dem Freiraum 248. Das Straßenniveau-Merkmalsgeneratormodul 249 überwacht die gesamte Merkmalskarte 132 und erzeugt mehrere Boolesche Bilder in der gleichen Größe wie die eingegebenen Bilddaten 212. Die Pixel mit dem wahren Wert in diesen Booleschen Bildern entsprechen den Fahrbahnmarkierungen bzw. den Fahrbahnbegrenzungen. Das Straßenniveau-Merkmalsgeneratormodul 249 wird ebenfalls separat mit den markierten Daten trainiert.
  • Das Stixelgeneratormodul 252 ist ein mehrschichtiges CNN-Design nur mit Faltungsschichten. Das Stixelgeneratormodul 252 überwacht die gesamte Merkmalskarte 132 als Eingabe und erzeugt die Ausgabe. Das Stixelgeneratormodul 252 kann mit den markierten Daten separat trainiert werden. In einer Ausführungsform unterteilt das Stixel-Generatormodul 252 das gesamte Bild in vertikale Scheiben fester Breite von Schulter zu Schulter. Die erwartete Ausgabe des Netzwerks sind die Attribute für jede Scheibe, wie beispielsweise die Wahrscheinlichkeit, dass die Scheibe ein Stixel ist, der Index der unteren Endreihe und die Höhe. Die Stixel sind vertikale rechteckige Elemente mit geringer fester Breite, mit denen Hindernisse beliebiger Form modelliert werden können, deren Klassifikationstyp für autonomes Fahren nicht von Interesse ist (z. B. Leitplanken auf Autobahnen, Gebäuden und Büschen). Jedes Stixel ist durch seine 3D-Position relativ zur Kamera definiert und steht senkrecht auf dem Boden mit einer bestimmten Höhe. Jedes Stixel trennt den Freiraum und nähert sich der unteren und oberen Grenze des Hindernisses an.
  • Die vom schnellen R-CNN 246, dem Freiraum-Merkmalsgeneratormodul 248, dem Straßenniveau-Merkmalsgeneratormodul 249 und dem Stixelgeneratormodul 252 erzeugten Ausgaben werden zum Erzeugen der Wahrnehmungskarte 141 verwendet. Die Wahrnehmungskarte 141 beinhaltet Begrenzungsrahmengrößen, Begrenzungsrahmenpositionen, Begrenzungsrahmenausrichtungen, Begrenzungsrahmengeschwindigkeiten von Objekten, die erkannt werden, Objekttypen (dargestellt durch 141-A), Freiraummerkmale (Freiraumraster oder Bildsegmentierung des Freiraums), dargestellt durch 141-B, Straßenmerkmale und -typen (dargestellt durch 141-C), und Stixel (dargestellt durch 141-D), die den erfassten Objektgrenzen entsprechen.
  • Wie vorstehend mit Bezug auf 5 erwähnt, beinhaltet das Fahrzeugsteuerungssystem 200 ein Primitivprozessormodul 143, das eine Prädikatenlogik (PL) und eine modellprädiktive Steuerung (MPC), ein sensomotorisches Primitivprozessormodul 143A und ein gelerntes sensomotorisches Primitivprozessormodul 143B beinhaltet, das nun mit Bezug auf 7 bzw. 8 beschrieben wird.
  • 7 ist ein Blockdiagramm, das ein Wahrnehmungskartengeneratormodul 134, eine Prädikatenlogik (PL) und eine modellprädiktive Steuerung (MPC) des sensomotorischen Primitivprozessormoduls 143A und ein Arbitriermodul 170A gemäß den offenbarten Ausführungsformen veranschaulicht. 7 wird mit weiterem Bezug auf die 4 und 5 beschrieben. 7 veranschaulicht, wie das PL/MPC-Sensomotorische Primitivprozessormodul 143A die Wahrnehmungskarte 141 und die besondere Kombination 142A' der PL/MPC-Sensomotorischen Primitivmodule 142A verarbeitet, die durch das Szenenverständnismodul 150 und das Auswahlmodul 160 ausgewählt und aktiviert wurden, um ein entsprechendes Fahrzeugtrajektorien- und Geschwindigkeitsprofil 144A für jedes der ausgewählten und aktivierten PL/MPC-Sensomotorischen Primitivmodule 142A' zu erzeugen. In 7 werden die Fahrzeugtrajektorien- und Geschwindigkeitsprofile für jedes der PL/MPC-Sensomotorischen Primitivmodule 142A' gemeinsam als eine einzige Ausgabe über 144A dargestellt, wobei zu beachten ist, dass 144A jedes der Fahrzeugtrajektorien- und Geschwindigkeitsprofile für jedes der PL/MPC-Sensomotorischen Primitivmodule 142A' darstellt. Die Fahrzeugtrajektorien- und Geschwindigkeitsprofile 144A werden dem Arbitriermodul 170A bereitgestellt.
  • Wie vorstehend beschrieben, verarbeitet das Wahrnehmungsgeneratormodul 134 die Merkmalskarte 132 zum Erkennen von Objekten aus der Merkmalskarte 132, klassifiziert die erkannten Objekte nach semantischen Klassen (z. B. Fußgänger, Fahrzeuge, usw.) und erzeugt die Wahrnehmungskarte 141. Das PL/MPC-Sensomotorische Primitivprozessormodul 143 kann Informationen aus der Wahrnehmungskarte 141 verarbeiten. Die verarbeiteten Informationen aus der Wahrnehmungskarte 141 können beispielsweise Begrenzungsrahmenpositionen, Ausrichtungen und Geschwindigkeiten von erfassten Objekten aus der Wahrnehmungskarte 141, Straßenmerkmale und Freiraummerkmale für die Umgebung gemäß der Wahrnehmungskarte 141 usw. beinhalten. Basierend auf den Objektinformationen und den geometrischen Fahrspur-/Routeninformationen aus der Wahrnehmungskarte 141 kann das PL/MPC-Sensomotorische Primitivprozessormodul 143 jedes der PL/MPC-Sensomotorischen Primitivmodule 142A' ausführen, das ausgewählt und aktiviert wurde, um ein entsprechendes Fahrzeugtrajektorien- und Geschwindigkeitsprofil zu erzeugen, das Informationen beinhaltet, die den Längsabstand (x), den Seitenabstand (y), die Richtung (θ) und die gewünschte Geschwindigkeit (v) des Fahrzeugs, das in zukünftigen Zeitpunkten durchfahren wird, wie nachfolgend mit Bezug auf 9B beschrieben. Die Fahrzeugtrajektorien- und Geschwindigkeitsprofile 144A können dann dem Arbitriermodul 170A bereitgestellt und wie vorstehend beschrieben verarbeitet werden. So wendet beispielsweise das Arbitriermodul 170A Prioritätslogikregeln an, um eine Prioritätsreihenfolge bei der Ausführung für jedes der Fahrzeugtrajektorien- und Geschwindigkeitsprofile 144A, 144B zu definieren.
  • 8 ist ein Blockdiagramm, das ein Merkmalskartengeneratormodul 130, ein gelerntes sensomotorisches Primitivprozessormodul 143B und ein Arbitriermodul 170A gemäß den offenbarten Ausführungsformen veranschaulicht. 8 wird mit weiterem Bezug auf die 4 und 5 beschrieben. 8 veranschaulicht, wie das erlernte sensomotorische Primitivprozessormodul 143B Informationen aus der Merkmalskarte 132 und der speziellen Kombination 142B' der erlernten sensomotorischen Primitivmodule 142B (die durch das Szenenverständnismodul 150 ausgewählt und durch das Auswahlmodul 160 aktiviert wurden) verarbeitet, um ein entsprechendes Fahrzeug Trajektorien- und Geschwindigkeitsprofil 144B für jedes der erlernten sensomotorischen Primitivmodule 142B' zu erzeugen, die ausgewählt und aktiviert wurden. Die Fahrzeugtrajektorien- und Geschwindigkeitsprofile 144B werden dem Arbitriermodul 170A bereitgestellt.
  • Wie vorstehend beschrieben, verarbeitet das Merkmalskartengeneratormodul 130 die Sensordaten 129, um die Merkmalskarte 132 zu erzeugen. Das erlernte sensomotorische Primitivprozessormodul 143 verarbeitet Informationen aus der Merkmalskarte 132, um die Fahrzeugtrajektorien- und Geschwindigkeitsprofile 144A direkt zu erzeugen, ohne explizite Objekt-, Freiraum-, Straßenniveau- und Stixelerkennung. In einer Ausführungsform ist der erlernte sensomotorische Primitivprozessor als wiederkehrendes CNN-Netzwerkdesign implementiert. Die Eingabeschicht des erlernten Primitivprozessors verbindet sich mit der Merkmalskarte 132 und dort eine Langzeitgedächtnisschicht, die die gewünschten Fahrzeugtrajektorien- und Geschwindigkeitsprofile ausgibt. Jeder erlernte sensomotorische Primitivprozessor wird offline unter Verwendung der markierten Daten trainiert (z. B. durch die Erfassung menschlicher Fahrdaten). Die Informationen aus der Merkmalskarte 132 können die Verkettung der Merkmalsschichten 232, der Vorzyklus-Merkmalsebenen 234 und der Bereichspräsenzkarte 238 beinhalten. Basierend auf den verarbeiteten Informationen aus der Merkmalskarte 132 kann das erlernte sensomotorische Primitivprozessormodul 143 jedes der erlernten sensomotorischen Primitivmodule 142B' ausführen, das ausgewählt und aktiviert wurde, um ein entsprechendes Fahrzeugtrajektorien- und Geschwindigkeitsprofil zu erzeugen. In 8 werden die Fahrzeugtrajektorien- und Geschwindigkeitsprofile für jedes der erlernten sensomotorischen Primitivmodule 142B' gemeinsam als eine einzige Ausgabe über 144A dargestellt, wobei zu beachten ist, dass 144B jedes der Fahrzeugtrajektorien- und Geschwindigkeitsprofile für jedes der erlernten sensomotorischen Primitivmodule 142B' darstellt. Die Fahrzeugtrajektorien- und Geschwindigkeitsprofile 144B können dann dem Arbitriermodul 170A bereitgestellt und wie vorstehend beschrieben verarbeitet werden. So wendet beispielsweise das Arbitriermodul 170A Prioritätslogikregeln an, um eine Prioritätsreihenfolge zum Ausführen für jedes der Fahrzeugtrajektorien- und Geschwindigkeitsprofile 144B zu definieren, wobei auch die Fahrzeugtrajektorien- und Geschwindigkeitsprofile 144A berücksichtigt werden, die durch das PL/MPC-Sensomotorische Primitivprozessormodul 143A von 7 erzeugt wurden. Das Arbitrierungsmodul 170A kann dann eines der Fahrzeugtrajektorien- und Geschwindigkeitsprofile 171 mit der höchsten Priorität zum Ausführen durch das Fahrzeugsteuermodul 170B von 5 auswählen, um Steuersignale 172 zu erzeugen, die an das Stellgliedsystem 190 gesendet und von einer Low-Level-Steuerung 192 verarbeitet werden, um Befehle zu erzeugen, die an die Stellglieder 194 gesendet werden.
  • 9A ist ein Blockdiagramm, das ein Arbitrierungsmodul 170A, ein Fahrzeugsteuermodul 170B und ein Stellgliedsystem 190 gemäß den offenbarten Ausführungsformen veranschaulicht. 9A wird mit weiterem Bezug auf die 4, 5, 7 und 8 beschrieben. 9A veranschaulicht, wie das Arbitrierungsmodul 170A die Fahrzeugtrajektorien- und Geschwindigkeitsprofile 144A, 144B verarbeiten und dann eines der Fahrzeugtrajektorien- und Geschwindigkeitsprofile 171 mit der höchsten Priorität zum Ausführen durch das Fahrzeugsteuermodul 170B auswählen kann, um Steuersignale 172 zu erzeugen, die an das Antriebssystem 190 gesendet werden.
  • Wie vorstehend unter Bezugnahme auf 5 erwähnt, wählt und ermöglicht das Szenenverständnismodul 150 und das Auswahlmodul 160 empfängt eine bestimmte Kombination 142A' der PL/MPC-Sensomotorischen Primitivprozessormodule 142A und/oder eine bestimmte Kombination 142B' der erlernten sensomotorischen Primitivmodul 142B, die dem PL/MPC-Sensomotorischen Primitivprozessormodul 143A bzw. dem erlernten sensomotorischen Primitivprozessormodul 143B bereitgestellt werden. Das PL/MPC-Sensomotorische Primitivprozessormodul 143A verarbeitet die jeweilige Kombination 142A' der PL/MPC-Sensomotorischen Primitivmodule 142A, um eine entsprechende Fahrzeugtrajektorie und ein entsprechendes Geschwindigkeitsprofil 144A für jedes der PL/MPC-Sensomotorischen Primitivmodule 142A zu erzeugen, und das erlernte sensomotorische Primitivprozessormodul 143B verarbeitet die jeweilige Kombination 142B' der erlernten sensomotorischen Primitivmodule 142B, um ein entsprechendes Fahrzeugtrajektorien- und Geschwindigkeitsprofil 144B für jedes der erlernten sensomotorischen Primitivmodule 142B zu erzeugen.
  • Das Arbitrierungsmodul 170A wendet Prioritätslogikregeln an, um eine Prioritätsreihenfolge zum Ausführen für jedes der Fahrzeugtrajektorien- und Geschwindigkeitsprofile 144A, 144B zu definieren, und wählt das Fahrzeugtrajektorien- und Geschwindigkeitsprofil 171 mit der höchsten Priorität zum Ausführen aus. Das Fahrzeugsteuermodul 170B verarbeitet das ausgewählte von Fahrzeugtrajektorien- und Geschwindigkeitsprofilen 171, durch Anwenden neuromorpher oder ODE-Steuermodelle auf das ausgewählte der Fahrzeugtrajektorien- und Geschwindigkeitsprofile 171, um die Steuersignale 172 zu erzeugen, die zum Erzeugen von Befehlen verwendet werden (z. B. Beschleunigungsbefehle und Lenkmoment- oder Winkelbefehle).
  • Das vom Fahrzeugsteuermodul 170B angewandte neuromorphe Steuermodell kann je nach Implementierung variieren. In dieser Ausführungsform beinhaltet das vom Fahrzeugsteuermodul 170B angewandte neuromorphe Steuermodell ein inverses dynamisches Abbildungsmodul 170B1 und ein vorwärts gerichtetes dynamisches Abbildungsmodul 170B2.
  • Das inverse dynamische Abbildungsmodul 170B1 erzeugt die Steuersignale 172 basierend auf dem ausgewählten der Fahrzeugtrajektorien- und Geschwindigkeitsprofile 171 aus dem Arbitriermodul 170A und einem vorhergesagten Fahrzeugtrajektorien- und Geschwindigkeitsprofil 173, das durch das vorwärtsdynamische Abbildungsmodul 170B2 erzeugt wird. So ist beispielsweise in einer Ausführungsform das inverse dynamische Abbildungsmodul 170B1 ein wiederkehrendes neuronales Netzwerk, welches das gewünschte Trajektorien- und Geschwindigkeitsprofil 171 und das vorhergesagte Trajektorien- und Geschwindigkeitsprofil 173 als Eingaben überwacht und die korrigierenden Steuersignale 172 bestimmt, die den Unterschied zwischen der gewünschten Trajektorie und dem Geschwindigkeitsprofil 171 und dem vorhergesagten Trajektorien- und Geschwindigkeitsprofil 173 minimieren. Das inverse dynamische Abbildungsmodul 170B1 stellt die Steuersignale 172 dem Stellgliedsystem 130 bereit. Das Stellgliedsystem 130 verarbeitet die Steuersignale 172, um die entsprechenden Befehle zum Steuern von Stellgliedern verschiedener Fahrzeugsysteme und Teilsysteme zu erzeugen.
  • Das vorwärtsdynamische Abbildungsmodul 170B2 ist ein wiederkehrendes neuronales Netzwerk, das basierend auf den aktuellen Steuersignalen 172 ein vorhergesagtes Fahrzeugtrajektorien- und Geschwindigkeitsprofil 173 (z. B. das einen vorhergesagten Weg des Fahrzeugs darstellt) erzeugt. Anders ausgedrückt, ist das vorwärtsdynamische Abbildungsmodul 170B2 ein wiederkehrendes neuronales Netzwerk, das dazu dient, zu bestimmen, wie Aktionen, die über die Steuersignale 172 ausgeführt werden, die wahrgenommene Realität beeinflussen, indem Fahrzeugkinematiken/-dynamiken mit den überwachten Befestigungspunkten (d. h. dem gewünschten Trajektorien- und Geschwindigkeitsprofil 171) verknüpft werden. Das neuronale Netzwerk, das zum Implementieren des vorwärtsdynamischen Abbildungsmoduls 170B2 verwendet wird, kann basierend auf den erfassten menschlichen Fahrdaten trainiert werden.
  • So ist beispielsweise im Spurfolge sensomotorischen Primitivmodul die gewünschte Trajektorie die Mitte der Fahrspur. Das vorwärtsdynamische Abbildungsmodul 170B2 sagt das Verhalten des Fahrzeugs vorher, das für die gewünschte Fahrspurmitte als Referenz relevant ist, wenn der aktuelle korrigierende Lenkbefehl gegeben ist. Als weiteres Beispiel für einen Prozentsatz des Bremspedal- und Lenkradwinkels kann das vorwärtsdynamische Abbildungsmodul 170B2 die Fahrzeugtrajektorie innerhalb des Horizonts vorhersagen.
  • In dieser Ausführungsform kann das vorwärtsdynamische Abbildungsmodul 170B2 die Rückmeldung der Steuersignale 172 aus dem inversen dynamischen Abbildungsmodul 170B1 verarbeiten und das vorhergesagte Fahrzeugtrajektorien- und Geschwindigkeitsprofil 173 basierend auf den Steuersignalen 172 erzeugen. Wenn beispielsweise in der Fahrspur nach einem primitiven Beispiel der Korrekturbefehl gültig ist, wird das Fahrzeug weiter in die Mitte der Fahrspur gebracht.
  • Wie vorstehend erwähnt, ist jedes sensomotorische Primitivmodul 142 in der Lage, ein Fahrzeugtrajektorien- und Geschwindigkeitsprofil zu erzeugen, das als eine Folge von Zuständen dargestellt wird, die von dem durch Zeit und Geschwindigkeit parametrisierten Fahrzeug erreicht werden, einschließlich Informationen, die den Längsabstand (x), den Seitenabstand (y), die Richtung (θ) und die gewünschte Geschwindigkeit (v) des Fahrzeugs angeben, die in zukünftigen Zeitpunkten durchfahren werden. Diese Parameter beziehen sich auf das Koordinatensystem des Ego-Fahrzeugs. 9B ist ein Diagramm, das ein nicht-einschränkendes Beispiel für eine Fahrzeugtrajektorie und ein Geschwindigkeitsprofil gemäß den offenbarten Ausführungsformen veranschaulicht. In diesem vereinfachten Beispiel wurde ein bestimmtes sensomotorisches Primitivmodul 142 ausgewählt und in die Lage versetzt, ein entsprechendes Fahrzeugtrajektorien- und Geschwindigkeitsprofil zu erzeugen, das durch eine Reihe von Wegpunkten (P1 ....P5) zur Veranschaulichung definiert ist, wobei jedoch zu beachten ist, dass ein Fahrzeugtrajektorien- und Geschwindigkeitsprofil in einer praktischen Implementierung beliebig viele Wegpunkte beinhalten kann. Jeder Wegpunkt (Pn) wird im Koordinatenrahmen des Ego-Fahrzeugs wiedergegeben. So ist beispielsweise Po die aktuelle Position des Ego-Fahrzeugs und befindet sich am Ursprung (0,0) des Koordinatenrahmens. Jeder Wegpunkt (Pn) wird durch Informationen definiert, die den Längs- und Querabstand (X, Y), die Richtung (θ) in Bezug auf die X-Achse und die gewünschte Geschwindigkeit (v) des Fahrzeugs 10 angeben, die in zukünftigen Zeitpunkten durchfahren werden. Alle Größen (X, Y, θ, V) liegen in der Perspektive des Ego-Fahrzeugs. Da sich das Ego-Fahrzeug bewegt, bewegt sich auch die Fahrzeugtrajektorien- und das Geschwindigkeitsprofil. Der Satz von Wegpunkten stellt einen geometrischen Pfad dar, dem das Fahrzeug von einer anfänglichen Konfiguration bis zu einer gegebenen Abschlusskonfiguration folgen sollte, um ein gewünschtes Ziel zu erreichen (z. B. sicheres Erreichen eines Standorts unter Einhaltung der Verkehrsregeln und ohne Kollision mit Hindernissen und unter Einhaltung der Einschränkungen des Fahrgastkomforts). Diese Darstellung setzt voraus, dass sich das Fahrzeug nur vorwärts und rückwärts, also tangential zur Richtung seines Hauptteils, bewegen kann und dass der Lenkradius begrenzt ist. Obwohl in 9B nicht veranschaulicht, könnten die Fahrzeugtrajektorien- und Geschwindigkeitsprofile in anderen Ausführungsformen unter Verwendung eines komplexeren Satzes von Attributwerten spezifiziert werden, die den Zustand oder die Bedingung eines autonomen Fahrzeugs zu einem Zeitpunkt und an einem bestimmten Ort während seiner Bewegung beschreiben.
  • Die 10-13 sind Flussdiagramme, die Verfahren veranschaulichen, die gemäß den offenbarten Ausführungsformen durchgeführt werden. Die 10-13 werden mit weiterem Bezug auf die 1-9B beschrieben. Bezogen auf die 10-13 sind die Schritte der einzelnen dargestellten Verfahren nicht notwendigerweise einschränkend. Es können Schritte hinzugefügt, weggelassen und/oder gleichzeitig durchgeführt werden, ohne dass dabei vom Geltungsbereich der beigefügten Ansprüche abgewichen wird. Jedes Verfahren kann beliebig viele zusätzliche oder alternative Aufgaben beinhalten, wobei die dargestellten Aufgaben nicht in der veranschaulichten Reihenfolge ausgeführt werden müssen. Jedes Verfahren kann in einer umfassenden Vorgehensweise oder einem Prozess mit zusätzlicher hierin nicht im Detail beschriebener Funktionalität eingearbeitet werden. Darüber hinaus könnten eine oder mehrere der dargestellten Aufgaben möglicherweise in einer Ausführungsform jedes Verfahrens weggelassen werden, solange die beabsichtigte Gesamtfunktionalität intakt bleibt. Die Abfolge der Vorgänge innerhalb eines Verfahrens ist nicht auf die in den 10-13 veranschaulichte sequenzielle Abarbeitung beschränkt, sondern kann in einer oder mehreren unterschiedlichen Reihenfolgen gemäß der vorliegenden Offenbarung durchgeführt werden. In verschiedenen Ausführungsformen können die Verfahren basierend auf einem oder mehreren vordefinierten Ereignissen zur Ausführung geplant werden und/oder kontinuierlich während des Betriebs des autonomen Fahrzeugs 10 ausgeführt werden. Ferner kann jedes Verfahren computerimplementiert, in dem verschiedene Aufgaben oder Schritte, die in Verbindung mit dem Verfahren durchgeführt wird, durch Software, Hardware, Firmware oder irgendeine Kombination derselben durchgeführt werden. Zur Veranschaulichung kann sich die folgende Beschreibung jedes Verfahrens auf die oben in Verbindung mit den 1-9B erwähnten Elemente beziehen. In bestimmten Ausführungsformen werden einige oder alle Schritte dieser Verfahren und/oder im Wesentlichen äquivalente Schritte durch Ausführen von prozessorlesbaren Befehlen durchgeführt, die auf einem prozessorlesbaren Medium gespeichert oder enthalten sind. In der folgenden Beschreibung der 10-13 können beispielsweise verschiedene Module beschrieben werden, wie verschiedene Handlungen, Aufgaben oder Schritte auszuführen sind, aber es sollte darauf hingewiesen werden, dass dies sich auf das(die) Verarbeitungssystem(e) dieser Module bezieht, das Befehle ausführt, um diese verschiedenen Handlungen, Aufgaben oder Schritte auszuführen. Abhängig von der Implementierung kann ein Teil des/der Verarbeitungssysteme zentral angeordnet oder auf eine Anzahl von Prozessoren oder Steuerungen verteilt werden, die zusammenwirken.
  • Die 10A und 10B veranschaulichen zusammen ein Steuerverfahren 300 zum Steuern eines autonomen Fahrzeugs, das durch das Steuersystem 200 von 5 gemäß den offenbarten Ausführungsformen durchgeführt werden kann. Das Verfahren 300 wird mit weiterem Bezug auf die 3-9 beschrieben.
  • Bei 302 erfasst das Sensorsystem 128 des autonomen Fahrzeugs Sensordaten aus der externen Umgebung.
  • Bei 304 verarbeitet das Kartengeneratormodul 130, 134 der High-Level-Steuerung 133 die Sensordaten 129, um eine Weltdarstellung 138 eines bestimmten Fahrszenarios zu erzeugen, wie sie durch die Sensordaten 129, Navigationsroutendaten und Positionsinformationen zu einem bestimmten Zeitpunkt dargestellt wird. Wie im Folgenden näher beschrieben, kann die Weltdarstellung 138 eine Merkmalskarte 132 und eine Wahrnehmungskarte 141 beinhalten. Die Merkmalskarte 132 ist eine maschinenlesbare Darstellung der Fahrumgebung, die Merkmale der Fahrumgebung beinhaltet, die über das Sensorsystem 128 zu einem bestimmten Zeitpunkt erfasst wurden. Die Wahrnehmungskarte 141 ist eine menschenlesbare Darstellung der Fahrumgebung, die Szenen beinhaltet, die zu einem bestimmten Zeitpunkt über das Sensorsystem 128 erfasst werden.
  • Bei 306 verarbeitet das Szenenverständnismodul 150 der High-Level-Steuerung eine Merkmalskarte der Weltdarstellung, Navigationsroutendaten, die eine Route des autonomen Fahrzeugs anzeigen, und Standort-/Positionsinformationen, welche die Position des autonomen Fahrzeugs anzeigen, um eine autonome Fahraufgabe zu definieren.
  • Bei 308 kann das Szenenverständnismodul 150 dann die autonome Fahraufgabe in eine Reihe von Teilaufgaben zerlegen, die auf das jeweilige Fahrszenario abgestimmt sind.
  • Bei 310 kann das Szenenverständnismodul 150 eine bestimmte Kombination 142A', 142B' von sensomotorischen Primitivmodulen auswählen, die für das jeweilige Fahrszenario aktiviert und ausgeführt werden sollen, und zwar aus einer Vielzahl von sensomotorischen Primitivmodulen 142A, 142B, die im Speicher gespeichert sind. Die besondere Kombination 142A', 142B' von sensomotorischen Primitivmodulen kann eine Teilmenge sein, die ein oder mehrere des Ensembles von sensomotorischen Primitivmodulen 142A, 142B beinhaltet. Jede der besonderen Kombinationen 142A', 142B' der sensomotorischen Primitivmodule kann mindestens eine Teilaufgabe in der Abfolge behandeln. In einigen Fällen kann eine bestimmte Teilaufgabe durch mehr als eine der besonderen Kombinationen 142A', 142B' der aktivierten sensomotorischen Primitivmodule behandelt werden, wobei es in diesem Fall erforderlich ist, eine über die andere auszuwählen, basierend auf ihrer relativen Priorität.
  • Wie vorstehend erwähnt, ist jedes sensomotorische Primitivmodul ausführbar (wenn ausgewählt und aktiviert), um ein Fahrzeugtrajektorien- und Geschwindigkeitsprofil zum automatischen Steuern des autonomen Fahrzeugs zu erzeugen, um das autonome Fahrzeug dazu zu veranlassen, ein bestimmtes Fahrmanöver durchzuführen. Jedes sensomotorische Primitivmodul bildet Informationen aus der Weltdarstellung auf ein Fahrzeugtrajektorien- und Geschwindigkeitsprofil ab. Jedes Fahrzeugtrajektorien- und Geschwindigkeitsprofil wird auf ein oder mehrere Steuersignale abgebildet, die eine oder mehrere Steuerungsaktionen bewirken, die das autonome Fahrzeug automatisch steuern, um das autonome Fahrzeug zu veranlassen, ein bestimmtes Fahrmanöver durchzuführen, das dem jeweiligen Fahrszenario während der autonomen Fahraufgabe und des Betriebs des autonomen Fahrzeugs entspricht. Jedes sensomotorische Primitivmodul ist ortsunabhängig, was bedeutet, dass es in der Lage ist, in verschiedenen Umgebungen zu arbeiten. Wie ebenfalls vorstehend beschrieben, kann jedes sensomotorische Primitivmodul entweder ein Prädikatenlogik (PL) sensomotorisches Primitivmodul, ein modellprädiktives Steuermodul (MPC) sensomotorisches Primitivmodul oder ein gelerntes sensomotorisches Primitivmodul sein.
  • Bei 312 kann das Szenenverständnismodul 150 eine Kombination von Freigabesignalen 152 erzeugen, welche die jeweilige Kombination 142A', 142B' der sensomotorischen Primitivmodule identifiziert.
  • Bei 314 kann das Auswahlmodul 160 die jeweilige Kombination 142A', 142B' der sensomotorischen Primitivmodule aus dem Speicher 140 basierend auf den Freigabesignalen 152 abrufen.
  • Bei 316 kann das Auswahlmodul 160 die jeweilige Kombination 142A', 142B' der sensomotorischen Primitivmodule auf ein Primitivprozessormodul 142 laden.
  • Bei 318 führt das Primitivprozessormodul 142 die jeweilige Kombination 142A', 142B' der sensomotorischen Primitivmodule so aus, dass jedes ein Fahrzeugtrajektorie- und Geschwindigkeitsprofil erzeugt. In einer Ausführungsform beinhaltet das Primitivprozessormodul 142 eine Prädikatenlogik (PL) und ein sensomotorisches Primitivprozessormodul 143A der modellprädiktiven Steuerung (MPC) und ein erlerntes sensomotorisches Primitivprozessormodul 143A. Das sensomotorische Primitivprozessormodul 142 der Prädikatenlogik (PL) und der modellprädiktiven Steuerung (MPC) verarbeitet Informationen aus der Wahrnehmungskarte 141 und führt die sensomotorischen Primitivmodule der besonderen Kombination 142A', 142B' der sensomotorischen Primitivmodule basierend auf den verarbeiteten Informationen aus der Wahrnehmungskarte 141 aus, sodass jedes ein Fahrzeugtrajektorien- und Geschwindigkeitsprofil 144 erzeugt. Das erlernte sensomotorische Primitivprozessormodul 142 verarbeitet Informationen aus der Merkmalskarte 132 und führt erlernte sensomotorische Primitivmodule der jeweiligen Kombination 142A', 142B' der sensomotorischen Primitivmodule basierend auf den verarbeiteten Informationen aus der Merkmalskarte 132 aus, sodass jeweils ein Fahrzeugtrajektorien- und Geschwindigkeitsprofil 144 erzeugt wird.
  • Bei 320 kann das Arbitrierungsmodul 170A des Fahrzeugsteuermoduls 148 Prioritätslogikregeln anwenden, um eine Prioritätsreihenfolge zum Ausführen für jedes der Fahrzeugtrajektorien- und Geschwindigkeitsprofile 144 zu definieren, die bei 318 erzeugt wurden.
  • Bei 322 kann das Arbitrierungsmodul 170A eines der Fahrzeugtrajektorien- und Geschwindigkeitsprofile 171 mit der höchsten Priorität zum Ausführen auswählen.
  • Bei 324 kann das Fahrzeugsteuermodul 170B des Fahrzeugsteuermoduls 148 das ausgewählte der Fahrzeugtrajektorien- und Geschwindigkeitsprofile 171 verarbeiten, indem ein neuromorphes Steuermodell auf das ausgewählte der Fahrzeugtrajektorien- und Geschwindigkeitsprofile 171 angewendet wird, um die Steuersignale 172 zu erzeugen.
  • Bei 326 kann die Low-Level-Steuerung 192 des Stellgliedsystems 190 die Steuersignale 172 vom Fahrzeugsteuermodul 170B verarbeiten, um Befehle zu erzeugen. Die Befehle steuern einen oder mehrere Stellglieder 194 (z. B. einer oder mehrerer einer Lenkmoment- oder Winkelsteuerung, eines Bremssystems und eines Drosselsystems) des autonomen Fahrzeugs gemäß den Steuersignalen 172, um eine oder mehrere auszuführende Steuerungsaktionen zu planen und auszuführen, um das autonome Fahrzeug automatisch zu steuern und die im jeweiligen Fahrszenario auftretende autonome Fahraufgabe zu automatisieren. Dies ermöglicht es dem autonomen Fahrzeug, das ausgewählte der Fahrzeugtrajektorien- und Geschwindigkeitsprofile 171 zu erreichen.
  • 11 ist ein Flussdiagramm, das ein Verfahren 400 zum Erzeugen einer Merkmalskarte 132 gemäß den offenbarten Ausführungsformen veranschaulicht. Das Verfahren 400 wird mit weiterem Bezug auf die 3-7 beschrieben. Wie vorstehend beschrieben, beinhaltet das Merkmal skartengeneratormodul 130 unter Bezugnahme auf 6 eine Merkmalsextraktion des faltungsneuralen Netzwerks (CNN) 130 mit einer Vielzahl von Schichten.
  • Bei 402 empfängt das Merkmalskartengeneratormodul 130 die Sensordaten 129. Die Sensordaten 129 beinhalten Bilddaten 212, die Pixelinformationen beinhalten, die von Kameras erhalten wurden, und Bereichspunktdaten 214, die von einem oder mehreren Entfernungssystemen bereitgestellt werden. Bei 404 verarbeitet das Merkmalskartengeneratormodul 130 die Sensordaten 129 und die Bereichspunktdaten 214, um die Merkmalskarte 132 zu erzeugen.
  • Bei 406 werden Pixel der Bilddaten nacheinander auf jeder Schicht der Merkmalsextraktion CNN 130 verarbeitet, um Merkmale aus den Bilddaten und den Ausgabefunktionsschichten zu extrahieren. In einer Ausführungsform beinhalten die Schichten der Merkmalsextraktion CNN 130 eine Eingangsschicht 222, eine erste Faltungsschicht 224, eine erste Max-Pooling-Schicht 226, eine zweite Faltungsschicht 228 und eine zweite Max-Pooling-Schicht 229. Jede Schicht 222-229 verarbeitet Pixeldaten aus der vorhergehenden Schicht, um Merkmale zu extrahieren, die letztendlich zu einer Merkmalsschicht führen, die ein dreidimensionaler Tensor ist.
  • Bei 408 verkettet das Merkmalskartengeneratormodul 130 die Merkmalsschicht mit einer vorherigen Merkmalsschicht. Bei 410 verarbeitet das Merkmalskartengeneratormodul 130 die Bereichspunktdaten, um eine Bereichpräsenzkarte 238 der Bereichspunktdaten zu erzeugen. Jeder Bereichspunkt zeigt einen Entfernungswert zu dem autonomen Fahrzeug an. Bei 412 gibt das Merkmalskartengeneratormodul 130 die Merkmalskarte 132 aus, welche die verketteten Schichten aus der Merkmalsschicht 232, der vorherigen Merkmalsschicht 236 und der Bereichspräsenzkarte 238 ist. Mit anderen Worten bildet die Verkettung der Bereichspräsenzkarte 238, der aktuellen visionsbasierten Merkmalskarte 232 und einer vorherigen visionsbasierten Merkmalskarte 236 aus einem früheren Zeitabschnitt die gesamte Merkmalskarte 132
  • 12 ist ein Flussdiagramm, das ein Verfahren 500 zum Erzeugen einer Wahrnehmungskarte 141 gemäß den offenbarten Ausführungsformen veranschaulicht. Das Verfahren 500 wird mit weiterem Bezug auf die 3-8 beschrieben. In einer Ausführungsform, wie vorstehend unter Bezugnahme auf 6 beschrieben, beinhaltet das Wahrnehmungskartengeneratormodul 134 eine Objekterkennung CNN, die ein Bereichsvorschlags-(RP)-Generatormodul 244, ein Interessensbereichs-(ROI)-Pooling-Modul 242, ein schnelles faltungsneuronales Netzwerk (RCNN) 246, ein Freiraum-Merkmalsgeneratormodul 248, ein Straßenniveau-Merkmalsgeneratormodul 249 und ein Stixelgeneratormodul 252 beinhaltet.
  • Bei 502 verarbeitet das Bereichsvorschlags-(RP)-Generatormodul 244 die Merkmalskarte, um einen Satz von Vorschlägen für Begrenzungsrahmenbereiche, Freiraummerkmale, Straßenmerkmale und Stixel zu erzeugen. Bei 504 verarbeitet das Bereichsvorschlags-(RP)-Generatormodul 244 die Merkmalskarte 132 zum Erzeugen eines Satzes von Vorschlägen für Begrenzungsrahmenbereiche, das Interessensbereichs-(ROI)-Pooling-Modul 242 verarbeitet die Merkmalskarte und den Satz von Vorschlägen für Begrenzungsrahmenbereiche, um Interessensbereiche aus der Merkmalskarte 132 zu extrahieren und einen Satz von Begrenzungsrahmenkandidaten zu erzeugen, das Freiraum-Merkmalsgeneratormodul 248 verarbeitet die Merkmalskarte 132, um ein Freiraumraster oder eine Bildsegmentierung des Freiraums zu erzeugen (dargestellt durch 141-B), das Straßenniveau-Merkmalsgeneratormodul 249 verarbeitet die Merkmalskarte 132, um Straßen-Merkmalspositionen/Typen zu erzeugen (dargestellt durch 141-C), und das Stixelgeneratormodul 252 verarbeitet die Merkmalskarte 132, um Stixel (dargestellt durch 141-D) zu erzeugen.
  • Bei 506 verarbeitet das Wahrnehmungskartengeneratormodul 134 die Merkmalskarte 132, um Objekte zu erkennen. In einer Ausführungsform verarbeitet beispielsweise das schnellfaltende neuronale Netzwerk (RCNN) 246 die Begrenzungsrahmenkandidaten, um Objektpositionen (Begrenzungsrahmen), Ausrichtungen, Geschwindigkeiten (dargestellt durch 141-A) zu erzeugen. Bei 508 klassifiziert das schnellfaltende neuronale Netzwerk (RCNN) 246 die erfassten Objekte nach semantischen Klassen.
  • Bei 510 erzeugt das Wahrnehmungskartengeneratormodul 134 die Wahrnehmungskarte 141 basierend auf den erfassten Objekten. Die Wahrnehmungskarte kann beispielsweise Objektpositionen, Ausrichtungen, Geschwindigkeiten (dargestellt durch 141-A); ein Freiraumraster oder eine Bildsegmentierung des Freiraums (dargestellt durch 141-B); Straßenmerkmalspositionen/Typen (dargestellt durch 141-C); und Stixel (dargestellt durch 141-D) beinhalten.
  • 13 ist ein Flussdiagramm, das ein Verfahren 600 zum Erzeugen von Steuersignalen 172 zum Steuern des autonomen Fahrzeugs basierend auf einem ausgewählten Fahrzeugtrajektorien- und Geschwindigkeitsprofil 171 gemäß den offenbarten Ausführungsformen veranschaulicht. Das Verfahren 600 wird mit weiterem Bezug auf die 3-9 beschrieben. In einer Ausführungsform, wie vorstehend unter Bezugnahme auf 9A beschrieben, beinhaltet das Fahrzeugsteuermodul 170B ein inverses dynamisches Abbildungsmodul 170B1 und ein vorwärtsdynamisches Abbildungsmodul 170B2.
  • Bei 602, am Arbitrierungsmodul 170A werden Prioritätslogikregeln angewendet, um eine Prioritätsordnung zum Ausführen für jedes der Fahrzeugtrajektorien- und Geschwindigkeitsprofile 144 zu definieren. Die Prioritätslogikregeln definieren eine relative Priorität für jedes Fahrzeugtrajektorien- und Geschwindigkeitsprofil 144.
  • Bei 604 wählt das Arbitrierungsmodul 170A eines der Fahrzeugtrajektorien- und Geschwindigkeitsprofile 171 mit der höchsten Priorität zum Ausführen aus.
  • Bei 606 wendet das Fahrzeugsteuermodul 170B ein neuromorphes Steuermodell auf das ausgewählte der Fahrzeugtrajektorien- und Geschwindigkeitsprofile 171 an, um die Steuersignale 172 zu erzeugen. So erzeugt beispielsweise das inverse dynamische Abbildungsmodul 170B1 in einer Ausführungsform die Steuersignale 172 basierend auf dem ausgewählten der Fahrzeugtrajektorien- und Geschwindigkeitsprofile 171 aus dem Arbitrierungsmodul 170A und ein vorhergesagtes Fahrzeugtrajektorien- und Geschwindigkeitsprofil 173, das vom vorwärtsdynamischen Abbildungsmodul 170B2 basierend auf den Steuersignalen 172 (die vom inversen dynamischen Abbildungsmodul 170B1 rückgekoppelt werden) erzeugt wird.
  • Die offenbarten Ausführungsformen können ein autonomes Antriebssystem bereitstellen, das ein Szenenverständnismodul beinhaltet, das eine automatisierte Fahraufgabe in eine Reihe von Teilaufgaben zerlegen kann, und dann eine geeignete Teilmenge von szenariospezifischen Qualifikationsmodulen (bezeichnet als sensomotorische Primitivmodule) aus einem Ensemble von szenariospezifischen Qualifikationsmodulen auswählen, um jede Teilaufgabe zu lösen. Bestehende Merkmale und Funktionen, die im Fahrzeug vorhanden sind (z. B. ACC/CMB, Navigationskarten und GPS), können wiederverwendet werden, und sensomotorische Primitivmodule können hinzugefügt oder bei Bedarf angepasst werden, um bestimmte Fahrsituationen zu berücksichtigen. Dieser Ansatz reduziert unter anderem die Komplexität der Validierung. Die offenbarten Ausführungsformen können auch die Leistung und Rechenleistung verbessern und gleichzeitig den skalierbaren Einsatz von aktiven Sicherheits- und autonomen Antriebssystemen ermöglichen. Darüber hinaus kann die Verwendung einer Reihe kleinerer neuronaler Netzwerke (die jeweils für eine begrenzte Anzahl von Fähigkeiten optimiert sind) dazu beitragen, die Rechen- und Trainingseffizienz zu verbessern.
  • Während mindestens eine exemplarische Ausführungsform in der vorstehenden ausführlichen Beschreibung dargestellt wurde, versteht es sich, dass es eine große Anzahl an Variationen gibt. Es versteht sich weiterhin, dass die exemplarische Ausführungsform oder die exemplarischen Ausführungsformen lediglich Beispiele sind und den Umfang, die Anwendbarkeit oder die Konfiguration dieser Offenbarung in keiner Weise einschränken sollen. Die vorstehende ausführliche Beschreibung stellt Fachleuten auf dem Gebiet vielmehr einen zweckmäßigen Plan zur Implementierung der exemplarischen Ausführungsform bzw. der exemplarischen Ausführungsformen zur Verfügung. Es versteht sich, dass verschiedene Veränderungen an der Funktion und der Anordnung von Elementen vorgenommen werden können, ohne vom Umfang der Offenbarung, wie er in den beigefügten Ansprüchen und deren rechtlichen Entsprechungen aufgeführt ist, abzuweichen.
  • 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 Nicht-Patentliteratur
    • Girshick, Ross, et al. „Reichhaltige Merkmalshierarchien für genaue Objekterkennung und semantische Segmentierung.“ Ergebnisse der IEEE-Konferenz über Computer-Vision und Mustererkennung. 2014 [0102]
    • Girshick, Ross. „Schnell-R-CNN“. Ergebnisse der IEEE International Conference on Computer-Vision. 2015 [0102]

Claims (10)

  1. Verfahren zum Steuern eines autonomen Fahrzeugs, das Verfahren umfassend: Verarbeiten von Sensordaten aus einem Sensorsystem, Navigationsroutendaten, die eine Route des autonomen Fahrzeugs anzeigen, und Fahrzeugpositionsdaten, die die Position des autonomen Fahrzeugs anzeigen, an einem Merkmalsgeneratormodul einer High-Level-Steuerung, um eine Merkmalskarte zu erzeugen, die eine maschinenlesbare Darstellung einer Fahrumgebung umfasst, die Merkmale beinhaltet, die über das Sensorsystem in einem bestimmten Fahrszenario zu einem bestimmten Zeitpunkt erfasst wurden; Erzeugen einer Wahrnehmungskarte an einem auf der Merkmalskarte basierenden Wahrnehmungskartengeneratormodul, umfassend: eine menschenlesbare Darstellung der Fahrumgebung, die Szenen beinhaltet, die über das Sensorsystem in dem bestimmten Fahrszenario zu einem beliebigen Zeitpunkt erfasst wurden; Auswählen, an einem Szenenverständnismodul der High-Level-Steuerung basierend auf der Merkmalskarte, einer bestimmten Kombination von sensomotorischen Primitivmodulen, die für das jeweilige Fahrszenario aus einer Vielzahl von sensomotorischen Primitivmodulen aktiviert und ausgeführt werden sollen, worin jedes sensomotorische Primitivmodul Informationen entweder von der Merkmalskarte oder der Wahrnehmungskarte auf ein Fahrzeugtrajektorien- und Geschwindigkeitsprofil abbildet, und ausführbar ist, um ein Fahrzeugtrajektorien- und Geschwindigkeitsprofil zum automatischen Steuern des autonomen Fahrzeugs zu erzeugen, um zu bewirken, dass das autonome Fahrzeug ein spezifisches Fahrmanöver durchführt, und worin jede der besonderen Kombinationen der sensomotorischen Primitivmodule eine Teilaufgabe in einer Folge von Teilaufgaben behandelt, die das jeweilige Fahrszenario behandeln; Erhalten der besonderen Kombination der sensomotorischen Primitivmodule über ein Auswahlmodul aus dem Speicher; und Ausführen eines Primitivprozessormoduls, das die jeweilige Kombination der sensomotorischen Primitivmodule so ausführt, dass jedes ein Fahrzeugtrajektorien- und Geschwindigkeitsprofil erzeugt.
  2. Verfahren zum Steuern des autonomen Fahrzeugs nach Anspruch 1, worin die Sensordaten Folgendes umfassen: Bilddaten, die Pixelinformationen beinhalten, die über Kameras erhalten werden, und Bereichspunktdaten, die von einem oder mehreren Entfernungssystemen bereitgestellt werden, und worin das Merkmalskartengeneratormodul Folgendes umfasst: ein Merkmal extrahierendes faltungsneuronales Netzwerk (CNN), das eine Vielzahl von Schichten umfasst, worin das Erzeugen der Merkmalskarte am Merkmalskartengeneratormodul, basierend auf den Sensordaten, Folgendes umfasst: sukzessives Verarbeiten von Pixeln der Bilddaten an jeder Schicht der Merkmalsextraktion CNN, um Merkmale aus den Bilddaten und Ausgangsmerkmalsschichten zu extrahieren; Verarbeiten der Bereichspunktdaten, um eine Bereichsanwesenheitskarte der Bereichspunktdaten abzuleiten, wobei die einzelnen Bereichspunktdaten einen Wert für eine Entfernung von einem Fahrzeug anzeigen; und Verketten jeder Merkmalsschicht mit einer vorherigen Merkmalsschicht und der Bereichsanwesenheitskarte und Ausgabe der Verkettung jeder Merkmalsschicht mit der vorherigen Merkmalsschicht und der Bereichsanwesenheitskarte als Merkmalskarte.
  3. Verfahren zum Steuern des autonomen Fahrzeugs nach Anspruch 2, worin die Vielzahl von Schichten Folgendes umfasst: eine erste Faltungsschicht, die konfiguriert ist, um eine erste Bank von Faltungskerneln auf eine Eingabeschicht anzuwenden, die rot-grün-blaue (RGB) Bilddaten umfasst, worin jedes Faltungskernel einen Ausgangskanal der ersten Schicht erzeugt, der ein Bild mit einer ersten Auflösung umfasst; eine erste Max-Pooling-Schicht, die konfiguriert ist, um jeden ersten Ausgangskanal durch Anwenden einer Maximalwertoperation auf diesen ersten Ausgangskanal zu verarbeiten, um das entsprechende Bild mit der ersten Auflösung herunterzustufen, worin die erste Max-Pooling-Schicht eine Vielzahl von zweiten Ausgangskanälen ausgibt, die jeweils ein Bild mit einer zweiten Auflösung umfassen, die geringer als die erste Auflösung ist; eine zweite Faltungsschicht, die konfiguriert ist, um eine zweite Bank von Faltungskerneln auf jeden der Vielzahl von zweiten Ausgangskanälen anzuwenden, worin jeder Faltungskernel der zweiten Bank einen dritten Ausgangskanal erzeugt, der ein Bild mit einer dritten Auflösung umfasst, die geringer als die zweite Auflösung ist; und eine zweite Max-Pooling-Schicht, die konfiguriert ist, um jeden dritten Ausgangskanal durch Anwenden einer weiteren Maximalwertoperation auf diesen dritten Ausgangskanal zu verarbeiten, um das entsprechende Bild mit der dritten Auflösung herunterzustufen, worin die zweite Max-Pooling-Schicht eine Vielzahl von vierten Ausgangskanälen ausgibt, die jeweils ein Bild mit einer vierten Auflösung umfassen, die geringer als die dritte Auflösung ist, worin die Merkmalsschicht einen dreidimensionalen Tensor umfasst, der die Vielzahl von vierten Ausgangskanälen umfasst.
  4. Verfahren zum Steuern des autonomen Fahrzeugs nach Anspruch 1, worin das Wahrnehmungskartengeneratormodul eine Objekterkennung CNN umfasst und worin das Erzeugen der Wahrnehmungskarte basierend auf der Merkmalskarte am Wahrnehmungskartengeneratormodul Folgendes umfasst: Verarbeiten der Merkmalskarte in einem Regionsvorschlags-(RP)-Generatormodul der Objekterkennung CNN, um einen Satz von Begrenzungsrahmen-Regionsvorschlägen zu erzeugen; Verarbeiten der Merkmalskarte und des Satzes von Vorschlägen für Begrenzungsrahmenbereiche in einem Interessensbereichs-(ROI)-Pooling-Modul der Objekterkennung CNN, um Interessensbereiche aus der Merkmalskarte zu extrahieren, die Begrenzungsrahmenkandidaten sind; Verarbeiten der Begrenzungsrahmenkandidaten zum Erzeugen von Begrenzungsrahmenposition, Ausrichtung und Geschwindigkeit jedes erfassten Objekts der Wahrnehmungskarte bei einem schnellen faltungsneuronalen Netzwerk (R-CNN) der Objekterkennung CNN; und Klassifizieren der erfassten Objekte gemäß semantischen Klassen gemäß ihren jeweiligen Objekttypen am schnellen faltungsneuronalen Netzwerk (R-CNN) der Objekterkennung CNN; Verarbeiten der Merkmalskarte an einem Freiraum-Merkmalsgeneratormodul, um eine Bildsegmentierung des Freiraums zu erzeugen, die Freiraummerkmale aus der Umgebung beinhaltet; Verarbeiten der Merkmalskarte auf einem Straßenniveau-Merkmalsgeneratormodul, um Standorte und Typen von Straßenmerkmalen aus der Umgebung zu erzeugen; und Verarbeiten der Merkmalskarte an einem Stixel-Generatormodul, um Stixel zu erzeugen, indem ein Bild aus der Merkmalskarte in Stixel unterteilt wird, worin jedes Stixel ein vertikaler Schnitt mit einer festen Breite ist, der durch seine dreidimensionale Position in Bezug auf eine Kamera definiert ist, und Attribute aufweist, die die Wahrscheinlichkeit beinhalten, dass es sich bei diesem vertikalen Schnitt um ein Stixel handelt, einen Index der unteren Endreihe und eine Höhe in Bezug auf den Boden, die sich den unteren und oberen Grenzen eines Hindernisses annähert, und worin die Wahrnehmungskarte Folgendes umfasst: eine Begrenzungsrahmenposition, eine Ausrichtung und eine Geschwindigkeit jedes erfassten Objekts; einen Objekttyp für jedes erfasste Objekt; Freiraummerkmale aus der Umgebung; Standorte und Arten von Straßenmerkmalen aus der Umgebung; und eine Vielzahl von Stixeln, worin jedes Stixel eine vertikale Scheibe mit einer festen Breite ist und Attribute aufweist, die sich den unteren und oberen Grenzen eines Hindernisses annähern.
  5. Verfahren zum Steuern des autonomen Fahrzeugs nach Anspruch 1, worin mindestens eines der sensomotorischen Primitivmodule eines von beiden ist: ein sensomotorisches Primitivmodul der Prädikatslogik (PL), das die Sensordaten über die Wahrnehmungskarte auf eine oder mehrere sicherheitsrelevante Teilaufgaben der autonomen Fahraufgabe abbildet und jede der sicherheitsrelevanten Teilaufgaben auf ein oder mehrere Steuersignale abbildet, worin das eine oder die mehreren Steuersignale jeweils eine oder mehrere Steuerungsaktionen hervorrufen, die das autonome Fahrzeug automatisch steuern, damit das autonome Fahrzeug ein bestimmtes sicherheitsrelevantes Fahrmanöver durchführt, das dem besonderen Fahrszenario während des Betriebs des autonomen Fahrzeugs entspricht; oder ein sensomotorisches Primitivmodul der modellprädikativen Steuerung (MPC), das die Sensordaten über die Wahrnehmungskarte auf eine oder mehrere komfortspezifischen Teilaufgaben der autonomen Fahraufgabe abbildet und jede der komfortspezifischen Teilaufgaben auf ein oder mehrere Steuersignale abbildet, worin das eine oder die mehreren Steuersignale jeweils eine oder mehrere Steuerungsaktionen hervorrufen, die das autonome Fahrzeug automatisch steuern, um das autonome Fahrzeug dazu zu veranlassen, ein spezifisches komfortbezogenes Fahrmanöver durchzuführen, das (1) ein Referenzziel aufweist und (2) das besondere Fahrszenario behandelt, das während des Betriebs des autonomen Fahrzeugs auftritt, und worin das Ausführen der besonderen Kombination der sensomotorischen Primitivmodule am Primitivprozessormodul Folgendes umfasst: Verarbeiten von Informationen aus der Wahrnehmungskarte an einem Primitivprozessormodul der Prädikatenlogik (PL) und des modellprädiktiven Steuermoduls (MPC); und Ausführen des PL und MPC-sensomotorischen Primitivmoduls basierend auf den verarbeiteten Informationen aus der Wahrnehmungskarte, der jeweiligen Kombination der sensomotorischen Primitivmodule, sodass jeweils ein Fahrzeugtrajektorien- und Geschwindigkeitsprofil erzeugt wird.
  6. Verfahren zum Steuern des autonomen Fahrzeugs nach Anspruch 1, worin mindestens eines der sensomotorischen Primitivmodule Folgendes ist: ein gelerntes sensomotorisches Primitivmodul, das direkt die Merkmalskarte auf ein oder mehrere Steuersignale abbildet, die jeweils eine oder mehrere Steuerungsaktionen bewirken, die das autonome Fahrzeug automatisch steuern, um das autonome Fahrzeug zu veranlassen, ein bestimmtes Fahrmanöver durchzuführen, das (1) kein Referenzziel oder keine Steuerungsfunktion aufweist und (2) das besondere Fahrszenario behandelt, das während des Betriebs des autonomen Fahrzeugs auftreten kann, und worin das Ausführen der besonderen Kombination der sensomotorischen Primitivmodule am Primitivprozessormodul Folgendes umfasst: Verarbeiten von Informationen aus der Merkmalskarte bei einem gelernten sensomotorischen Primitivprozessormodul; und Ausführen, am gelernten sensomotorischen Primitivprozessormodul basierend auf den verarbeiteten Informationen aus der Merkmalskarte, der gelernten sensomotorischen Primitivmodule der jeweiligen Kombination der sensomotorischen Primitivmodule, sodass jeweils ein Fahrzeugtrajektorien- und Geschwindigkeitsprofil erzeugt wird.
  7. Verfahren zum Steuern des autonomen Fahrzeugs nach Anspruch 1, ferner umfassend: vor dem Auswählen der besonderen Kombination von sensomotorischen Primitivmodulen: Verarbeiten der Navigationsroutendaten, der Fahrzeugpositionsdaten und der Merkmalskarte am Szenenverständnismodul der High-Level-Steuerung, um eine autonome Fahraufgabe zu definieren, und Zerlegen der autonomen Fahraufgabe im Szenenverständnismodul der High-Level-Steuerung in eine Folge von Teilaufgaben, die das jeweilige Fahrszenario behandeln; ferner umfassend: Verarbeiten eines ausgewählten der Fahrzeugtraj ektorien- und Geschwindigkeitsprofile in einem Fahrzeugsteuermodul, um Steuersignale zu erzeugen; und Verarbeiten der Steuersignale aus dem Fahrzeugsteuermodul an einer Low-Level-Steuerung, um Befehle zu erzeugen, die eines oder mehrere Stellglieder des autonomen Fahrzeugs gemäß den Steuersignalen steuern, um eine oder mehrere Steuerungsaktionen zu planen und auszuführen, die zum automatischen Steuern des autonomen Fahrzeugs auszuführen sind, um die in dem jeweiligen Fahrszenario auftretende autonome Fahraufgabe zu automatisieren und das ausgewählte von Fahrzeugtrajektorien- und Geschwindigkeitsprofilen zu erreichen, worin die Stellglieder eine oder mehrere von einer Lenkwinkelsteuerung, einem Bremssystem und einem Drosselsystem beinhalten.
  8. Autonomes Fahrzeugsteuerungssystem, umfassend: ein Sensorsystem, das so konfiguriert ist, dass es Sensordaten bereitstellt; eine High-Level-Steuerung, umfassend: ein Merkmalskartengeneratormodul, das konfiguriert ist, um die Sensordaten zu verarbeiten, Navigationsroutendaten, die eine Route des autonomen Fahrzeugs anzeigen, und Fahrzeugpositionsdaten, die die Position des autonomen Fahrzeugs anzeigen, um eine Merkmalskarte zu erzeugen, die eine maschinenlesbare Darstellung einer Fahrumgebung umfasst, die Merkmale beinhaltet, die über das Sensorsystem in einem bestimmten Fahrszenario zu einem beliebigen Zeitpunkt erfasst wurden; ein Wahrnehmungskartengeneratormodul, das konfiguriert ist, um basierend auf der Merkmalskarte eine Wahrnehmungskarte zu erzeugen, die Folgendes umfasst: eine menschenlesbare Darstellung der Fahrumgebung, die Szenen beinhaltet, die über das Sensorsystem in dem jeweiligen Fahrszenario zu einem beliebigen Zeitpunkt erfasst wurden, und ein Fahrzeugsteuerungsmodul, das Folgendes umfasst: einen Speicher, der konfiguriert ist, um eine Vielzahl von sensomotorischen Primitivmodulen zu speichern; ein Szenenverständnismodul, das konfiguriert ist, um: basierend auf der Merkmalskarte eine bestimmte Kombination der sensomotorischen Primitivmodule auszuwählen, die für das jeweilige Fahrszenario aktiviert und ausgeführt werden sollen, worin jedes sensomotorische Primitivmodul Informationen entweder von der Merkmalskarte oder der Wahrnehmungskarte auf ein Fahrzeugtrajektorien- und Geschwindigkeitsprofil abbildet, und ausführbar ist, um ein Fahrzeugtrajektorien- und Geschwindigkeitsprofil zum automatischen Steuern des autonomen Fahrzeugs zu erzeugen, um zu bewirken, dass das autonome Fahrzeug ein spezifisches Fahrmanöver durchführt, und worin jede der besonderen Kombinationen der sensomotorischen Primitivmodule eine Teilaufgabe in einer Folge von Teilaufgaben behandelt, die das jeweilige Fahrszenario behandeln; ein Auswahlmodul, das konfiguriert ist, um die besondere Kombination der sensomotorischen Primitivmodule aus dem Speicher abzurufen, ein Primitivprozessormodul, das konfiguriert ist, um die besondere Kombination der sensomotorischen Primitivmodule auszuführen, sodass jedes ein Fahrzeugtrajektorien- und Geschwindigkeitsprofil erzeugt.
  9. Steuerung für ein autonomes Fahrzeug, umfassend: eine High-Level-Steuerung, umfassend: ein Merkmalskartengeneratormodul, das konfiguriert ist, um Sensordaten aus einem Sensorsystem zu verarbeiten, Navigationsroutendaten, die eine Route des autonomen Fahrzeugs anzeigen, und Fahrzeugpositionsdaten, die die Position des autonomen Fahrzeugs anzeigen, um eine Merkmalskarte zu erzeugen, die eine maschinenlesbare Darstellung einer Fahrumgebung umfasst, die Merkmale beinhaltet, die über das Sensorsystem in einem bestimmten Fahrszenario zu einem beliebigen Zeitpunkt erfasst wurden; ein Wahrnehmungskartengeneratormodul, das konfiguriert ist, um basierend auf der Merkmalskarte eine Wahrnehmungskarte zu erzeugen, die Folgendes umfasst: eine menschenlesbare Darstellung der Fahrumgebung, die Szenen beinhaltet, die über das Sensorsystem in dem jeweiligen Fahrszenario zu einem bestimmten Zeitpunkt erfasst wurden, ein Fahrzeugsteuermodul, umfassend: ein Szenenverständnismodul, das konfiguriert ist, um: aus einer Vielzahl von sensomotorischen Primitivmodulen, basierend auf der Merkmalskarte, eine bestimmte Kombination von sensomotorischen Primitivmodulen auszuwählen, die für das jeweilige Fahrszenario aktiviert und ausgeführt werden sollen, worin jedes sensomotorische Primitivmodul Informationen entweder von der Merkmalskarte oder der Wahrnehmungskarte auf ein Fahrzeugtrajektorien- und Geschwindigkeitsprofil abbildet, und ausführbar ist, um ein Fahrzeugtrajektorien- und Geschwindigkeitsprofil zum automatischen Steuern des autonomen Fahrzeugs zu erzeugen, um zu bewirken, dass das autonome Fahrzeug ein spezifisches Fahrmanöver durchführt, und worin jede der besonderen Kombinationen der sensomotorischen Primitivmodule eine Teilaufgabe in einer Folge von Teilaufgaben behandelt, die das jeweilige Fahrszenario behandeln; ein Auswahlmodul, das konfiguriert ist, um die bestimmte Kombination der sensomotorischen Primitivmodule aus dem Speicher abzurufen; und ein Primitivprozessormodul, das so konfiguriert ist, dass es die jeweilige Kombination der sensomotorischen Primitivmodule so ausführt, dass jedes ein Fahrzeugtrajektorie- und Geschwindigkeitsprofil erzeugt.
  10. Steuerung für das autonome Fahrzeug nach Anspruch 9, worin jedes der sensomotorischen Primitivmodule eines von beiden ist: ein Prädikatslogik (PL) sensomotorisches Primitivmodul, das die Sensordaten über die Wahrnehmungskarte auf eine oder mehrere sicherheitsrelevante Teilaufgaben der autonomen Fahraufgabe abbildet und jede der sicherheitsrelevanten Teilaufgaben auf ein oder mehrere Steuersignale abbildet, worin das eine oder die mehreren Steuersignale jeweils eine oder mehrere Steuerungsaktionen bewirken, die das autonome Fahrzeug automatisch steuern, um das autonome Fahrzeug dazu zu veranlassen, ein bestimmtes sicherheitsrelevantes Fahrmanöver durchzuführen, das dem besonderen Fahrszenario während des Betriebs des autonomen Fahrzeugs entspricht; ein sensomotorisches Primitivmodul der modellprädiktiven Steuerung (MPC), das die Sensordaten über die Wahrnehmungskarte auf eine oder mehrere komfortbezogene Teilaufgaben der autonomen Fahraufgabe abbildet und jede der komfortbezogenen Teilaufgaben auf ein oder mehrere Steuersignale abbildet, worin das eine oder die mehreren Steuersignale jeweils eine oder mehrere Steuerungsaktionen bewirken, die das autonome Fahrzeug automatisch steuern, damit das autonome Fahrzeug ein bestimmtes komfortbezogenes Fahrmanöver durchführt, das (1) ein Referenzziel aufweist und (2) das besondere Fahrszenario, das während des Betriebs des autonomen Fahrzeugs auftritt, behandelt; oder ein gelerntes sensomotorisches Primitivmodul, das direkt die Merkmalskarte auf ein oder mehrere Steuersignale abbildet, die jeweils eine oder mehrere Steuerungsaktionen bewirken, die das autonome Fahrzeug automatisch steuern, um das autonome Fahrzeug zu veranlassen, ein bestimmtes Fahrmanöver durchzuführen, das (1) kein Referenzziel oder keine Steuerungsfunktion aufweist und (2) das besondere Fahrszenario behandelt, das während des Betriebs des autonomen Fahrzeugs auftreten kann; und worin das Primitivprozessormodul Folgendes umfasst: ein Prädikatslogik (PL) und modellprädiktives Steuermodul (MPC), die konfiguriert sind, um Informationen aus der Wahrnehmungskarte zu verarbeiten; und basierend auf den verarbeiteten Informationen aus der Wahrnehmungskarte das PL und das MPCsensomotorische Primitivmodul der jeweiligen Kombination der sensomotorischen Primitivmodule auszuführen, sodass jedes ein Fahrzeugtrajektorien- und Geschwindigkeitsprofil erzeugt; und ein gelerntes sensomotorisches Primitivprozessormodul, das konfiguriert ist, um Informationen aus der Merkmalskarte zu verarbeiten; und führt, basierend auf den verarbeiteten Informationen aus der Merkmalskarte, das gelernte sensomotorische Primitivmodul der jeweiligen Kombination der sensomotorischen Primitivmodule so aus, dass jedes ein Fahrzeugtrajektorien- und Geschwindigkeitsprofil erzeugt.
DE102019112038.1A 2018-05-24 2019-05-08 Steuerungssysteme, steuerungsverfahren und steuerungen für ein autonomes fahrzeug Withdrawn DE102019112038A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/988,600 US20190361454A1 (en) 2018-05-24 2018-05-24 Control systems, control methods and controllers for an autonomous vehicle
US15/988600 2018-05-24

Publications (1)

Publication Number Publication Date
DE102019112038A1 true DE102019112038A1 (de) 2019-11-28

Family

ID=68499547

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019112038.1A Withdrawn DE102019112038A1 (de) 2018-05-24 2019-05-08 Steuerungssysteme, steuerungsverfahren und steuerungen für ein autonomes fahrzeug

Country Status (3)

Country Link
US (1) US20190361454A1 (de)
CN (1) CN110531754A (de)
DE (1) DE102019112038A1 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111815160A (zh) * 2020-07-07 2020-10-23 清华大学 一种多维度节点连接评估方法
CN113095125A (zh) * 2019-12-19 2021-07-09 通用汽车环球科技运作有限责任公司 基于场景连续性来诊断感知系统
CN113128326A (zh) * 2019-12-31 2021-07-16 百度(美国)有限责任公司 具有语义地图和lstm的车辆轨迹预测模型

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10144419B2 (en) * 2015-11-23 2018-12-04 Magna Electronics Inc. Vehicle dynamic control system for emergency handling
US20190079526A1 (en) * 2017-09-08 2019-03-14 Uber Technologies, Inc. Orientation Determination in Object Detection and Tracking for Autonomous Vehicles
CN109840448A (zh) * 2017-11-24 2019-06-04 百度在线网络技术(北京)有限公司 用于无人驾驶车辆的信息输出方法和装置
US10739438B2 (en) * 2018-06-20 2020-08-11 Matthew Paul Harrison Super-resolution radar for autonomous vehicles
US11587204B2 (en) * 2018-06-20 2023-02-21 Metawave Corporation Super-resolution radar for autonomous vehicles
JP7087836B2 (ja) * 2018-08-29 2022-06-21 トヨタ自動車株式会社 車両制御システム、制御装置、マネージャ、方法、プログラム、アクチュエータシステム、および車両
US11288567B2 (en) * 2018-09-04 2022-03-29 Nec Corporation Method for training deep neural network (DNN) using auxiliary regression targets
JP7040374B2 (ja) * 2018-09-14 2022-03-23 トヨタ自動車株式会社 物体検出装置、車両制御システム、物体検出方法及び物体検出用コンピュータプログラム
FR3086622B1 (fr) * 2018-09-28 2022-06-24 Renault Sas Dispositif de planification d'un chemin et/ou d'une trajectoire d'un vehicule automobile
US11010592B2 (en) * 2018-11-15 2021-05-18 Toyota Research Institute, Inc. System and method for lifting 3D representations from monocular images
US11927668B2 (en) * 2018-11-30 2024-03-12 Qualcomm Incorporated Radar deep learning
US10890916B2 (en) * 2019-01-30 2021-01-12 StradVision, Inc. Location-specific algorithm selection for optimized autonomous driving
US10726303B1 (en) * 2019-01-30 2020-07-28 StradVision, Inc. Learning method and learning device for switching modes of autonomous vehicle based on on-device standalone prediction to thereby achieve safety of autonomous driving, and testing method and testing device using the same
EP3693243A1 (de) * 2019-02-06 2020-08-12 Zenuity AB Verfahren und system zur steuerung eines automatisierten fahrsystems eines fahrzeugs
US11699063B2 (en) * 2019-02-25 2023-07-11 Intel Corporation Partial inference path technology in general object detection networks for efficient video processing
US11740631B2 (en) 2019-04-02 2023-08-29 The Raymond Corporation Systems and methods for an arbitration controller to arbitrate multiple automation requests on a material handling vehicle
DE102019214603A1 (de) * 2019-09-24 2021-03-25 Robert Bosch Gmbh Verfahren und Vorrichtung zum Erstellen einer Lokalisierungskarte
US11499838B2 (en) * 2019-10-25 2022-11-15 Here Global B.V. Method, system, and computer program product for providing traffic data
US11912271B2 (en) * 2019-11-07 2024-02-27 Motional Ad Llc Trajectory prediction from precomputed or dynamically generated bank of trajectories
US11532168B2 (en) * 2019-11-15 2022-12-20 Nvidia Corporation Multi-view deep neural network for LiDAR perception
US11885907B2 (en) 2019-11-21 2024-01-30 Nvidia Corporation Deep neural network for detecting obstacle instances using radar sensors in autonomous machine applications
CN111178584B (zh) * 2019-12-04 2021-12-07 常熟理工学院 一种基于双层融合模型的无人驾驶行为预测方法
CN111002980B (zh) * 2019-12-10 2021-04-30 苏州智加科技有限公司 基于深度学习的道路障碍物轨迹预测方法和系统
US20230025222A1 (en) * 2019-12-16 2023-01-26 Uisee Technologies (Beijing) Ltd Method and system for ctrolling intelligent network vehicle
US11467584B2 (en) * 2019-12-27 2022-10-11 Baidu Usa Llc Multi-layer grid based open space planner
EP3885226A1 (de) 2020-03-25 2021-09-29 Aptiv Technologies Limited Verfahren und system zur planung der bewegung eines fahrzeugs
CN111476190A (zh) * 2020-04-14 2020-07-31 上海眼控科技股份有限公司 用于无人驾驶的目标检测方法、设备及存储介质
CN113753033A (zh) * 2020-06-03 2021-12-07 上海汽车集团股份有限公司 一种车辆、车辆驾驶任务选择方法及装置
WO2021247075A1 (en) 2020-06-05 2021-12-09 Gatik Ai Inc. Method and system for context-aware decision making of an autonomous agent
JP2021197043A (ja) * 2020-06-18 2021-12-27 古野電気株式会社 船舶用物標検出システム、船舶用物標検出方法、信頼度推定装置、及びプログラム
WO2021258254A1 (en) * 2020-06-22 2021-12-30 Nvidia Corporation Hybrid solution for stereo imaging
CN112327666B (zh) * 2020-10-22 2023-02-07 智慧航海(青岛)科技有限公司 动力巡航系统控制模型的目标函数权重矩阵确定方法
EP3992942B1 (de) * 2020-11-02 2024-03-13 Aptiv Technologies Limited Verfahren und systeme zur bestimmung eines attributs eines objekts an einem vorbestimmten punkt
US11932280B2 (en) * 2020-11-16 2024-03-19 Ford Global Technologies, Llc Situation handling and learning for an autonomous vehicle control system
CA3202935A1 (en) * 2020-11-26 2022-06-02 Technological Resources Pty. Limited Method and apparatus for incremental mapping of haul roads
US11691628B2 (en) 2021-02-01 2023-07-04 Tusimple, Inc. Vehicle powertrain integrated predictive dynamic control for autonomous driving
WO2022221979A1 (zh) * 2021-04-19 2022-10-27 华为技术有限公司 一种自动驾驶场景的生成方法、装置及系统
CN113411476A (zh) * 2021-06-10 2021-09-17 蔚来汽车科技(安徽)有限公司 图像传感器控制装置、方法、存储介质和可移动对象
US11869250B2 (en) * 2021-08-24 2024-01-09 GM Global Technology Operations LLC Systems and methods for detecting traffic objects
EP4141472A1 (de) * 2021-08-30 2023-03-01 GM Cruise Holdings LLC Rechnerarchitektur eines autonomen fahrzeugs
CN114550476A (zh) * 2021-11-30 2022-05-27 深圳元戎启行科技有限公司 数据处理方法、车辆管理平台以及计算机可读存储介质
US11945456B2 (en) 2022-01-31 2024-04-02 Ford Global Technologies, Llc Vehicle control for optimized operation
GB2617557A (en) * 2022-04-08 2023-10-18 Mercedes Benz Group Ag A display device for displaying an information of surroundings of a motor vehicle as well as a method for displaying an information
CN115056784B (zh) * 2022-07-04 2023-12-05 小米汽车科技有限公司 车辆控制方法、装置、车辆、存储介质及芯片
ES2928677A1 (es) * 2022-07-06 2022-11-21 La Iglesia Nieto Javier De Sistema de conduccion ecoeficiente adaptado a la modelización tridimensional geoposicionada de la parametrización del trazado de cualquier infraestructura lineal particularizado al vehiculo
CN115294771B (zh) * 2022-09-29 2023-04-07 智道网联科技(北京)有限公司 路侧设备的监控方法和装置、电子设备和存储介质
CN115578709B (zh) * 2022-11-24 2023-04-07 北京理工大学深圳汽车研究院(电动车辆国家工程实验室深圳研究院) 一种车路协同的特征级协同感知融合方法和系统
CN117590856B (zh) * 2024-01-18 2024-03-26 北京航空航天大学 一种基于单一场景和多场景的自动驾驶方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006062061B4 (de) * 2006-12-29 2010-06-10 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung, Verfahren und Computerprogramm zum Bestimmen einer Position basierend auf einem Kamerabild von einer Kamera
US8260515B2 (en) * 2008-07-24 2012-09-04 GM Global Technology Operations LLC Adaptive vehicle control system with driving style recognition
CN102353379B (zh) * 2011-07-06 2013-02-13 上海海事大学 一种适用于自动驾驶车导航的环境建模方法
US9958865B2 (en) * 2015-12-18 2018-05-01 GM Global Technology Operations LLC Systems and methods to enable or disable autonomous driving
EP3219564B1 (de) * 2016-03-14 2018-12-05 IMRA Europe S.A.S. Fahrvorhersage mit tiefem neuronalen netzwerk
CN106054893B (zh) * 2016-06-30 2019-07-26 江汉大学 智能车的控制系统和方法
CN106681250B (zh) * 2017-01-24 2019-01-25 浙江大学 一种基于云的智能汽车控制与管理系统
US10198655B2 (en) * 2017-01-24 2019-02-05 Ford Global Technologies, Llc Object detection using recurrent neural network and concatenated feature map
CN107944375A (zh) * 2017-11-20 2018-04-20 北京奇虎科技有限公司 基于场景分割的自动驾驶处理方法及装置、计算设备

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113095125A (zh) * 2019-12-19 2021-07-09 通用汽车环球科技运作有限责任公司 基于场景连续性来诊断感知系统
CN113095125B (zh) * 2019-12-19 2023-11-24 通用汽车环球科技运作有限责任公司 基于场景连续性来诊断感知系统
CN113128326A (zh) * 2019-12-31 2021-07-16 百度(美国)有限责任公司 具有语义地图和lstm的车辆轨迹预测模型
CN113128326B (zh) * 2019-12-31 2024-04-09 百度(美国)有限责任公司 具有语义地图和lstm的车辆轨迹预测模型
CN111815160A (zh) * 2020-07-07 2020-10-23 清华大学 一种多维度节点连接评估方法
CN111815160B (zh) * 2020-07-07 2022-05-24 清华大学 一种基于越野环境态势场模型的行车风险评估方法

Also Published As

Publication number Publication date
CN110531754A (zh) 2019-12-03
US20190361454A1 (en) 2019-11-28

Similar Documents

Publication Publication Date Title
DE102019112038A1 (de) Steuerungssysteme, steuerungsverfahren und steuerungen für ein autonomes fahrzeug
DE102019111402A1 (de) Steuerungssysteme, steuerungsverfahren und steuerungen für ein autonomes fahrzeug
DE102019111414A1 (de) Steuerungssysteme, steuerungsverfahren und steuerungen für ein autonomes fahrzeug
DE102019115707A1 (de) Räumliches und zeitliches aufmerksamkeitsbasiertes tiefenverstärkungslernen von hierarchischen fahrspurwechselstrategien zum steuern eines autonomen fahrzeugs
CN111204346B (zh) 用于自动车辆的控制命令的端对端学习的方法及系统
DE102018109366B4 (de) Verfahren zur lichtsignalanlagenerfassung
DE102018129295A1 (de) Systeme und Verfahren zum Abbilden von Fahrbahnstörobjekten in autonomen Fahrzeugen
DE102019100569A1 (de) Systeme und verfahren zum mindern von ungeschützten manövern in autonomen fahrzeugen
DE102018121597A1 (de) Boden-referenzbestimmung für den betrieb von autonomen fahrzeugen
DE102019113856A1 (de) Systeme, verfahren und steuerungen für ein autonomes fahrzeug, die autonome fahreragenten und fahrrichtlinienlernende implementieren, um richtlinien basierend auf kollektiven fahrerfahrungen der autonomen fahreragenten zu erstellen und zu verbessern
DE102019113880A1 (de) Systeme, verfahren und steuerungen die autonome fahreragenten und einen richtlinienserver zum erfüllen von richtlinien für autonome fahreragenten implementieren, zum steuern eines autonomen fahrzeugs
DE102018113007A1 (de) Trajektorienplaner zum autonomen fahren mittels bézier-kurven
DE102019102942A1 (de) Systeme und Verfahren für die Korrektur von Fahrzeugwegfolgern
DE102018131477A1 (de) Künstliches neuronales netz zum klassifizieren und lokalisieren von fahrspurmerkmalen
DE102019102939A1 (de) Systeme und Verfahren für Bewegungsplanung von autonomen Fahrzeugen
DE102018121124A1 (de) Verfahren und Systeme zum Erzeugen von Echtzeit-Karteninformationen
DE102018132981A1 (de) Ampelzustandsbewertung
DE102019100572A1 (de) Systeme und verfahren für die wegplanung in autonomen fahrzeugen
DE102018105693A1 (de) Strassenbau-Erfassungssysteme und -Verfahren
DE102018117777A1 (de) Tief integrierte Fusionsarchitektur für automatisierte Fahrsysteme
DE102019104482A1 (de) Massen-abtastende punktwolkenkarte
DE102018115263A1 (de) Systeme und verfahren zur vorhersage von verkehrsmustern in einem autonomen fahrzeug
DE102018112115A1 (de) Verfahren und Systeme zum Ermitteln der Geschwindigkeit von sich bewegenden Objekten
DE112018005340T5 (de) Informationsverarbeitungsvorrichtung, fahrzeug, mobiles objekt, informationsverarbeitungsverfahren und programm
DE102018129048A1 (de) Systeme und verfahren zum bestimmen von sicherheitsereignissen für ein autonomes fahrzeug

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: LKGLOBAL | LORENZ & KOPF PARTG MBB PATENTANWAE, DE

Representative=s name: LKGLOBAL ] LORENZ & KOPF PARTG MBB PATENTANWAE, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee