DE112019000065T5 - Sicherheitsprozeduranalyse zur hindernisvermeidung in einem autonomen fahrzeug - Google Patents

Sicherheitsprozeduranalyse zur hindernisvermeidung in einem autonomen fahrzeug Download PDF

Info

Publication number
DE112019000065T5
DE112019000065T5 DE112019000065.9T DE112019000065T DE112019000065T5 DE 112019000065 T5 DE112019000065 T5 DE 112019000065T5 DE 112019000065 T DE112019000065 T DE 112019000065T DE 112019000065 T5 DE112019000065 T5 DE 112019000065T5
Authority
DE
Germany
Prior art keywords
vehicle
procedure
security
safety
occupied
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112019000065.9T
Other languages
English (en)
Inventor
David Nister
Hon-Leung Lee
Julia Ng
Yizhou Wang
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.)
Nvidia Corp
Original Assignee
Nvidia Corp
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 Nvidia Corp filed Critical Nvidia Corp
Publication of DE112019000065T5 publication Critical patent/DE112019000065T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • 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
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/09Taking automatic action to avoid collision, e.g. braking and steering
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/095Predicting travel path or likelihood of collision
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • 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, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • 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/0242Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using non-visible light signals, e.g. IR or UV signals
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • 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, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • 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, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • 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/027Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising intertial navigation means, e.g. azimuth detector
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • 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, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
    • G05D1/0289Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling with means for avoiding collisions between vehicles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/08Control of attitude, i.e. control of roll, pitch, or yaw
    • G05D1/0891Control of attitude, i.e. control of roll, pitch, or yaw specially adapted for land vehicles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/20Control system inputs
    • G05D1/24Arrangements for determining position or orientation
    • G05D1/245Arrangements for determining position or orientation using dead reckoning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/20Control system inputs
    • G05D1/24Arrangements for determining position or orientation
    • G05D1/247Arrangements for determining position or orientation using signals provided by artificial sources external to the vehicle, e.g. navigation beacons
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/20Control system inputs
    • G05D1/24Arrangements for determining position or orientation
    • G05D1/247Arrangements for determining position or orientation using signals provided by artificial sources external to the vehicle, e.g. navigation beacons
    • G05D1/248Arrangements for determining position or orientation using signals provided by artificial sources external to the vehicle, e.g. navigation beacons generated by satellites, e.g. GPS
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/60Intended control result
    • G05D1/617Safety or protection, e.g. defining protection zones around obstacles or avoiding hazards
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/60Intended control result
    • G05D1/65Following a desired speed profile
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/60Intended control result
    • G05D1/69Coordinated control of the position or course of two or more vehicles
    • G05D1/693Coordinated control of the position or course of two or more vehicles for avoiding collisions between vehicles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/06Direction of travel
    • 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
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/10Longitudinal speed
    • 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
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/14Yaw
    • 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
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/16Pitch
    • 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
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/18Roll
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2554/00Input parameters relating to objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Electromagnetism (AREA)
  • Theoretical Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Traffic Control Systems (AREA)

Abstract

In verschiedenen Beispielen kann ein aktuell beanspruchter Satz von Punkten, die für ein Volumen in einer Umgebung repräsentativ sind, das von einem Fahrzeug zu einem Zeitpunkt eingenommen wird, bestimmt werden. Eine fahrzeugbelegte Bewegungsbahn und zumindest eine objektbelegte Bewegungsbahn kann zu dem Zeitpunkt erzeugt werden. Ein Kreuzungspunkt zwischen der fahrzeugbelegten Bewegungsbahn und einer objektbelegten Bewegungsbahn kann basierend zumindest teilweise auf einem Vergleichen der fahrzeugbelegten Bewegungsbahn mit der objektbelegten Bewegungsbahn bestimmt werden. Basierend auf dem Kreuzungspunkt kann das Fahrzeug dann die erste Sicherheitsprozedur ausführen oder eine alternative Prozedur ausführen, die, wenn sie von dem Objekt implementiert wird, wenn das Objekt die zweite Sicherheitsprozedur implementiert, als eine gegenüber der ersten Sicherheitsprozedur geringere Wahrscheinlichkeit eines Verursachens einer Kollision zwischen dem Fahrzeug und dem Objekt aufweisend bestimmt wird.

Description

  • HINTERGRUND DER ERFINDUNG
  • Damit autonome Fahrzeuge Autonomfahrstufen 3-5 (z.B. bedingte Automatisierung (Stufe 3), hohe Automatisierung (Stufe 4) und Vollautomatisierung (Stufe 5), wie in der Norm 13016 der Society of Automotive Engineers definiert) erreichen können, müssen die autonomen Fahrzeuge in der Lage sein, in allen Umgebungen sicher zu operieren, und zwar ohne die Notwendigkeit menschlicher Intervention, wenn sich potenziell unsichere Situationen zeigen. Um diese Norm zu erfüllen, müssen Hindernis- und Kollisionsvermeidungssysteme in den autonomen Fahrzeugen implementiert sein, die nicht zu der Wahrscheinlichkeit oder drohenden Gefahr einer Kollision (z.B. mit einem anderen, von einem Menschen betriebenen Fahrzeug, das außerhalb der Kontrolle des autonomen Fahrzeugs liegt) beitragen oder diese erhöhen. Darüber hinaus sollten die Hindernis- und Kollisionsvermeidungssysteme in einer Weise implementiert sein, die sich für die Insassen der autonomen Fahrzeuge natürlich anfühlt, so dass das autonome Fahrzeug keine harten, abrupten oder unregelmäßigen Sicherheitsprozeduren ausführt, solange dies nicht notwendig ist, um die Sicherheit der Insassen zu gewährleisten.
  • Konventionelle Systeme müssen diese Normen jedoch noch erfüllen. Konventionelle Systeme, wie beispielsweise Systeme, die eine automatische Notbremsung (AEB), implementieren, analysieren Sensorinformationen, die dem entsprechen, was sich vor oder hinter dem Fahrzeug (z.B. entlang einer Fahrzeuglängsachse) befindet, um zu bestimmen, ob die Bremsen zu betätigen sind. Andere konventionelle Systeme, wie beispielsweise Systeme, die eine Überwachung des toten Winkels (BSM) implementieren, analysieren Sensorinformationen, die dem entsprechen, was sich an den Seiten des Fahrzeugs (z.B. entlang einer Querachse des Fahrzeugs) befindet, um zu bestimmen, ob ein Spurwechsel sicher ist. Infolgedessen analysieren diese konventionellen Systeme die Längs- und Querachsen des Fahrzeugs separat. Dies kann zu unnötigen Einschränkungen bei der Steuerung des Fahrzeugs führen und bei Verwendung durch autonome Fahrzeuge die autonomen Fahrzeuge darin beschränken, natürliche und/oder erforderliche Fahrzeugmanöver (z.B. Manövrieren auf eine angrenzende Fahrspur im langsamen Verkehr, wenn sich ein anderes Fahrzeug an der Seite des autonomen Fahrzeugs befindet) durchzuführen. Darüber hinaus können sich diese konventionellen Systeme bei der Analyse eines aktuellen Wegs des Fahrzeugs in einer aktuellen Fahrspur nur auf Informationen über Objekte in der aktuellen Fahrspur stützen und können infolgedessen hinsichtlich der Handhabung unvorhergesehener Umstände außerhalb der aktuellen Fahrspur (z.B. in angrenzenden Fahrspuren, am Straßenrand und/oder dergleichen, wie beispielsweise umgestürzte Bäume, verdeckte Objekte usw.) stärker eingeschränkt sein.
  • Außerdem können konventionelle Systeme auch erfordern, dass eine Sicherheitsprozedur (z.B. Notbremsung) selbst in Situationen verwendet wird, in denen es nicht vorteilhaft ist, oder in denen es vorteilhaftere Möglichkeiten gibt, als die Sicherheitsprozedur zu verwenden (z.B. wenn das Ausführen einer Sicherheitsprozedur, wie z.B. Bremsen, eine Wahrscheinlichkeit oder drohende Gefahr einer Kollision erhöht). In manchen dieser konventionellen Systeme kann es Ausnahmen geben, um dieses Problem zu berücksichtigen, welche durch Regeln spezifiziert und durch Eingangsinformationen, wie z.B. eine Fahrspurstruktur, Wegstrukturen auf der Grundlage von Karteninformationen und/oder dergleichen, moderiert sein können. Selbst in diesen konventionellen Systemen, die Ausnahmen von der Implementierung eines Sicherheitsprozedur berücksichtigen, kann noch immer ein Vertrauen auf eine vorbestimmte Ausnahme für die Navigation durch das spezifische Szenario bestehen, damit das autonome Fahrzeug ein anderes Fahrzeugmanöver als die Sicherheitsprozedur implementieren kann. Jedoch kann nicht für jede Situation eine Ausnahme gebildet werden, so dass dann, wenn eine Ausnahme nicht verfügbar ist, die Sicherheitsprozedur implementiert werden kann, obwohl diese ein weniger sicheres Ergebnis darstellt. Zu diesem Zweck können diese konventionellen Systeme möglicherweise nicht in der Lage sein, festzustellen, ob die Sicherheitsprozedur oder eine der Ausnahmen tatsächlich die sicherste zu ergreifende Maßnahme ist. Infolgedessen können diese konventionellen Systeme eine Situation identifizieren, bestimmen, ob eine Ausnahme für die Situation existiert, und eine mit der Ausnahme verbundene Prozedur ausführen, falls die Ausnahme existiert, wodurch die relative Gesamtsicherheit der verschiedenen Optionen beim Navigieren durch die Umgebung nicht berücksichtigt wird.
  • KURZBESCHREIBUNG DER ERFINDUNG
  • Ausführungsformen der Erfindung beziehen sich auf die Analyse von Sicherheitsprozeduren eines Fahrzeugs und von Objekten in einer Umgebung zur Hindernisvermeidung. Es werden Systeme und Verfahren offenbart zur Hindernisvermeidung unter Verwendung von Bewegungsbahnen, die für zeitlich vorausschauend projizierte Sicherheitsprozeduren repräsentativ sind, um sicherzustellen, dass ein autonomes Fahrzeug jederzeit in der Lage ist, die Sicherheitsprozedur zu implementieren, um Kollisionen mit Objekten in der Umgebung zu vermeiden.
  • Im Gegensatz zu konventionellen Systemen, wie den vorstehend beschriebenen, kann das erfindungsgemäße System ein Sicherheitspotenzial (z.B. ein Maß für die Wahrscheinlichkeit oder drohende Gefahr einer auftretenden Kollision) für eine Sicherheitsprozedur berechnen, das Sicherheitspotenzial als eine Grundlage verwenden und dann bestimmen, ob eine andere Aktion oder ein anderer Satz von Aktionen implementiert werden kann, um das Sicherheitspotenzial anzupassen, um die Wahrscheinlichkeit einer auftretenden Kollision zu verringern. Infolgedessen sind nicht für jede Situation Ausnahmen und Regeln erforderlich, weil das System jede Situation bewertet, das Sicherheitspotenzial für die Sicherheitsprozedur bestimmt und dann bestimmt, ob ein für die Sicherheitsprozedur repräsentativer Satz von Steuerungen oder eine andere Maßnahme durchzuführen ist, die das mit der Sicherheitsprozedur verbundene Sicherheitspotenzial übertrifft.
  • Um dies zu erreichen, kann das System einen Zustand (z.B. eine Position, eine Geschwindigkeit, eine Orientierung, eine Gierrate usw.) eines Fahrzeugs und eine dem Fahrzeug zugeordnete Sicherheitsprozedur bestimmen. Das System kann ferner eine virtuelle Darstellung von Punkten in Raum und Zeit (z.B. zwei Dimensionen für den Raum und eine Dimension für die Zeit) erzeugen, die das Fahrzeug einnehmen wird (z.B. eine oder mehrere fahrzeugbelegte Bewegungsbahn(en)), wenn es die Sicherheitsprozedur ausführt. Das System kann dann für jedes Objekt (wahrgenommen und nicht wahrgenommen, statisch und bewegt) in der Umgebung Zustände und Sicherheitsprozeduren bestimmen und eine virtuelle Darstellung der Punkte in Raum und Zeit erzeugen, die die Objekte einnehmen werden (z.B. für jedes Objekt eine oder mehrere objektbelegte Bewegungsbahn(en)), wenn ihre jeweiligen Sicherheitsprozeduren ausgeführt werden. Das System kann dann die von dem Fahrzeug belegte(n) Bewegungsbahn(en) im Hinblick auf die von dem Objekt belegten Bewegungsbahnen überwachen, um zu bestimmen, ob ein Schnittpunkt bzw. Kreuzungspunkt oder eine Überlappung auftritt. Sobald bestimmt ist, dass ein Kreuzungspunkt oder eine Überlappung auftritt, kann das System eine präventive Objektvermeidungsprozedur implementieren, die wie ein „Sicherheitskraftfeld“ wirkt, das durch proaktives „Abwehren“ des Fahrzeugs von dem projizierten Kreuzungspunkt des bzw. von Objekt(s/en) arbeitet, durch Implementieren einer Aktion, die die Gesamtwahrscheinlichkeit oder die drohende Gefahr einer tatsächlichen Kollision zwischen dem Fahrzeug und dem/den Objekt(en) verringert.
  • Wenn während der Implementierung der Sicherheitsprozedur oder einer anderen Maßnahme bestimmt wird, dass eine Überlappung zwischen der/den fahrzeugbelegte(n) Bewegungsbahn(en) und der/den objektbelegte(n) Bewegungsbahn(en) nicht länger besteht (z.B. die drohende Gefahr und/oder Wahrscheinlichkeit einer Kollision verringert ist), kann das System das Implementieren der Sicherheitsprozedur oder der anderen Maßnahme einstellen und die Kontrolle an eine höhere Schicht des Systems (z.B. eine Planungs- und/oder eine Steuerschicht eines Autonomfahr-Softwarestacks) zurückgeben, die der Steuerung des Fahrzeugs gemäß Normalfahrprotokollen (z.B. Befolgen von Straßenregeln, Befolgen der aktuellen Anweisungen usw.) zugeordnet ist.
  • Figurenliste
  • Die vorliegenden Systeme und Verfahren zur Sicherheitsprozeduranalyse für Hindernisvermeidung in autonomen Fahrzeugen werden nachstehend unter Bezugnahme auf die beigefügten Zeichnungen näher beschrieben, wobei:
    • 1 ein Blockdiagramm eines beispielhaften Autonomfahrzeugsystems ist, gemäß einigen Ausführungsformen der Erfindung;
    • 2A ein Beispiel für eine zweidimensionale Projektion einer Sicherheitsprozedur für ein Fahrzeug ist, gemäß einigen Ausführungsformen der Erfindung;
    • 2B ein weiteres Beispiel für eine zweidimensionale Projektion einer Sicherheitsprozedur für ein Fahrzeug ist, gemäß einigen Ausführungsformen der Erfindung;
    • 2C ein weiteres Beispiel für eine zweidimensionale Projektion einer Sicherheitsprozedur für ein Fahrzeug ist, gemäß einigen Ausführungsformen der Erfindung;
    • 3A eine Darstellung eines Raum-Zeit-Diagramms eines Fahrzeugs ist, gemäß einigen Ausführungsformen der Erfindung;
    • 3B eine beispielhafte Darstellung eines anderen Raum-Zeit-Diagramms eines Fahrzeugs ist, gemäß einigen Ausführungsformen der Erfindung;
    • 3C eine beispielhafte Darstellung eines anderen Raum-Zeit-Diagramms eines Fahrzeugs ist, gemäß einigen Ausführungsformen der Erfindung;
    • 3D eine beispielhafte Darstellung eines anderen Raum-Zeit-Diagramms eines Fahrzeugs ist, gemäß einigen Ausführungsformen der Erfindung;
    • 3E eine beispielhafte Darstellung eines anderen Raum-Zeit-Diagramms eines Fahrzeugs ist, gemäß einigen Ausführungsformen der Erfindung;
    • 3F ein Beispiel für eine dreidimensionale Darstellung von Sicherheitsprozeduren für eine Vielzahl von Fahrzeugen ist, gemäß einigen Ausführungsformen der Erfindung;
    • 4A ein Beispiel für zweidimensionale Projektionen von Sicherheitsprozeduren für eine Vielzahl von Fahrzeugen ist, gemäß einigen Ausführungsformen der Erfindung;
    • 4B ein weiteres Beispiel für zweidimensionale Projektionen von Sicherheitsprozeduren für eine Vielzahl von Fahrzeugen ist, gemäß einigen Ausführungsformen der Erfindung;
    • 4C ein weiteres Beispiel für zweidimensionale Projektionen von Sicherheitsprozeduren für eine Vielzahl von Fahrzeugen ist, gemäß einigen Ausführungsformen der Erfindung;
    • 4D ein weiteres Beispiel für zweidimensionale Projektionen von Sicherheitsprozeduren für eine Vielzahl von Fahrzeugen ist, gemäß einigen Ausführungsformen der Erfindung;
    • 4E ein Beispiel für zweidimensionale Projektionen von Sicherheitsprozeduren für eine Vielzahl von Objekten ist, gemäß einigen Ausführungsformen der Erfindung;
    • 4F ein Beispiel für zweidimensionale Projektionen von Sicherheitsprozeduren für eine Vielzahl von wahrgenommenen und nicht wahrgenommenen Objekten ist, gemäß einigen Ausführungsformen der Erfindung;
    • 5A ein Beispiel für Kreuzungspunkte von zweidimensionalen Projektionen von Sicherheitsprozeduren und entsprechenden Aktionen für eine Vielzahl von Fahrzeugen ist, gemäß einigen Ausführungsformen der Erfindung;
    • 5B ein weiteres Beispiel für Kreuzungspunkte von zweidimensionalen Projektionen von Sicherheitsprozeduren und entsprechenden Aktionen für eine Vielzahl von Fahrzeugen ist, gemäß einigen Ausführungsformen der Erfindung;
    • 5C ein weiteres Beispiel für Kreuzungspunkte von zweidimensionalen Projektionen von Sicherheitsprozeduren und entsprechenden Aktionen für eine Vielzahl von Fahrzeugen ist, gemäß einigen Ausführungsformen der Erfindung;
    • 6A eine beispielhafte Darstellung einer Störungsanalyse für ein Fahrzeug ist, gemäß einigen Ausführungsformen der Erfindung;
    • 6B ein weiteres Beispiel für eine Störungsanalyse für ein Fahrzeug ist, gemäß einigen Ausführungsformen der Erfindung;
    • 7A eine beispielhafte Darstellung einer Steuerkennlinie entsprechend einer Störungsanalyse für ein Fahrzeug ist, gemäß einigen Ausführungsformen der Erfindung;
    • 7B eine beispielhafte Darstellung der Verwendung eines Sicherheitspotenzials zur Hindernisvermeidung ist, gemäß einigen Ausführungsformen der Erfindung;
    • 8 ein Ablaufdiagramm ist, das ein Verfahren zur Hindernisvermeidung darstellt, gemäß einigen Ausführungsformen der Erfindung;
    • 9A eine beispielhafte Visualisierung von Sicherheitsprozeduren ist, gemäß einigen Ausführungsformen der Erfindung;
    • 9B eine weitere beispielhafte Visualisierung von Sicherheitsprozeduren erster Fahrzeuge in Bezug auf ein zweites Fahrzeug ist, gemäß einigen Ausführungsformen der Erfindung;
    • 9C eine weitere beispielhafte Visualisierung von Projektionen von Sicherheitsprozeduren erster Fahrzeuge in Bezug auf ein zweites Fahrzeug ist, gemäß einigen Ausführungsformen der Erfindung;
    • 9D eine weitere beispielhafte Visualisierung von Projektionen von Sicherheitsprozeduren erster Fahrzeuge in Bezug auf ein zweites Fahrzeug ist, gemäß einigen Ausführungsformen der Erfindung;
    • 9E eine weitere beispielhafte Visualisierung von Projektionen von Sicherheitsprozeduren erster Fahrzeuge in Bezug auf ein zweites Fahrzeug ist, gemäß einigen Ausführungsformen der Erfindung;
    • 10 ein Ablaufdiagramm ist, das ein Verfahren für Bewegungsbahnvisualisierungstechniken zeigt, gemäß einigen Ausführungsformen der Erfindung;
    • 11A eine Darstellung eines beispielhaften autonomen Fahrzeugs ist, gemäß einigen Ausführungsformen der Erfindung;
    • 11B ein Beispiel für Kamerapositionen und Sichtfeldern für das beispielhafte autonome Fahrzeug von 11A ist, gemäß einigen Ausführungsformen der Erfindung;
    • 11C ein Blockdiagramm einer beispielhaften Systemarchitektur für das beispielhafte autonome Fahrzeug von 11A ist, gemäß einigen Ausführungsformen der Erfindung;
    • 11D ein Systemdiagramm zur Kommunikation zwischen (einem) Cloudbasierten Server(n) und dem beispielhaften autonomen Fahrzeug von 11A ist, gemäß einigen Ausführungsformen der Erfindung; und
    • 12 ein Blockdiagramm einer beispielhaften Rechenvorrichtung ist, die zur Verwendung bei der Implementierung einiger Ausführungsformen der Erfindung geeignet ist.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Systeme und Verfahren werden im Zusammenhang mit der Analyse von Sicherheitsprozeduren eines Fahrzeugs und von Objekten in einer Umgebung zur Hindernisvermeidung offenbart. Die Erfindung kann in Bezug auf ein beispielhaftes autonomes Fahrzeug 102 (alternativ hierin als „Fahrzeug 102“ oder „autonomes Fahrzeug 102“ bezeichnet) beschrieben werden, von welchem hierin ein Beispiel mit Bezug auf 11A-11D näher beschrieben wird. Obwohl darüber hinaus die Erfindung in Bezug auf ein autonomes Fahrzeugsystem bzw. Autonomfahrzeugsystem 100 beschrieben sein kann, soll dies nicht beschränkend sein, und können die hierin beschriebenen Verfahren und Prozesse auf Systemen einschließlich zusätzlicher oder alternativer Strukturen, Komponenten und/oder Architekturen implementiert sein, ohne den Rahmen der Erfindung zu verlassen.
  • Sicherheitskraftfeld
  • Die Erfindung bezieht sich auf zumindest einen Teil eines Systems zur sicheren Steuerung eines autonomen Fahrzeugs ohne das Erfordernis menschlicher Überwachung. Genauer bezieht sich die Erfindung auf Verfahren und Prozesse für ein Hindernisvermeidungsniveau eines Autonomfahr-Softwarestacks (z.B. in einigen Implementierungen die letzte oder niedrigste Ebene des Autonomfahr-Softwarestacks vor einer Antriebsschicht), die verwendet wird, um zu gewährleisten, dass eine Kollision zwischen einem Fahrzeug und Objekten in der Umgebung nicht stattfindet. In einigen Beispielen werden die hierin beschriebenen Hindernisvermeidungsmechanismen auch dann ausgeführt, wenn ihre Ausführung die Nichtbefolgung von Verkehrsgesetzgebungen oder anderen Straßenverkehrsvorschriften beinhaltet, die im Allgemeinen von einer höheren Ebene des Autonomfahr-Softwarestacks (z.B. einer Planungsschicht oder einer Steuerschicht) befolgt werden.
  • Wie hierin beschrieben wurde, analysieren konventionelle Systeme im Allgemeinen Sensorinformationen, die dem entsprechen, was vor oder hinter dem Fahrzeug (z.B. entlang einer Fahrzeuglängsachse) liegt, getrennt und verschieden von der Analyse von Sensorinformationen, die dem entsprechen, was seitlich des autonomen Fahrzeugs (z.B. entlang einer Fahrzeugquerachse) liegt. Infolge der getrennten Analyse der Umgebung des Fahrzeugs in Längs- und Querrichtung können unnötige Beschränkungen bei der Steuerung des Fahrzeugs entstehen und, insbesondere bei Verwendung durch autonome Fahrzeuge, die autonomen Fahrzeuge daran hindern, natürliche und/oder erforderliche Fahrzeugmanöver (z.B. Manövrieren auf eine benachbarte Fahrspur im langsamen Verkehr, wenn sich ein anderes Fahrzeug seitlich des autonomen Fahrzeugs befindet) durchzuführen. Darüber hinaus können sich dann, wenn ein aktueller Weg des Fahrzeugs in einer aktuellen Fahrspur analysiert wird, konventionelle Systeme nur auf Informationen über Objekte in der aktuellen Fahrspur stützen und können infolgedessen in Bezug auf die Handhabung unvorhergesehener Umstände außerhalb der aktuellen Fahrspur (z.B. in angrenzenden Fahrspuren, am Straßenrand und/oder dergleichen, wie beispielsweise umgestürzte Bäume, verdeckte Objekte usw.) stärker eingeschränkt sein.
  • Darüber hinaus kann in einigen konventionellen Systemen eine Sicherheitsprozedur ausgeführt werden, wenn bestimmte Szenarien wahrgenommen werden, unabhängig davon, ob es sicherere Optionen gibt, die nicht die Sicherheitsprozedur sind. In anderen konventionellen Systemen kann es Ausnahmen von der Ausführung der Sicherheitsprozedur geben, die durch Regeln spezifiziert und durch Eingangsinformationen, wie z.B. eine Fahrspurstruktur, Wegstrukturen auf der Grundlage von Karteninformationen und/oder dergleichen, moderiert sein können. Selbst in diesen konventionellen Systemen, die Ausnahmen berücksichtigen, kann jedoch immer noch ein Vertrauen darauf bestehen, dass für das vom Fahrzeug wahrgenommene Szenario eine Ausnahme verfügbar ist, damit das Fahrzeug die Sicherheitsprozedur abbrechen und (eine) andere Aktion(en) ausführen kann. Allerdings kann es höchst unwahrscheinlich sein, dass es für jedes Szenario eine Ausnahme gibt, so dass dann, wenn eine Ausnahme nicht verfügbar ist, die Sicherheitsprozedur implementiert werden kann, obwohl diese ein unsichereres Ergebnis liefert. Dadurch, dass sie die Sicherheit jedes Szenarios in der Umgebung nicht separat analysieren, um eine bekannte sichere Maßnahme zu finden (z.B. bei der eine Kollision unwahrscheinlich ist), können diese konventionellen Systeme die Sicherheitsprozedur oder eine der Ausnahmen davon implementieren, auch wenn andere, sicherere Maßnahmen verfügbar sind.
  • Im Gegensatz zu konventionellen Systemen beinhaltet die Erfindung ein System, das ein Sicherheitspotenzial (z.B. ein Maß für eine Wahrscheinlichkeit oder drohende Gefahr einer auftretenden Kollision) für eine Sicherheitsprozedur berechnen kann, das Sicherheitspotenzial als eine Grundlage verwenden kann und dann bestimmen kann, ob eine andere Aktion bzw. Maßnahme oder ein Satz von Aktionen bzw. Maßnahmen durchgeführt werden kann, um das Sicherheitspotenzial dahingehend anzupassen, dass die Wahrscheinlichkeit und/oder drohende Gefahr (und damit die Wahrscheinlichkeit, in einigen Szenarien) einer Kollision verringert wird. Infolgedessen sind Ausnahmen und Regeln, wie beispielsweise diejenigen, die in konventionellen Systemen verwendet werden, nicht erforderlich, weil das System in jeder Situation bewertet, das Sicherheitspotenzial für die Sicherheitsprozedur bestimmt und dann bestimmt, ob die Sicherheitsprozedur oder eine oder mehrere Maßnahme(n) zu implementieren sind, die das mit der Sicherheitsprozedur verbundene Sicherheitspotenzial übertrifft/übertreffen.
  • Um dies zu erreichen, kann das aktuelle System einen Zustand (z.B. eine Position, eine Geschwindigkeit, eine Orientierung, eine Gierrate usw.) eines Fahrzeugs, Fahrzeuginformationen (z.B. eine Breite, eine Länge usw.) bestimmen und den Zustand und die Fahrzeuginformationen dazu verwenden, Punkte in Raum und Zeit zu bestimmen, die das Fahrzeug einnimmt. Das System kann dann basierend auf dem Szenario (Art der Straße, wie z.B. Autobahn oder Landstraße, die Geschwindigkeit des Fahrzeugs, die anderen Objekte in der Umgebung usw.) eine Sicherheitsprozedur für das Fahrzeug (z.B. bei hohen Geschwindigkeiten, Orientierung auf eine aktuelle Fahrspur und Bremsen bis zum vollständigen Stillstand, bei niedrigen Geschwindigkeiten, Ziehen an den Straßenrand und dann Bremsen usw.) bestimmen, und kann eine virtuelle Darstellung von Punkten in Raum und Zeit (z.B. in drei Dimensionen, zwei Dimensionen für Raum und eine Dimension für Zeit) erzeugen, die das Fahrzeug bei Ausführung der Sicherheitsprozedur einnehmen wird (z.B. eine oder mehrere fahrzeugbelegte Bewegungsbahnen). In einigen Beispielen kann/können die fahrzeugbelegte(n) Bewegungsbahn(en) eine Reihe möglicher Implementierungen der Sicherheitsprozedur beinhalten (z.B. die Bewegungsbahn bei Implementieren stärksten Bremsens und Vermeiden einer Kollision, die Bewegungsbahn bei Implementieren geringsten Bremsens unter noch immer Vermeiden einer Kollision, sowie beliebige Bewegungsbahnen dazwischen, bei denen das Bremsen weder am stärksten noch am geringsten ist). Als solches kann eine Bezugnahme auf eine Bewegungsbahn hierin mehr als eine Bewegungsbahn (z.B. Bewegungsbahnen) beinhalten, das jede der Bewegungsbahnen beinhalten kann, die mit verschiedenen Implementierungen (z.B. Profilen) der Sicherheitsprozedur verbunden sind. In einigen Beispielen kann eine Vereinigung von zwei oder mehr fahrzeugbelegten Bewegungsbahnen (z.B. basierend auf zwei oder mehr der Implementierungen der Sicherheitsprozedur) bestimmt werden, wie beispielsweise unter Verwendung einer konvexen Hülle eines Bilds des Objekts oder Fahrzeugs bei jeder Zeitscheibe. Jeder der Punkte innerhalb der fahrzeugbelegten Bewegungsbahn(en) kann als ein beanspruchter Satz von Punkten bezeichnet werden.
  • Das aktuelle System kann Zustände und Sicherheitsprozeduren für jedes Objekt (wahrgenommen und nicht wahrgenommen, statisch und bewegt) in der Umgebung bestimmen. Das System kann dann virtuelle Repräsentationen bzw. Darstellungen der Punkte in Raum und Zeit erzeugen, die die Objekte bei der Ausführung ihrer jeweiligen Sicherheitsprozedur einnehmen werden (z.B. objektbelegte Bewegungsbahnen). Um nicht wahrgenommene Objekte in der Umgebung zu bestimmen, kann das System Regeln verwenden, die auf angemessenen Erwartungen basieren. Wenn beispielsweise ein Kreuzungspunkt in irgendeiner Weise verdeckt ist, kann das System ein nicht wahrgenommenes Objekt als ein Auto, das sich mit angemessener Geschwindigkeit fortbewegt und sich dem Kreuzungspunkt aus der verdeckten Richtung nähert, erzeugen. Als ein weiteres Beispiel kann dann, wenn zwei Autos am Straßenrand geparkt sind, das System ein nicht wahrgenommenes Objekt als eine Person zwischen den beiden Autos erzeugen. Die nicht wahrgenommenen Objekte können von dem System zusätzlich zu den wahrgenommenen Objekten (z.B. Objekten, die aufgrund von Sensordaten von Sensoren des Fahrzeugs identifiziert wurden) in die Analyse einbezogen werden.
  • Das System kann dann die fahrzeugbelegte(n) Bewegungsbahn(en) im Hinblick auf die objektbelegten Bewegungsbahnen überwachen, um zu bestimmen, ob eine Kreuzung bzw. ein Kreuzungspunkt oder eine Überlappung auftritt (in einigen Beispielen mit einer eingebauten Sicherheitsmarge). Sobald bestimmt ist, dass ein Kreuzungspunkt auftritt, kann das System ein „Sicherheitskraftfeld“ implementieren und versuchen, das Fahrzeug von dem/den Objekt(en) „abzustoßen“, indem es die Sicherheitsprozedur implementiert oder indem es einen anderen Satz von Steuerungen implementiert, bei denen bestimmt wurde, dass sie eine gleiche oder geringere Wahrscheinlichkeit und/oder drohende Gefahr für das Verursachen einer tatsächlichen Kollision zwischen dem Fahrzeug und einem der Objekte aufweisen.
  • Bei der Entscheidung, ob die Sicherheitsprozedur oder ein anderer Satz von Steuerungen zu implementieren ist, kann das System ein der Sicherheitsprozedur zugeordnetes Sicherheitspotenzial berechnen (in einigen Beispielen ist das Sicherheitspotenzial eine Repräsentation des Überlappungsgrads zwischen der (den) fahrzeugbelegten Bewegungsbahn(en) und der (den) objektbelegten Bewegungsbahn(en) - z.B. die Fläche oder das Überlappungsvolumen zwischen den beiden) - und kann das Sicherheitspotenzial als eine Grundlage bzw. Basislinie verwenden (z.B. sollte keine ergriffene Maßnahme die Wahrscheinlichkeit oder drohende Gefahr einer Kollision im Vergleich zu der Sicherheitsprozedur erhöhen). In einigen Beispielen kann das Sicherheitspotenzial unter Verwendung einer Funktion bestimmt werden, bei der dann, wenn keine Überlappung erfasst wird, die Funktion Null ist und zum Zeitpunkt einer ersten Kollision hoch oder maximal ist. In solchen Beispielen kann das Sicherheitspotenzial als Messung der drohenden Gefahr einer Kollision zusätzlich oder alternativ zu einer Messung einer Wahrscheinlichkeit einer Kollision bezeichnet werden. Das System kann dann eine Störungsanalyse an einem ursprünglichen Zustand des Fahrzeugs (z.B. unter Verwendung der Kettenregel) durchführen, um zu bestimmen, ob ein anderer Satz von Steuerungen (z.B. eine andere Aktion, wie beispielsweise Beschleunigen statt Bremsen, nach links statt nach rechts lenken usw.) in einem Sicherheitspotenzial resultiert, das im Vergleich zu der Sicherheitspotenzial bei der Implementierung der Sicherheitsprozedur auf eine gleiche oder geringere Wahrscheinlichkeit einer Kollision zwischen dem Fahrzeug und einem der Objekte hinweist.
  • Während der Implementierung der Sicherheitsprozedur oder der anderen Aktion(en) kann dann, wenn bestimmt wird, dass es nicht länger eine Überlappung oder einen Schnittpunkt zwischen der/den fahrzeugbelegten Bewegungsbahn(en) und den objektbelegten Bewegungsbahnen gibt (z.B. die drohende Gefahr und/oder die Wahrscheinlichkeit einer Kollision verringert ist), das System die Implementierung der Sicherheitsprozedur oder der anderen Aktion(en) einstellen und die Kontrolle an eine übergeordnete Schicht des Autonomfahr-Softwarestacks (z.B. eine Planungs- und/oder eine Steuerschicht) zurückgeben, die der Steuerung des Fahrzeugs gemäß den normalen Fahrprotokollen (z.B. Befolgen von Straßenverkehrsregeln, Befolgen der aktuellen Anweisungen usw.) zugeordnet ist. In einigen Beispielen kann/können kann die gewählte(n) Aktion(en) davon abhängen, was die höhere Schicht des Stacks ursprünglich zu implementieren geplant hatte (z.B. vorgeschlagene Steuerungen, die für eine geplante Bewegungsbahn repräsentativ sind), und kann das System die der/den ursprünglich geplanten Aktion(en) nächstliegend sichersten Steuerungen und/oder sicheren Bewegungsbahnen auswählen (z.B. unter Verwendung einer oder mehrerer Metriken).
  • Unter Bezugnahme auf nun 1 ist 1 ein Blockdiagramm eines beispielhaften Autonomfahrzeugsystems 100 gemäß einigen Ausführungsformen der Erfindung. Es versteht sich, dass diese und andere hierin beschriebenen Anordnungen nur als Beispiele aufgeführt sind. Andere Anordnungen und Elemente (z.B. Maschinen, Schnittstellen, Funktionen, Reihenfolgen, Gruppierungen von Funktionen usw.) können zusätzlich oder anstelle der dargestellten verwendet werden, und einige Elemente können ganz weggelassen werden. Ferner sind viele der hierin beschriebenen Elemente funktionale Einheiten, die als diskrete oder verteilte Komponenten oder in Verbindung mit anderen Komponenten und in jeder geeigneten Kombination und Lage implementiert sein können. Verschiedene Funktionen, die hierin als von Entitäten durchgeführt beschrieben werden, können durch Hardware, Firmware und/oder Software ausgeführt werden. Beispielsweise können verschiedene Funktionen von einem Prozessor ausgeführt werden, der in einem Speicher gespeicherte Anweisungen ausführt.
  • Das Autonomfahrzeugsystem 100 kann ein beispielhaftes autonomes Fahrzeug 102, einen oder mehrere Server 104 und/oder ein oder mehrere Objekte 106 beinhalten. In einigen Beispielen können ein oder mehrere des autonomen Fahrzeugs 102, des/der Server 104 und/oder des einen oder der mehreren Objekte 106 ähnliche Komponenten, Merkmale und/oder Funktionen wie eine Computervorrichtung 1200 von 12, die hierin näher beschrieben wird, beinhalten. Die in Bezug auf 1 beschriebenen Komponenten, Merkmale und/oder Funktionen des autonomen Fahrzeugs 102 können unter Verwendung der in diesem Dokument näher beschriebenen Funktionen, Komponenten und/oder Funktionen mit Bezug zu 11A - 11 D implementiert sein. Darüber hinaus können die unter Bezugnahme auf 1 beschriebenen Komponenten, Merkmale und/oder Funktionen des/der Server 104 unter Verwendung der in Bezug auf 11 D näher beschriebenen Funktionen, Komponenten und/oder Funktionen implementiert sein.
  • Das autonome Fahrzeug 102 kann einen Sensormanager 108 beinhalten. Der Sensormanager 108 kann Sensordaten von Sensoren des Fahrzeugs 102 verwalten und/oder abstrahieren. Beispielsweise und unter Bezugnahme auf 11C können die Sensordaten (z.B. ständig, in Abständen, basierend auf bestimmten Bedingungen) durch Sensoren eines GNSS (Global Navigation Satellite System) 1158, einen oder mehrere RADAR-Sensoren 1160, einen oder mehrere Ultraschallsensoren 1162, einen oder mehrere LIDAR-Sensoren 1164, Sensoren einer Trägheitsmesseinheit (IMU) 1166, ein oder mehrere Mikrofone 1196, eine oder mehrere Stereokameras 1168, eine oder mehrere Weitwinkelkameras 1170, eine oder mehrere Infrarotkameras 1172, eine oder mehrere Surroundkameras 1174, eine oder mehrere Fern- und/oder Mittelbereichskameras 1198 und/oder andere Sensortypen generiert werden.
  • Der Sensormanager 108 kann die Sensordaten von den Sensoren in verschiedenen Formaten empfangen (z.B. können Sensoren desselben Typs, wie z.B. LIDAR-Sensoren, Sensordaten in verschiedenen Formaten ausgeben) und kann dazu konfiguriert sein, die verschiedenen Formate in ein einheitliches Format (z.B. für jeden Sensor desselben Typs) zu konvertieren. Infolgedessen können andere Komponenten, Merkmale und/oder Funktionalitäten des autonomen Fahrzeugs 102 das einheitliche Format verwenden, wodurch die Verarbeitung der Sensordaten vereinfacht wird. In einigen Beispielen kann der Sensormanager 108 ein einheitliches Format dazu verwenden, die Steuerung wieder auf die Sensoren des Fahrzeugs 102 anzuwenden, z.B. um Bildraten einzustellen oder eine Verstärkungsregelung durchzuführen. Der Sensormanager 108 kann auch Sensorpakete, die den Sensordaten entsprechen, mit Zeitstempeln aktualisieren, um die Verarbeitung der Sensordaten durch verschiedene Komponenten, Merkmale und Funktionalitäten des Autonomfahrzeugsystems 100 zu unterstützen.
  • Ein Weltmodellmanager 122 kann dazu verwendet werden, ein Weltmodell zu erstellen, zu aktualisieren und/oder zu definieren. Der Weltmodellmanager 122 kann Informationen verwenden, die von einem Hinderniswahrnehmer 110, einem Wegwahrnehmer 112, einem Wartewahrnehmer 114 und/oder einem Kartenwahrnehmer 116 erzeugt und empfangen werden. Beispielsweise kann das Weltmodell zumindest teilweise auf der Grundlage von Affordanzen für Hindernisse, Wege und Wartebedingungen definiert sein, die in Echtzeit oder nahezu in Echtzeit von dem Hinderniswahrnehmer 110, dem Wegwahrnehmer 112, dem Wartewahrnehmer 114 und/oder dem Kartenwahrnehmer 116 wahrgenommen werden können. Der Weltmodellmanager 122 kann das Weltmodell basierend auf neu erzeugten und/oder empfangenen Eingaben (z.B. Daten) von dem Hinderniswahrnehmer 110, dem Wegwahrnehmer 112, dem Wartewahrnehmer 114, dem Kartenwahrnehmer 116 und/oder anderer Komponenten des Autonomfahrzeugsystems 100 kontinuierlich aktualisieren.
  • Das Weltmodell kann dazu verwendet werden, dabei zu helfen, eine oder mehrere Planungskomponenten 124 (die z.B. einer Planungsschicht eines Autonomfahr-Softwarestacks oder einer Architektur zugeordnet sind), eine oder mehrere Steuerungskomponenten 126 (die z.B. einer Steuerschicht des Autonomfahr-Softwarestacks zugeordnet sind), eine oder mehrere Hindernisvermeidungskomponenten 128 (die z.B. einer Hindernis- oder Kollisionsvermeidungsschicht des Autonomfahr-Softwarestacks zugeordnet sind) und/oder eine oder mehrere Antriebskomponenten 130 (die z.B. einer Antriebsschicht des Autonomfahr-Softwarestacks zugeordnet sind) zu informieren.
  • Der Hinderniswahrnehmer 110 kann eine Hinderniswahrnehmung bzw. - erkennung durchführen, die darauf basieren kann, wo das Fahrzeug 102 fahren darf oder fahren kann, und wie schnell das Fahrzeug 102 fahren kann, ohne mit einem Hindernis (z.B. einem Objekt 106, wie beispielsweise einer Struktur, einer Entität, einem Fahrzeug usw.), das von den Sensoren des Fahrzeugs 102 erfasst wird, zu kollidieren. In einigen Beispielen können das/die Objekt(e) 106 andere Fahrzeuge (z.B. Pkw, Lkw, Motorräder, Busse usw.) beinhalten, die direkt und/oder indirekt mit dem Fahrzeug 102 kommunizieren können. Beispielsweise kann/können das/die Objekt(e) 106 direkt mit dem Fahrzeug 102 über eine Fahrzeug-zu-Fahrzeug-Kommunikation kommunizieren, beispielsweise über einen oder mehrere Netzwerktypen (z.B. lokale drahtlose Netzwerke). In anderen Beispielen kann/können das/die Objekt(e) 106 indirekt mit dem Fahrzeug 102 kommunizieren, beispielsweise über die Server 104 und ein oder mehrere Netzwerke (z.B. über ein Mobilfunknetz). In solchen Beispielen kann/können das/die Objekt(e) 106 mit dem/den Server(n) 104 kommunizieren, und kann/können der/die Server 104 mit dem Fahrzeug 102 kommunizieren, und umgekehrt. Die von und/oder über die Objekte 106 empfangenen Informationen können auch vom Wegwahrnehmer 112, dem Kartenwahrnehmer 116 und/oder anderen Komponenten, Merkmalen und/oder Funktionalitäten des Fahrzeugs 102 verwendet werden.
  • Der Wegwahrnehmer 112 kann eine Wegwahrnehmung durchführen, z.B. indem er nominale Wege wahrnimmt, die in einer bestimmten Situation verfügbar sind. In einigen Beispielen berücksichtigt der Wegwahrnehmer 112 ferner Spurwechsel für die Wegwahrnehmung. Ein Fahrspurdiagramm kann den Weg oder die Wege repräsentieren, die dem Fahrzeug 102 zur Verfügung stehen, und kann so einfach sein wie ein einziger Weg auf einer Autobahnauffahrt. In einigen Beispielen kann das Fahrspurdiagramm Wege zu einer gewünschten Fahrspur beinhalten und/oder verfügbare Änderungen entlang der Autobahn (oder eines anderen Straßentyps) anzeigen, oder kann benachbarte Fahrspuren, Fahrspurwechsel, Gabelungen, Kurven, kleeblattförmige Kreuzungen, Zusammenführungen und/oder andere Informationen beinhalten.
  • Der Wartewahrnehmer 114 kann dafür verantwortlich sein, Beschränkungen für das Fahrzeug 102 aufgrund von Regeln, Konventionen und/oder praktischen Erwägungen zu bestimmen. Beispielsweise können die Regeln, Konventionen und/oder praktischen Erwägungen in Bezug auf Ampeln, Mehrwegehaltestellen, Vorfahrten, Zusammenführungen, Mautstellen, Tore, Polizei oder anderes Notfallpersonal, Straßenarbeiter, angehaltene Busse oder andere Fahrzeuge, Einwegbrücken-Arbitrierungen, Fähranleger usw. sein. In einigen Beispielen kann der Wartewahrnehmer 114 für ein Bestimmen von Längsbeschränkungen an dem Fahrzeug 102 verantwortlich sein, die erfordern, dass das Fahrzeug wartet oder verlangsamt, bis irgendeine Bedingung erfüllt ist. In einigen Beispielen ergeben sich Wartebedingungen aus möglichen Hindernissen, wie z.B. Querverkehr in einer Kreuzung, die durch direktes Erfassen durch z.B. den Hinderniswahrnehmer 110 (z.B. unter Verwendung von Sensordaten von den Sensoren, weil die Hindernisse in Sichtfeldern der Sensoren verdeckt sein können) nicht wahrnehmbar sein können. Infolgedessen kann der Wartewahrnehmer ein situatives Bewusstsein bereitstellen, indem er die Gefahr von Hindernissen, die nicht immer sofort durch Regeln und Konventionen wahrnehmbar sind, die wahrgenommen und/oder gelernt werden können, auflöst. Somit kann der Wartewahrnehmer 114 dazu genutzt werden, potenzielle Hindernisse zu identifizieren und eine oder mehrere Steuerungen (z.B. Verlangsamung, Anhalten usw.) zu implementieren, welche möglicherweise nicht möglich wären, würde man sich ausschließlich auf den Hinderniswahrnehmer 110 verlassen.
  • Der Kartenwahrnehmer 116 kann einen Mechanismus beinhalten, durch den Verhaltensweisen erkannt werden, und in einigen Beispielen, um spezifische Beispiele dafür zu bestimmen, welche Konventionen an einem bestimmten Ort gelten. Beispielsweise kann der Kartenwahrnehmer 116 aus Daten, die frühere Fahrten oder Reisen repräsentieren, bestimmen, dass es an einer bestimmten Kreuzung zwischen bestimmten Stunden keine Kehrtwendungen gibt, dass sich ein elektronisches Schild, das eine Richtungsabhängigkeit von Fahrspuren anzeigt, je nach Tageszeit ändert, dass zwei Ampeln in unmittelbarer Nähe (z.B. kaum versetzt voneinander) verschiedenen Straßen zugeordnet sind, dass in Rhode Island das erste Auto, das darauf wartet, an einer Ampel links abzubiegen, das Gesetz bricht, indem es vor ankommendem Verkehr abbiegt, wenn die Ampel grün wird, und/oder andere Informationen bestimmen. Der Kartenwahrnehmer 116 kann das Fahrzeug 102 über statische oder stationäre Infrastrukturobjekte und Hindernisse informieren. Der Kartenwahrnehmer 116 kann darüber hinaus Informationen für den Wartewahrnehmer 114 und/oder den Wegwahrnehmer 112 erzeugen, um beispielsweise zu bestimmen, welches Licht an einer Kreuzung grün sein muss, damit das Fahrzeug 102 einen bestimmten Weg nehmen kann.
  • In einigen Beispielen können Informationen von dem Kartenwahrnehmer 116 an den/die Server 104 (z.B. an einen Kartenmanager 118 des/der Server(s) 104) gesendet, übertragen und/oder bereitgestellt werden, und können Informationen von dem/den Server(n) 104 an den Kartenwahrnehmer 116 und/oder einen Lokalisierungsmanager 120 des Fahrzeugs 102 gesendet, übertragen und/oder bereitgestellt werden. Der Kartenmanager 118 kann eine Cloud-Mapping-Anwendung beinhalten, die sich entfernt vom Fahrzeug 102 befindet und von dem Fahrzeug 102 über ein Netzwerk (z.B. das Netzwerk (die Netzwerke) 1190 von 11D) zugänglich ist. Beispielsweise kann der Kartenwahrnehmer 116 und/oder der Lokalisierungsmanager 120 des Fahrzeugs 102 mit dem Kartenmanager 118 und/oder einer oder mehreren anderen Komponenten oder Funktionalitäten des/der Server(s) 104 kommunizieren, um den Kartenwahrnehmer 116 und/oder den Lokalisierungsmanager 120 über vergangene und aktuelle Fahrten oder Reisen des Fahrzeugs 102 sowie vergangene und aktuelle Fahrten oder Reisen anderer Fahrzeuge zu informieren. Der Kartenmanager 118 kann Mapping-Ausgaben (z.B. Kartendaten) bereitstellen, die von dem Lokalisierungsmanager 120 basierend auf einem bestimmten Position des Fahrzeugs 102 lokalisiert werden können, und die lokalisierten Mapping-Ausgaben können von dem Weltmodellmanager 122 dazu verwendet werden, das Weltmodell zu generieren und/oder zu aktualisieren.
  • Die Planungskomponente(n) 124, die Teil einer Planungsschicht des Autonomfahr-Softwarestacks oder der Architektur sein kann/können, kann/können einen Routenplaner, einen Fahrspurplaner, einen Verhaltensplaner und einen Verhaltenswahlschalter sowie weitere Komponenten, Merkmale und/oder Funktionalitäten beinhalten. Der Routenplaner kann unter anderem die Informationen von dem Kartenwahrnehmer 116, dem Kartenmanager 118 und/oder dem Lokalisierungsmanager 120 verwenden, um einen geplanten Weg zu generieren, der aus GNSS-Wegpunkten (z.B. GPS-Wegpunkten) bestehen kann. Die Wegpunkte können für eine bestimmte Entfernung in die Zukunft des Fahrzeugs 102, wie beispielsweise eine Anzahl von Stadtblöcken, eine Anzahl von Kilometern, eine Anzahl von Metern, eine Anzahl von Meilen usw., die als Ziel für den Fahrspurplaner verwendet werden können, repräsentativ sein.
  • Der Fahrspurplaner kann das Fahrspurdiagramm (z.B. das Fahrspurdiagramm von dem Wegwahrnehmer 112), Objektposen innerhalb des Fahrspurdiagramms (z.B. gemäß dem Lokalisierungsmanager 120) und/oder einen Zielpunkt und eine Richtung bei der Entfernung in die Zukunft von dem Routenplaner als Eingaben verwenden. Der Zielpunkt und die Richtung können auf den am besten passenden fahrbaren Punkt und die Richtung in dem Fahrspurdiagramm gemappt werden (z.B. basierend auf einer GNSS- und/oder Kompassrichtung). Ein Diagrammsuchalgorithmus kann dann auf dem Fahrspurdiagramm ausgehend von einer aktuellen Kante in dem Fahrspurdiagramm ausgeführt werden, um den kürzesten Weg zu dem Zielpunkt zu finden.
  • Der Verhaltensplaner kann die Machbarkeit von grundlegenden Verhaltensweisen des Fahrzeugs 102 bestimmen, wie z.B. das Bleiben in der Spur oder das Wechseln von Fahrspuren nach links oder rechts, so dass die realisierbaren Verhaltensweisen mit den am meisten gewünschten Verhaltensweisen, die von dem Fahrspurplaner ausgegeben werden, abgeglichen werden können. Wenn beispielsweise bestimmt wird, dass das gewünschte Verhalten nicht sicher und/oder verfügbar ist, kann stattdessen ein Standardverhalten ausgewählt werden (z.B. kann das Standardverhalten darin bestehen, in der Spur zu bleiben, wenn ein gewünschtes Verhalten oder ein Spurwechsel nicht sicher ist).
  • In einigen Beispielen kann der Verhaltensplaner zusätzlich zu den anderen Eingaben der hierin beschriebenen Planungskomponente(n) 124 Freiform-Bewegungsbahnen mehr bzw. stärker betrachten, indem er ein dynamisches Belegungsgitter (z.B. ein Gitter bzw. Raster, das stationäre und bewegliche Objekte in der Nähe des Fahrzeugs 102, wie sie durch Sensoren des Fahrzeugs 102 und/oder Karteninformationen bestimmt wurden, anzeigt) berücksichtigt. Der Verhaltensplaner kann in solchen Beispielen eine Reihe verschiedener Pfade erzeugen (die sich z.B. aus einem nominalen oder gewünschten Pfad für das jeweilige Verhalten auffächern) erzeugen, wie beispielsweise Pfade, die mit variierenden Einlenkausmaßen leicht seitlich versetzt sind. Die Wege können dann mit dem dynamischen Belegungsgitter verglichen werden, um auf Sicherheit und Erwünschtheit zu prüfen, einschließlich einer Prüfung auf Komfort (z.B. für den/die Passagier(e)) und Übereinstimmung mit dem nominalen Weg.
  • Der Verhaltenswähler kann eine Logik basierend auf der Ausgabe des Verhaltensplaners und der Aufforderung von dem Fahrbahnplaner, das auszuführende Verhalten zu bestimmen, ausführen. Falls zum Beispiel der Spurplaner verlangt, dass das Fahrzeug 102 in der Spur bleibt, kann der Verhaltenswähler das Fahrzeug 102 in der aktuellen Spur halten. Falls von dem Spurplaner ein Spurwechsel angefordert wird, kann der Spurwechsel anhand des Spurdiagramms überprüft und ausgeführt werden, falls der Verhaltensplaner feststellt, dass der Spurwechsel sicher ist und kein starkes Bremsen (das z.B. für den/die Passagier(e) unangenehm sein kann) erfordert. Der Weg durch einen Spurwechsel kann der vom Verhaltensplaner produzierte Weg sein, wenn der Verhaltenswähler bestätigt hat, dass der Spurwechsel angemessen ist.
  • Die Steuerkomponente(n) 126 können einer Bewegungsbahn oder einem Weg (quer und längs), der von dem Verhaltenswähler der Planungskomponente(n) 124 empfangen wurde, so nah wie möglich und innerhalb der Möglichkeiten des Fahrzeugs 102 folgen. Die Steuerkomponente(n) 126 können eine enge Rückkopplung verwenden, um mit ungeplanten Ereignissen oder Verhaltensweisen, die nicht modelliert sind, und/oder Beliebigem, das Abweichungen vom Ideal verursacht (z.B. eine unerwartete Verzögerung), umzugehen. In einigen Beispielen kann/können die Steuerkomponente(n) 126 ein Vorwärtsvorhersagemodell verwenden, das die Steuerung als eine Eingangsvariable übernimmt und Vorhersagen erzeugt, die mit dem gewünschten Zustand verglichen werden können (z.B. mit dem von der/den Planungskomponente(n) 124 geforderten gewünschten Quer- und Längsweg). Die Steuerung(en), die Diskrepanzen minimieren, können bestimmt werden. In einigen Beispielen kann eine zeitliche Filterung dazu verwendet werden, Schwingungen zu reduzieren, die bei nicht modellierten Delays auftreten (z.B. wenn kein zeitliches Element verwendet wird). Einige Beispiele können eine modellprädiktive Steuerung verwenden, wie z.B. die Euler'sche Vorwärtsintegration (oder eine andere Form einer Vorwärtsintegration) der Differentialgleichungen, die die Bewegung des Fahrzeugs 102 modellieren. In solchen Beispielen können Diskrepanzen an mehreren Punkten in der Zukunft gemessen und durch eine Zielfunktion ausgeglichen werden. In einigen Beispielen kann für eine Längsregelung ein Proportional-Integral-Derivat-(PID)-Regler verwendet werden, mit Nachschlagetabellen, die auf der relativen Entfernung, der relativen Geschwindigkeit und der Geschwindigkeit des Fahrzeugs 102 basieren. Komfortbeschränkungen können für Beschleunigung (z.B. 5 m/s2) und Erschütterung festgelegt werden, und/oder geschwindigkeitsabhängige Grenzen können für Lenkwinkel und Lenkwinkelrate festgelegt werden.
  • Obwohl die Planungskomponente(n) 124 und die Steuerungskomponente(n) 126 separat dargestellt sind, ist dies nicht als beschränkend gedacht. Beispielsweise kann in einigen Ausführungsformen die Abgrenzung zwischen der/den Planungskomponente(n) 124 und der/den Steuerungskomponente(n) 126 nicht genau definiert sein. Insoweit können zumindest einige der Komponenten, Merkmale und/oder Funktionalitäten, die der/den Planungskomponente(n) 124 zugeordnet sind, der/den Steuerungskomponente(n) 126 zugeordnet sein und umgekehrt.
  • Die Hindernisvermeidungskomponente(n) 128 kann/können das autonome Fahrzeug 102 dabei unterstützen, Kollisionen mit Objekten (z.B. beweglichen und stationären Objekten) zu vermeiden. Die Hindernisvermeidungskomponente(n) 128 kann/können einen Berechnungsmechanismus auf einer „ursprünglichen Ebene“ der Hindernisvermeidung beinhalten und als ein „Überlebenshirn“ oder „Reptilienhirn“ für das Fahrzeug 102 dienen. In einigen Beispielen kann/können die Hindernisvermeidungskomponente(n) 128 unabhängig von Komponenten, Merkmalen und/oder Funktionen des Fahrzeugs 102 verwendet werden, die erforderlich sind, um Verkehrsregeln zu befolgen und höflich zu fahren. In solchen Beispielen kann/können die(n) Hindernisvermeidungskomponente(n) Verkehrsgesetzgebungen, Straßenverkehrsregeln und höfliche Fahrnormen ignorieren, um sicherzustellen, dass es nicht zu Kollisionen zwischen dem Fahrzeug 102 und irgendwelchen Objekten kommt. Insoweit kann die Hindernisvermeidungsschicht eine von den Regeln der Straßenschicht getrennte Schicht sein, und kann die Hindernisvermeidungsschicht sicherstellen, dass das Fahrzeug 102 nur unter einem Gesichtspunkt der Hindernisvermeidung sichere Handlungen ausführt. Die Regeln der Straßenschicht können andererseits sicherstellen, dass das Fahrzeug die Verkehrsgesetzgebungen -konventionen befolgt und gesetzliche und konventionelle Wegerechte (wie hierin beschrieben) beachtet.
  • Sowohl die Hindernisvermeidungsschicht als auch die Regeln der Straßenschicht können eine oder mehrere Wahrnehmungskomponenten sowie Planungs- und Steuerungskomponente(n) beinhalten. Eine Kern-Hindernisvermeidungs-Wahrnehmungszuverlässigkeit kann durch mehrfache Redundanz gewährleistet werden, wie beispielsweise Kameras, RADAR-Sensoren, LIDAR-Sensoren usw. Durch Heraustrennen der Hindernisvermeidungsschicht, wie es in einigen Beispielen erfolgt, kann eine unabhängige Validierung auf hohe Zuverlässigkeitsniveaus ermöglicht werden, die eine Grundlage für Sicherheit bilden. Die Regeln der Straßenschicht können in ähnlicher Weise validiert werden, mit Grundwahrheitsmessungen für die Wahrnehmung und Vorfahrtsbestimmung sowie mathematischer Korrektheitsvalidierung der Ergebnisplanung.
  • In Bezug auf das autonome Fahrzeugsystem 100 kann das Fahrzeug 102 zur Hindernisvermeidung zumindest eine Sicherheitsprozedur beinhalten und kann jedes der Objekte 106 zumindest eine Sicherheitsprozedur beinhalten. Die Hindernisvermeidungskomponente(n) 128 kann/können dann unter der Annahme betrieben werden, dass das Fahrzeug 102 und die Objekte 106 in der Umgebung jeweils eine entsprechende Sicherheitsprozedur beinhalten. Die Sicherheitsprozeduren für das Fahrzeug 102 und/oder die Objekte 106 können Prozeduren zum Geradeausrichten oder Fixieren des Lenkrads und zum Gelangen zum vollständigen Stillstand, zum Herüberziehen an den Straßenrand und dann Gelangen zum vollständigen Stillstand und/oder eine andere Sicherheitsprozedur beinhalten. Erfindungsgemäße Hindernisvermeidung kann auf einer Annahme dahingehend beruhen, dass alle Akteure (z.B. das Fahrzeug 102 und die Objekte 106) ihre Sicherheitsprozeduren durchführen sollten, bevor sich die aus ihren Sicherheitsprozeduren resultierende(n) Bewegungsbahn(en) mit derjenigen/ denjenigen eines anderen Akteurs kreuzt/kreuzen (schneidet/schneiden). Bei diesem Ansatz sollte es nicht zu einer Kollision kommen, es sei denn, einer der Akteure hat nicht getan, was erforderlich war. Wenn eine Kollision eintritt, kann der Fehler eindeutig bestimmt werden, weil zumindest einer der Akteure wahrscheinlich seine Sicherheitsprozedur nicht befolgt hat. Beispielsweise kann der Akteur, der seine Sicherheitsprozedur vor oder während der Zeit, in der sich die Sicherheitsprozeduren überschneiden, nicht durchgeführt hat, schuldig sein, es sei denn, einer der Akteure, der seine Sicherheitsprozedur durchgeführt hat, ist zum Zeitpunkt seiner Ausführung nicht mit einer angemessenen Geschwindigkeit (z.B. in Abhängigkeit von der Geschwindigkeitsbegrenzung) gefahren, in welchem Fall der Fehler dem Akteur zugeschrieben werden kann, der nicht mit einer angemessenen Geschwindigkeit unterwegs war.
  • Eine oder mehrere Bewegungsbahnen, die aus einer Sicherheitsprozedur resultieren, wie hierin beschrieben wurde, können als ein Sicherheitskraftfeld bezeichnet werden, und wenn sich die Bewegungsbahnen (oder Sicherheitskraftfelder) von zwei oder mehr Akteuren schneiden, können sich die Sicherheitskraftfelder gegenseitig abstoßen, und kann jeder Akteur seine jeweilige Sicherheitsprozedur oder eine andere (alternative) Prozedur anwenden müssen, die eine geringere Wahrscheinlichkeit oder drohende Gefahr einer Kollision als die Sicherheitsprozedur aufweist. Beispielsweise sollte ein Akteur seine Sicherheitsprozedur nicht anwenden, wenn die Sicherheitsprozedur nicht dazu beitragen kann, das Risiko einer Kollision, wie beispielsweise nicht zu bremsen, wenn dicht aufgefahren wird, zu minimieren. In solchen Beispielen kann das Autonomfahrzeugsystem 100 bestimmen, ob die Sicherheitsprozedur hilfreich ist (z.B. das Risiko minimiert), und kann, falls sie nicht hilfreich ist (zumindest nicht so hilfreich bei der Risikominimierung wie ein anderes Verfahren), dann eine andere (alternative) Prozedur durchgeführt werden. Falls beispielsweise die Sicherheitsprozedur für das Fahrzeug 102 darin besteht, die Lenkung zu fixieren und zu einem vollständigen Stillstand zu kommen, aber dicht auf das Fahrzeug 102 aufgefahren wird, kann sich das Fahrzeug 102 stattdessen zu einem Straßenrand hin wenden und zum vollständigen Stillstand kommen, wodurch der dicht auffahrende Akteur vermieden wird.
  • In einigen Beispielen, wie beispielsweise dem Beispiel in 1, kann/können die Hindernisvermeidungskomponente(n) 128 nach der/den Steuerungskomponente(n) 126 in einem Autonomfahr-Softwarestack angeordnet sein (z.B. um gewünschte Steuerungen von der/den Steuerungskomponente(n) 126 zu empfangen und die Steuerungen auf Hindernisvermeidung zu testen). Obwohl jedoch die Hindernisvermeidungskomponente(n) 128 (z.B. in Bezug auf einen Autonomfahr-Softwarestack) als auf die Planungskomponente(n) 124 und die Steuerungskomponente(n) 126 gestapelt dargestellt sind, soll dies keine Beschränkung darstellen. Beispielsweise kann/können je nach Ausführungsform die Hindernisvermeidungskomponente(n) 128 zusätzlich oder alternativ vor der/den Planungskomponente(n) 124 oder der/den Steuerungskomponente(n) 126, vor der/den Steuerungskomponente(n) 126, aber nach der/den Planungskomponente(n) 124, als Teil oder integraler Bestandteil der Planungskomponente(n) 124 und/oder der Steuerungskomponente(n) 126, als Teil des Hinderniswahrnehmers 110 und/oder an einem anderen Teil eines Autonomfahr-Softwarestacks oder einer Architektur implementiert sein. Insoweit kann/können die Hindernisvermeidungskomponente(n) 128 an einer oder mehreren Positionen innerhalb eines Autonomfahrzeug-Fahrstacks oder einer Architektur implementiert sein, ohne den Schutzumfang der Erfindung zu verlassen.
  • In einigen Beispielen kann/können, wie hierin beschrieben wurde, die Hindernisvermeidungskomponente(n) 128 als ein separates, diskretes Merkmal des Fahrzeugs 102 implementiert sein. Beispielsweise kann/können die(n) Hindernisvermeidungskomponente(n) 128 getrennt (z.B. parallel zu, vor und/oder nach) der Planungsschicht, der Steuerschicht, der Antriebsschicht und/oder anderen Schichten des Autonomfahr-Softwarestacks arbeiten.
  • Die Hindernisvermeidungskomponente(n) 128 kann/können einen Zustandsbestimmer 132, einen Sicherheitsprozedurbestimmer 134, einen Beanspruchtsatzbestimmer 136, einen Bewegungsbahngenerator 138, einen Sicherheitspotenzialrechner 140, einen Steuerungsanalysator 142 und/oder eine oder mehrere zusätzliche oder alternative Komponenten beinhalten. Der Zustandsbestimmer 132 kann einen Zustand der Akteure (z.B. des Fahrzeugs 102 und der Objekte 106, statisch oder dynamisch) in der Umgebung bestimmen. Der Zustand jedes Akteurs kann allgemein eine Position, eine Geschwindigkeit, eine Richtung (z.B. eine Fahrtrichtung), eine Geschwindigkeit, eine oder mehrere Beschleunigung(en) (z.B. skalar, rotationell, usw.) und/oder andere Informationen über den Zustand der Akteure beinhalten. Der Zustand kann die Position des Akteurs im zweidimensionalen Raum (z.B. (x, y) Koordinaten), eine Einheitsrichtung des Akteurs und/oder eine skalare Geschwindigkeit des Akteurs zu einem Zeitpunkt kodieren oder repräsentieren. In einigen Beispielen kann der Zustand zusätzliche oder alternative Informationen kodieren oder repräsentieren, wie beispielsweise eine Drehgeschwindigkeit (z.B. Gieren) und/oder eine skalare Beschleunigung in jede Richtung. Beispielsweise kann ein Zustand, XA , für jeden Akteur als ein m-dimensionaler Zustandsvektor parametrisiert werden, der wie folgt in einer Gleichung (1) wird: X Α ( t ) m
    Figure DE112019000065T5_0001
  • Als ein Beispiel, wie beispielsweise dann, wenn der Zustand XA ein fünfdimensionaler Vektor ist (z.B. m = 5), kann der Zustandsvektor in Gleichung (2) wie folgt dargestellt werden: x A = [ y T d T v ] T
    Figure DE112019000065T5_0002
    worin y die Position des Akteurs im zweidimensionalen Raum ist, d ein Einheitsrichtungsvektor ist und v eine skalare Geschwindigkeit ist.
  • Für jeden Akteur kann dann, wenn der Zustand des Akteurs als Funktion der Zeit betrachtet wird, ein Vektor eine Zustandsbewegungsbahn, XA , des Akteurs darstellen (z.B. kann die Zustandsbewegungsbahn, XA , jeden Zustand, XA , des Akteurs zu jedem Zeitpunkt innerhalb einer Zeitspanne darstellen oder kodieren). Die Zustandsbewegungsbahnen können für jeden der Akteure durch den Zustandsbestimmer 132 bestimmt werden, und die Ansammlung der Zustände (z.B. zu einem beliebigen Zeitpunkt) und/oder die Ansammlung der Zustandsbewegungsbahnen (z.B. als Funktion der Zeit) kann einen Satz von Zustandsräumen oder Zustandsbewegungsbahnen für alle Akteure in der Umgebung beinhalten.
  • Der Zustandsbestimmer 132 kann den Zustand des Fahrzeugs 102 unter Verwendung einer beliebigen Kombination von Sensoren, wie beispielsweise den GNSS-Sensoren 1158, den IMU-Sensoren 1166, den Geschwindigkeitssensoren 1144, den Lenksensoren 1140 usw., bestimmen. Der Zustandsbestimmer 132 kann den Zustand der Objekte 106 in der Umgebung unter Verwendung einer beliebigen Kombination der Stereokamera(s) 1168, der Weitwinkelkamera(s) 1170, der Infrarotkamera(s) 1172, der Surroundkamera(s) 1174, der Fern- und/oder Mittelbereichskamera(s) 1198, des/der LIDAR-Sensor(s/en) 1164, des/der RADAR-Sensor(s/en) 1160, des/der Mikrofon(e) 1196, des/der Ultraschallsensor(s/en) 1162 und/oder anderer Sensoren des Fahrzeugs 102 bestimmen und/oder herleiten. In einigen Beispielen kann der Zustand der Objekte 106 (z.B. wenn eines oder mehrere der Objekte 106 ein anderes Fahrzeug ist, oder eine Person, die eine Client-Vorrichtung verwendet, die zur drahtlosen Kommunikation fähig ist) unter Verwendung drahtloser Kommunikation, wie z.B. Fahrzeug-zu-Fahrzeug-Kommunikation oder Gerät-zu-Fahrzeug-Kommunikation, über ein oder mehrere Netzwerke, wie z.B., aber nicht beschränkt auf, die hierin beschriebenen Netzwerke, bestimmt werden.
  • In einigen Beispielen können Modelle maschinellen Lernens, wie beispielsweise neuronale Netzwerke (z.B. faltende neuronale Netzwerke), dazu verwendet werden, die Zustände der Akteure zu bestimmen. Beispielsweise können Sensordaten von den Sensoren des Fahrzeugs 102 auf ein oder mehrere Modelle maschinellen Lernens angewendet werden, um das Fahrzeug 102 bei dem Bestimmen des Zustands der Objekte 106 in der Umgebung zu unterstützen. Beispielsweise kann das autonome Fahrzeug 102 dazu konfiguriert sein, neuronale Netzwerke auf verarbeiteten und/oder unverarbeiteten Daten für eine Vielzahl von Funktionen schnell und effizient auszuführen. Beispielsweise kann ein neuronales Faltungsnetzwerk zur Objekterkennung und -identifikation (z.B. unter Verwendung von Sensordaten von der/den Kamera(s) des Fahrzeugs 102) verwendet werden, kann ein neuronales Faltungsnetzwerk zur Entfernungsschätzung (z.B. unter Verwendung der Sensordaten von der/den Kamera(s) des Fahrzeugs 102) verwendet werden, kann ein neuronales Faltungsnetzwerk zur Erkennung und Identifizierung von Einsatzfahrzeugen (z.B. unter Verwendung von Sensordaten aus dem/den Mikrofonen des Fahrzeugs 102) verwendet werden, kann ein neuronales Faltungsnetzwerk zur Gesichtserkennung und Identifizierung des Fahrzeughalters (z.B. unter Verwendung der Sensordaten aus der/den Kamera(s) des Fahrzeugs 102) verwendet werden, kann ein neuronales Faltungsnetzwerk zur Identifizierung und Verarbeitung sicherheits- und/oder sicherheitsrelevanter Ereignisse verwendet werden, und/oder können andere Modelle maschinellen Lernens verwendet werden. In Beispielen, die neuronale Faltungsnetzwerke verwenden, kann jede Art von neuronalen Faltungsnetzwerken verwendet werden, einschließlich regionsbasierter neuronaler Faltungsnetzwerke (R-CNNs), schneller R-CNNs und/oder anderer Typen.
  • Sobald der Zustand der Akteure bestimmt ist, kann für die Akteure ein Steuerungsmodell bestimmt werden (z.B. durch den Sicherheitsprozedurbestimmer 134). Beispielsweise kann ein Steuerungsmodell in Gleichung (3) wie folgt dargestellt werden: d x A d t = f ( x A , t , c )
    Figure DE112019000065T5_0003
  • Insoweit kann das Steuerungsmodell für einen Akteur eine Ableitung des Zustands des Akteurs, XA , in Bezug auf Zeit, t, und Steuerungsparameter, c, darstellen. Das Steuerungsmodell kann lokal als explizite Differentialgleichung mit Steuerungsparametern, c, formuliert werden, die Benutzereingaben, wie beispielsweise Lenkung, Bremsen und Beschleunigung, modellieren kann. Beispielsweise kann in einigen Beispielen das Steuerungsmodell für einen Akteur gemäß der folgenden Gleichung (4) ausgedrückt werden: d x A d t = [ v d T v b d T a ] T
    Figure DE112019000065T5_0004
    worin v eine skalare Geschwindigkeit ist, d ein Einheitsrichtungsvektor ist, a ein skalarer Beschleunigungsbetrag ist, b ein skalarer Lenkungsparameter ist und d die Senkrechte auf d ist, erzeugt durch Umkehren der Koordinaten von d und Negieren der ersten Koordinate. In dem Beispiel der Gleichung (4) können die Steuerungsparameter a, der skalare Beschleunigungsbetrag, und b, der skalare Steuerungsparameter, sein.
  • Sobald das Steuerungsmodell bestimmt ist, kann eine Steuerungsrichtlinie festgelegt werden (z.B. durch den Sicherheitsprozedurbestimmer 134). Beispielsweise können die Steuerungsparameter eine Funktion des Weltzustands, XW , (oder eine Wahrnehmung des Weltzustands basierend auf den von den Sensoren des Fahrzeugs 102 erzeugten Sensordaten) und der Zeit, t, sein. Insoweit kann eine Steuerungsrichtlinie eine Funktion des gemeinsamen Zustandsraums der Welt und der Zeit in ℝm (wobei m die Dimension des Zustandsraums des Akteurs ist) sein, die glatt und begrenzt ist. Beispielsweise kann eine Steuerungsrichtlinie in Gleichung (5) wie folgt dargestellt werden: d x A d t = f ( x w , t )
    Figure DE112019000065T5_0005
  • Sobald die Steuerungsrichtlinie festgelegt ist, kann für jeden Akteur eine Sicherheitsprozedur festgelegt werden (z.B. durch den Sicherheitsprozedurbestimmer). Wie hierin beschrieben wurde, kann beispielsweise davon ausgegangen werden, dass jeder Akteur über eine Sicherheitsprozedur, SA, verfügt. Die Sicherheitsprozedur kann eine oder mehrere zugehörige Bewegungsbahnen aufweisen, die von einem beliebigen Startzustand, XA , des Akteurs abgeleitet ist. Die Sicherheitsprozedur kann die Bewegungsbahn(en) des Akteurs repräsentieren, da die Akteur-Übergänge den Zustand, XA , für ein Akteurzustandsziel bilden (z.B. eine Endposition, an der der Akteur zum Stillstand kommen kann). Das Ziel des Akteurzustandsziel kann in einigen Beispielen durch Analysieren von Sensordaten, die von einem oder mehreren Sensoren (z.B. des Fahrzeugs 102) empfangen wurden, bestimmt werden, um Positionen, Orientierungen und Geschwindigkeiten von Objekten 106 (oder anderen Akteuren) in der Umgebung zu bestimmen. Steuerparameter (z.B. für Lenken, Bremsen, Beschleunigen usw.), wie hierin beschrieben, können dann für die Akteure (z.B. das Fahrzeug 102 und/oder die Objekte 106) bestimmt werden, und ein Satz von Funktionen zur Führung des Akteurs zu dem Akteurzustandsziel kann bestimmt werden.
  • Die Sicherheitsprozedur kann in einer oder mehreren Bewegungsbahn(en) resultieren, die sich mit ihrem Startzustand sanft ändert(ändern (z.B. weil die Sicherheitsprozedur eine kontinuierliche Verzögerung bis zum Stillstand sein kann). In einigen Beispielen kann eine Sicherheitsprozedur, SA , in Gleichung (6) wie folgt dargestellt werden: S A = { d x A d t = f ( W , t ) }
    Figure DE112019000065T5_0006
    worin W die Eigenschaften der Welt (oder der Umgebung) repräsentiert. Die Sicherheitsprozedur für einen Akteur kann je nach Ausführungsform von festen Eigenschaften der Welt abhängen oder auch nicht. Beispielsweise darf die Sicherheitsprozedur nicht von den festen Eigenschaften der Welt, wie beispielsweise der Straßenform oder einer Karte, abhängen. In einem solchen Beispiel kann die Sicherheitsprozedur ein Einfrieren eines Richtungsvektors (z.B. durch Setzen eines skalaren Steuerungsparameters, b, auf null) und ein vollständiges Anhalten durch Verlangsamen mittels eines Bereichs von Beschleunigungswerten [αmin,α'] beinhalten, worin αmin der minimale Beschleunigungsbetrag oder das Negative eines maximalen Bremsbetrags ist und α' ein negativer Wert größer als αmin ist, bis zu einem vollständigen Anhalten. Diese Art von Sicherheitsprozedur, SA , kann durch die folgende Gleichung (7) dargestellt werden: S A = { d x A d t = [ v d T   0   a ] T : a m i n a a t }
    Figure DE112019000065T5_0007
  • In einem beliebigen Beispiel kann die Sicherheitsprozedur ein Bremsen bis zum Erreichen eines vollständigen Anhaltens beinhalten. Bei hohen Geschwindigkeiten kann die Sicherheitsprozedur ohne Einschränkung ein Ausrichten mit einer aktuellen Fahrspur (oder mit der Fahrtrichtung, wie beispielsweise wenn sich das Fahrzeug 102 mitten in einem Spurwechsel befindet) und dann das vollständige Anhalten beinhalten (und kann daher von festen Eigenschaften der Welt, wie beispielsweise Fahrbahnmarkierungen, abhängen). Beispielsweise und ohne Einschränkung kann die Sicherheitsprozedur bei niedrigen Geschwindigkeiten beinhalten, dass das Fahrzeug 102 beim Abbremsen bis zum Stillstand sich selbst auf zum Straßenrand hin lenkt (und somit von den festen Eigenschaften der Welt abhängen kann). Beispielsweise können ein oder mehrere neuronale Netzwerke (z.B. neuronale Faltungsnetzwerke) verwendet werden, um den Straßenrand zu identifizieren und/oder das Fahrzeug 102 zum Straßenrand zu manövrieren. Als weiteres Beispiel kann eine HD-Karte 1122 verwendet werden (z.B. unter Verwendung des Kartenwahrnehmers 116, des Kartenmanagers 118 und/oder des Lokalisierungsmanagers 120). In einem solchen Beispiel kann die HD-Karte 1122 über ein oder mehrere Netzwerke 1190 empfangen werden und/oder in das Fahrzeug 102 eingebettet sein.
  • In einem nochmals weiteren Beispiel kann die Sicherheitsprozedur dazu modifiziert sein, einen bestimmten Grad an Komfort (z.B. maximalen Komfort) für die Passagiere des Fahrzeugs (z.B. minimale Verzögerung oder Richtungsänderung) zu gewährleisten und gleichzeitig die Vermeidung einer Kollision zu gewährleisten. In einem solchen Beispiel kann ein Kurs, eine Bewegungsbahn und/oder eine Steuerungssequenz für das Fahrzeug 102 bestimmt werden, als die Sicherheitsprozedur, die den Komfort maximiert und/oder auf die Passagiere ausgeübte Kraft minimiert und gleichzeitig sicherstellt, dass eine Kollision mit anderen Objekten 106 (z.B. Fahrzeugen, Entitäten, Strukturen usw.) vermieden wird. In einigen Beispielen, wie beispielsweise dann, wenn eine Kollision unvermeidlich ist oder die Wahrscheinlichkeit einer Kollision über einem Schwellenwert liegt, kann die Sicherheitsprozedur dazu modifiziert sein, das Risiko eines Schadens für die Passagiere in dem Fahrzeug und andere Entitäten im Falle einer Kollision zu minimieren.
  • Beispiele für Sicherheitsprozeduren sind in Bezug auf 2A-2C dargestellt. In Bezug auf 2A kann beispielsweise eine Sicherheitsprozedur 202 einen Akteur 204 (oder eine Form, die den Akteur 204 repräsentiert) beinhalten, der vollständig zum Stillstand kommt, während er eine niedrige oder keine Queränderungsrate beibehält. Beispielsweise kann in einer unstrukturierten Umgebung, oder wenn feste Eigenschaften der Welt ignoriert werden, die Sicherheitsprozedur 202 ein Geradeausfahren und/oder Fortfahren entlang des aktuellen Steuerkreises (der eine Queränderungsrate beinhalten kann oder nicht) beinhalten, bis der Akteur 204 zum vollständigen Stillstand kommt. Wenn der Akteur beispielsweise aktuell mit einem Lenkwinkel nach rechts lenkt, kann die Sicherheitsprozedur 202 das Fortfahren mit dem Lenkwinkel bis zum vollständigen Anhalten beinhalten. Wenn der Akteur aktuell geradeaus lenkt, kann die Sicherheitsprozedur 202 das Fortfahren geradeaus beinhalten, bis ein vollständiges Anhalten erreicht ist (z.B. wie in 2A dargestellt).
  • In jedem beliebigen Beispiel können die Sicherheitsprozeduren für einen beliebigen Akteur eine Sicherheitsmarge beinhalten (z.B. zusätzlich zu oder alternativ gegenüber der hierin beschriebenen Sicherheitsmarge in Bezug auf eine Größe des Akteurs). Beispielsweise kann sich in Bezug auf die Sicherheitsprozedur 202 mit zunehmender Zeit in Raum und Zeit gegenüber der Zeit, die einem aktuellen Zustand des Akteurs zugeordnet ist, die Sicherheitsmarge für die Sicherheitsprozedur erhöhen. Beispielsweise kann in Bezug auf die Sicherheitsprozedur 202 eine Breite, W1 , des beanspruchten Satzes der Sicherheitsprozedur 202 kleiner sein als eine Breite, W2 , des beanspruchten Satzes der Sicherheitsprozedur 202. In einem solchen Beispiel kann, da die Breite, W1 , einer früheren Zeit entsprechen kann, im Vergleich zu der der Breite W2 zugeordneten Zeit eine geringere Marge für Fehler vorhanden sein. Infolgedessen kann sich die Sicherheitsmarge über Raum und Zeit hinweg erhöhen, um diesen Fehler zu berücksichtigen.
  • Als weiteres Beispiel kann eine Sicherheitsprozedur 206 während eines Spurwechsels von einer ersten Spur 208A auf eine zweite Spur 208B den Akteur 204 (oder die den Akteur 204 repräsentierende Form) beinhalten, der sich selbst mit der Straße ausrichtet (z.B. Abbruch des Spurwechsels und Ausrichtung auf die Fahrtrichtung, wie beispielsweise parallel zu den Fahrbahnmarkierungen 210A, 210B und/oder 210C) und zu einem vollständigen Halt kommt. In einem solchen Beispiel kann die Sicherheitsprozedur die festen Eigenschaften der Welt (z.B. die Fahrbahnmarkierungen, die Richtung der Straße usw.) berücksichtigen. Die Sicherheitsprozedur 206 kann dazu bestimmt sein, die Queränderungsrate (z.B. in Bezug auf die Straßenform) zu minimieren, während der Spurwechsel noch immer abgebrochen und der Akteur 204 neu mit der Straße ausgerichtet wird.
  • Als ein weiteres Beispiel kann eine Sicherheitsprozedur 212 den Akteur 204 (oder die Form, die den Akteur 204 repräsentiert) beinhalten, der der Straßenform folgt, um Kurven in der Straße aufzunehmen und zu einem vollständigen Halt zu kommen. Wenn beispielsweise der Akteur 204 bereits der Straßenform folgt und damit die festen Eigenschaften der Welt berücksichtigt, kann die Sicherheitsprozedur 212 ein Fortsetzen des Folgens der Straßenform beinhalten (z.B. wie durch die Fahrbahnmarkierungen 210D und 210E definiert). Ähnlich zu der Sicherheitsprozedur 206 kann auch die Sicherheitsprozedur 212 dazu bestimmt sein, die Queränderungsrate zu minimieren und gleichzeitig mit dem Folgen der Straßenform fortzufahren.
  • Sobald die Sicherheitsprozedur bestimmt ist, kann der Beanspruchtsatzbestimmer 136 einen beanspruchten Satz des Fahrzeugs 102 und der Objekte 106 in der Umgebung bestimmen. Der beanspruchte Satz für einen Akteur kann eine belegte Bewegungsbahn (z.B. jeden der Punkte im Raum, den der Akteur einnimmt, wenn er einer Bewegungsbahn folgt) eines Akteurs beinhalten, wenn der Akteur seine Sicherheitsprozedur, SA , ausgehend von dem Zustand, XA , anwendet.
  • Um den beanspruchten Satz zu bestimmen, kann der Beanspruchtsatzbestimmer 136 eine Fläche und/oder ein Volumen im Raum bestimmen, die bzw. das von dem Akteur aufgrund seines Zustands eingenommen wird. Beispielsweise kann das Autonomfahrzeugsystem 100 davon ausgehen, dass sich Akteure in einem n-dimensionalen realen Raum, ℜn, bewegen und ihn einnehmen. In einigen Beispielen kann das Autonomfahrzeugsystem 100 zur Vereinfachung den zweidimensionalen Raum verwenden, der eine Draufsicht auf die reale Welt modelliert. In anderen Beispielen kann das Autonomfahrzeugsystem 100 den dreidimensionalen Raum nutzen. In jedem beliebigen Beispiel kann das Autonomfahrzeugsystem 100 zur Bestimmung des beanspruchten Satzes zunächst belegte Sätze jedes Akteurs bestimmen, die eine Menge bzw. einen Satz von Punkten im Raum repräsentieren, den der Akteur in Abhängigkeit von seinem Zustand einnimmt. Der belegte Satz oA , für einen Akteur kann wie in Gleichung (8) unten folgt bestimmt werden: o A ( x A ) R
    Figure DE112019000065T5_0008
  • Falls sich ein Punkt im Raum in dem belegten Satz des Akteurs befindet, kann bestimmt werden, dass der Akteur den Punkt belegt.
  • Um jeden der Punkte in dem belegten Satz zu bestimmen, kann eine Größe (z.B. eine tatsächliche Größe des Akteurs) oder eine repräsentative Größe (z.B. eine Form um und/oder mit dem Akteur) des Akteurs bestimmt werden. In einigen Beispielen kann die Größe oder repräsentative Größe eine optionale Sicherheitsmarge beinhalten. In Bezug auf das Fahrzeug 102 kann die Größe des Fahrzeugs 102 bekannt sein (z.B. basierend auf Kalibrierinformationen, Fahrzeuginformationen, Fahrzeugmarke und -modell und/oder anderen Parametern). In Bezug auf die Objekte 106 in der Umgebung kann die Größe der Objekte 106 unter Verwendung der Sensoren und von Sensordaten daraus (z.B. aus dem Sensormanager 108) und/oder eines oder mehrerer Modelle maschinellen Lernens (z.B. neuronale Faltungsnetzwerke) bestimmt werden. In einigen Beispielen kann zur Bestimmung der Größe der Akteure (z.B. des Fahrzeugs 102 und der Objekte 106) eine Form (z.B. eine vordefinierte Form, wie z.B. ein Quadrat, ein Polygon, ein Begrenzungsrahmen, ein Würfel, ein Kreis, ein Oval, eine Ellipse usw.) um den Akteur herum angepasst sein (z.B. um zumindest den Akteur einzubeziehen) und kann die Größe des Akteurs als Größe der vordefinierten Form (z.B. einschließlich einer Sicherheitsmarge, in einigen Beispielen, wie hierin beschrieben) bestimmt werden. Beispielsweise kann die Form eine zweidimensionale Form (z.B. ein Rechteck oder ein Kreis) sein, die als ein Begrenzungsrahmen dient, der den Akteur zumindest teilweise umgibt. In anderen Beispielen kann die Form eine dreidimensionale Form (z.B. ein Würfel) sein, die als ein begrenzender Würfel dient, der den Akteur zumindest teilweise umgibt. In jedem beliebigen Beispiel kann die Größe des Fahrzeugs von dem Beanspruchtsatzbestimmer 136 dazu verwendet werden, die Punkte (z.B. (x, y) Koordinaten) im Raum zu bestimmen, die der Akteur als Teil des belegten Satzes, oA , einnimmt.
  • In einigen Beispielen kann die Größe des Akteurs und damit die der Größe des Akteurs entsprechende repräsentative Form so bestimmt werden, dass die Größe und/oder die Form den Akteur zumindest in zwei Dimensionen (z.B. seitlich und längs) vollständig einschließt. Durch vollständiges Einbeziehen des Akteurs (mit einer zusätzlichen Sicherheitsmarge, in Beispielen) kann es wahrscheinlicher sein, dass der belegte Satz, die belegte Bewegungsbahn und damit der beanspruchte Satz die tatsächlichen Punkte im Raum, die der Akteur bei der Ausführung der Sicherheitsprozedur einnehmen würde, genauer repräsentiert.
  • Sobald der belegte Satz bestimmt ist, kann der Beanspruchtsatzbestimmer 136 die belegte(n) Bewegungsbahn(en), oA , jedes Akteurs bestimmen. Die belegte(n) Bewegungsbahn(en) können den Satz der Punkte in Raum und Zeit beinhalten, die der Akteur im Laufe der Zeit als Funktion seiner Bewegungsbahn(en) einnehmen wird. Beispielsweise kann/können die belegte(n) Bewegungsbahn(en), oA , wie folgt in untenstehender Gleichung (9) bestimmt werden: O A ( X A ) = { ( y , t ) : y o A ( x A ( t ) ) , t T } R × T
    Figure DE112019000065T5_0009
  • Die belegte(n) Bewegungsbahn(en) des Akteurs kann/können bei Anwendung der Sicherheitsprozedur SA den beanspruchten Satz CA beinhalten. Alle Punkte, die als innerhalb des beanspruchten Satzes eines Akteurs liegen, sind Punkte in Raum und Zeit, die der Akteur benötigen kann, um die Integrität seiner Sicherheitsprozedur aufrechtzuerhalten. Wenn also mehrere Akteure in der Umgebung betrachtet werden, kann das Fahrzeug 102 jeden der beanspruchten Sätze der Akteure analysieren, um zu bestimmen, ob irgendein Kreuzungspunkt zwischen ihnen auftritt. Wenn ein Kreuzungspunkt auftritt, können eine oder mehrere Maßnahmen zur Berücksichtigung des Kreuzungspunkts ergriffen werden (z.B. kann die Sicherheitsprozedur implementiert werden, kann eine andere Maßnahme implementiert werden, usw., wie hierin beschrieben). Der beanspruchte Satz, CA , kann wie folgt nach untenstehender Gleichung (10) bestimmt werden: C A ( x A ) R × T
    Figure DE112019000065T5_0010
    worin Gleichung (10) die belegte(n) Bewegungsbahn(en) des Akteurs repräsentieren kann, die sich ergibt/ergeben, wenn der Akteur seine Sicherheitsprozedur ausgehend von dem Zustand XA anwendet. In einigen Beispielen, wie hierin beschrieben, kann der beanspruchte Satz eine Kombination oder Aggregation jeder der belegten Bewegungsbahnen repräsentieren, die aus der Anwendung der Sicherheitsprozedur des Akteurs mit verschiedenen Parametern resultiert. Beispielsweise kann die Sicherheitsprozedur mit einem maximalen Bremsprofil, einem minimalen Bremsprofil, einem Bremsprofil zwischen Maximum und Minimum, einem maximalen Lenkprofil, einem minimalen Lenkprofil, einem Lenkprofil zwischen Maximum und Minimum und/oder auf andere Weise angewendet werden. In solchen Beispielen kann der beanspruchte Satz die belegten Bewegungsbahnen für eine beliebige Anzahl verschiedener Anwendungen (z.B. für jede verschiedene Anwendung) der Sicherheitsprozedur beinhalten, kombiniert oder aggregiert.
  • Als ein erstes Beispiel kann der beanspruchte Satz die Sicherheitsprozedur mit einem ersten Bremsprofil zum vollständigen Anhalten schneller als bei einem zweiten Bremsprofil repräsentieren, und kann die Sicherheitsprozedur mit dem zweiten Bremsprofil zum (z.B. gegenüber dem ersten Bremsprofil) langsameren Erreichen eines vollständigen Anhaltens unter noch immer Vermeidung einer Kollision repräsentieren. In einem solchen Beispiel können Schwellenwerte oder Grenzen festgelegt und/oder bestimmt sein, um das erste Bremsprofil (z.B. ein definiertes maximales oder nach oben hin begrenztes Bremsprofil) und das zweite Bremsprofil (z.B. ein definiertes minimales oder nach unten hin begrenztes Bremsprofil) zu definieren. In einem solchen Beispiel kann der beanspruchte Satz jeden der Punkte in Raum und Zeit repräsentieren, die der Akteur durch die angewendete Sicherheitsprozedur mit dem ersten Bremsprofil, dem zweiten Bremsprofil und den von dem Akteur belegten Punkten in Raum und Zeit, die zwischen das erste und das zweite Bremsprofil fallen (z.B. wie in 3C-3E dargestellt und beschrieben), einnimmt bzw. belegt. In Abhängigkeit von der spezifischen Ausführungsform können die Schwellenwerte oder Grenzen für die Generierung des beanspruchten Satzes verschieden sein.
  • Die Schwellenwerte oder Begrenzungen können, ohne Beschränkung darauf, auf der Grundlage von Prozentsätzen (z.B. Prozentsätzen der Bremsintensität) und/oder Zeit (z.B. Zeit bis zum vollständigen Stillstand, wie beispielsweise basierend auf einer aktuellen Drehzahl oder Geschwindigkeit) definiert sein. Beispielsweise kann das erste Bremsprofil eine Bremsintensität von 95% und das zweite Bremsprofil eine Bremsintensität von 85% beinhalten. Als ein weiteres Beispiel kann dann, wenn das Fahrzeug 102 mit 60 Meilen pro Stunde (mph) fährt, erste Bremsprofil das Anhalten innerhalb von drei Sekunden beinhalten (z.B. das Verlangsamen um durchschnittlich 20 mph pro Sekunde), während das zweite Bremsprofil das Anhalten innerhalb von vier Sekunden beinhalten kann (z.B. das Verlangsamen um durchschnittlich 15 mph pro Sekunde). Zur Bestimmung der Zeit kann in einigen Beispielen ein Faktor der Geschwindigkeit verwendet werden. In solchen Beispielen kann das erste Bremsprofil eine Sekunde für jede zehn mph, die das Fahrzeug 102 fährt, basierend auf einem aktuellen Zustand, XA, des Fahrzeugs 102 beinhalten, und kann das zweite Bremsprofil eine Sekunde für jede fünfzehn mph, die das Fahrzeug 102 fährt, basierend auf einem aktuellen Zustand, XA, des Fahrzeugs 102 beinhalten. In Fortführung des vorangehenden Beispiels des mit 60 mph fahrenden Fahrzeugs 102 kann das erste Bremsprofil das Anhalten innerhalb von drei Sekunden und das zweite Bremsprofil das Anhalten innerhalb von vier Sekunden beinhalten.
  • Als weiteres Beispiel kann der beanspruchte Satz die Sicherheitsprozedur mit einem ersten Lenkprofil (z.B. einem definierten maximalen Lenkprofil) zum Erreichen einer seitlichen Position (z.B. Straßenrand, Ausrichtung mit der Straße usw.) schneller als bei einem zweiten Lenkprofil repräsentieren, und kann die Sicherheitsprozedur mit dem zweiten Lenkprofil zum gegenüber dem ersten Lenkprofil langsameren Erreichen der seitlichen Position repräsentieren. In einem solchen Beispiel können Schwellenwerte oder Grenzen festgelegt und/oder bestimmt sein, um das erste Lenkprofil (z.B. ein definiertes maximales oder nach oben hin begrenztes Lenkprofil) und das zweite Bremsprofil bzw. Lenkprofil (z.B. ein definiertes minimales oder nach unten hin begrenztes Lenkprofil) zu definieren. In einem solchen Beispiel kann der beanspruchte Satz jeden der Punkte in Raum und Zeit repräsentieren, die von dem Akteur durch die Sicherheitsprozedur belegt werden, auf die das erste Lenkprofil, das zweite Lenkprofil und die von dem Akteur eingenommenen Punkte in Raum und Zeit, die zwischen das erste und das zweite Lenkprofil fallen, angewendet sind. In Abhängigkeit von der Ausführungsform können die Schwellenwerte oder Grenzen zum Generieren des beanspruchten Satzes unterschiedlich sein.
  • Ähnlich zu den Schwellenwerten oder Grenzen für die Bremsprofile können die Lenkprofile ebenfalls auf Prozentsätzen (z.B. Prozentsätzen der Lenkwinkelintensität) und/oder Zeit (z.B. Zeitspanne bis zum Erreichen der seitlichen Position) basieren.
  • Als ein vereinfachtes Beispiel für beanspruchte Sätze kann das Fahrzeug 102 auf ein statisches Objekt 302 zufahren (wobei die Fahrtrichtung in einer Dimension in dem Raum-Zeit-Diagramm von 3A dargestellt ist). Das Fahrzeug 102 kann, wenn es keine Sicherheitsprozedur ausführt, eine belegte Bewegungsbahn 304 haben, die dazu führt, dass das Fahrzeug 102 mit dem statischen Objekt 302 kollidiert (z.B. implementiert das Fahrzeug 102 keine Sicherheitsprozedur, sondern fährt mit gleicher Geschwindigkeit auf dem gleichen Weg weiter, bis es mit dem Objekt kollidiert). Das statische Objekt 302 ist entlang der Raumdimension im Raum-Zeit-Diagramm fest, da sich das statische Objekt 302 nicht bewegt. In diesem Beispiel kann ein Begrenzungspolygon dazu verwendet werden, die Größe des Fahrzeugs 102 zu repräsentieren (z.B. ein Begrenzungspolygon, das sich zwischen Begrenzungslinien 316A und 316B von der Vorderseite zu der Rückseite des Fahrzeugs 102 hin erstreckt).
  • Um der Situation von 3A Rechnung zu tragen, kann eine Sicherheitsprozedur implementiert sein, wie z.B. ein Bremsen bis zum vollständigen Stillstand des Fahrzeugs 102 vor der Kollision mit dem statischen Objekt 302. Beispielsweise kann, und in Bezug auf 3B, der Bewegungsbahngenerator 138 die Bewegungsbahn 306 erzeugen, die durch einen entsprechenden beanspruchten Satz repräsentiert wird, wie er durch den Beanspruchtsatzbestimmer 136 bestimmt wird, der der Sicherheitsprozedur entspricht, und kann das Fahrzeug 102 die Sicherheitsprozedur zum Zeitpunkt T1 implementieren, so dass das Fahrzeug 102 kurz vor der Kollision mit dem statischen Objekt 302 stehen bleibt. Der Bewegungsbahngenerator 138 kann die Bewegungsbahn 306 (die z.B. den beanspruchten Satz der Bewegungsbahn der Sicherheitsprozedur repräsentiert) persistent in den Raum projizieren, bis die Bewegungsbahn 306 dazu bestimmt ist, das statische Objekt 302 nahezu zu kreuzen (z.B. zur Zeit T1), und dann kann das Fahrzeug 102 die Sicherheitsprozedur implementieren, indem es die Bremsen mit einer Intensität betätigt, die der Sicherheitsprozedur entspricht (z.B. einer Intensität, die das Fahrzeug 102 vor der Kollision mit dem statischen Objekt 302 anhält, mit einer gewissen Marge für Fehler, abhängig von der Ausführungsform). In einigen Beispielen kann die Bewegungsbahn 306 einem zweiten Bremsprofil (z.B. einem definierten minimalen oder nach unten hin begrenzten Bremsprofil) entsprechen.
  • Als weiteres Beispiel, und in Bezug auf 3C, kann der Bewegungsbahngenerator 138 die Bewegungsbahnen 306 und 308 erzeugen, die durch den entsprechenden beanspruchten Satz, wie er durch den Beanspruchtsatzbestimmer 136 bestimmt wird, repräsentiert werden und die einer Sicherheitsprozedur entsprechen, die unter Verwendung zweier verschiedener Bremsprofile implementiert ist (z.B. kann der beanspruchte Satz jeden der Punkte in Raum und Zeit, die von dem Fahrzeug 102 belegt werden, beinhalten, wenn das Fahrzeug 102 sowohl die erste Bewegungsbahn 306, die zweite Bewegungsbahn 308 und/oder eine beliebige dazwischenliegende Bewegungsbahn implementieren würde). Beispielsweise kann die Bewegungsbahn 306 ein erstes Bremsprofil (z.B. ein definiertes minimales oder nach unten hin begrenztes Bremsprofil) beinhalten und kann die Bewegungsbahn 308 ein zweites Bremsprofil (z.B. ein definiertes maximales oder nach oben hin begrenztes Bremsprofil) beinhalten. In diesem Beispiel kann das Fahrzeug 102 die Sicherheitsprozedur unmittelbar vor der Kollision der Bewegungsbahn 306 mit dem statischen Objekt 302 (z.B. zur Zeit T1) implementieren. Somit kann der Bewegungsbahngenerator 138 die Bewegungsbahn(en) 306 und/oder 308 (wie durch den entsprechenden beanspruchten Satz repräsentiert) persistent in Raum und Zeit projizieren, bis die Bewegungsbahn 306 (oder 308, in einigen Beispielen) dazu bestimmt ist, das statische Objekt 302 nahezu zu kreuzen, und kann dann das Fahrzeug 102 die Sicherheitsprozedur durch Betätigen der Bremsen mit einer Intensität implementieren, die dem gewählten Bremsprofil für die Sicherheitsprozedur entspricht.
  • Eine Eigenschaft des beanspruchten Satzes kann sein, dass der beanspruchte Satz bei Anwendung der Sicherheitsprozedur nicht mit der Zeit wächst. Insoweit können für eine Sicherheitsprozedur das minimale (oder Sicherheits-) Bremsprofil und das maximale Bremsprofil so definiert sein, dass der beanspruchte Satz nicht anwächst (obwohl der beanspruchte Satz schrumpfen kann). Insoweit darf der beanspruchte Satz zu jedem Zeitpunkt oder in jeder Phase der Implementierung der Sicherheitsprozedur nicht größer werden. Daher sollte dann, wenn die Sicherheitsprozedur erstmalig implementiert wird, und bei den Schlussfolgerungen der Sicherheitsprozedur (z.B. bei einem vollständigen Stillstand) der beanspruchte Satz unverändert bleiben.
  • In Bezug auf zwei oder mehr Akteure, und in Bezug auf 3D, kann der Bewegungsbahngenerator 138 die Bewegungsbahnen 306 und 308 für das Fahrzeug 102 erzeugen, und kann die Bewegungsbahnen 312 und 314 für das Objekt 106 (das in diesem Beispiel ein anderes Fahrzeug sein kann) erzeugen. Die Bewegungsbahnen 312 und 314 für das Objekt 106 können auf einem Begrenzungspolygon basieren, ähnlich zu dem des Fahrzeugs 102, mit einer Größe, die sich zwischen den Begrenzungslinien 318A und 318B erstreckt. Die Bewegungsbahn 312 kann ein Bremsprofil beinhalten, das einer Sicherheitsprozedur (z.B. ähnlich zu der Bewegungsbahn 306 für das Fahrzeug 102) entspricht, die für das Objekt 106 (z.B. basierend auf einem Zustand, einem Steuerungsmodell, einer Steuerungsrichtlinie, einem Typ, einer Größe und/oder anderen Informationen des Objekts 106, wie sie von dem Fahrzeug 102 wahrgenommen und/oder bestimmt werden) bestimmt ist. Die Bewegungsbahn 314 kann ein maximales Bremsprofil beinhalten, das einem aggressiveren Bremsprofil für die Sicherheitsprozedur entspricht, ähnlich zu der Bewegungsbahn 308 des Fahrzeugs 102. In jedem beliebigen Beispiel können die durch die Projektion der Bewegungsbahnen 306 und 308 belegten Punkte in Raum und Zeit den beanspruchten Satz des Fahrzeugs 102 beinhalten, und können die durch die Projektion der Bewegungsbahnen 312 und 314 belegten Punkte in Raum und Zeit den beanspruchten Satz des Objekts 106 beinhalten.
  • Als ein Ergebnis der, in dem Beispiel von 3D, Bewegung des Objekts 106 in Richtung des Fahrzeugs 102 nähern sich, da das Fahrzeug 102 der Bewegungsbahn 304 (z.B. einer Fahrbewegungsbahn vor einer Kreuzung oder nahe einer Kreuzung der Bewegungsbahnen 306 und 312) folgt und das Objekt 106 der Bewegungsbahn 310 (z.B. einer Fahrbewegungsbahn vor der Kreuzung oder nahe einer Kreuzung der Bewegungsbahnen 306 und 312) folgt, das Fahrzeug 102 und das Objekt 106 einander an. Infolgedessen kann das Fahrzeug 102, sobald die Bewegungsbahnen 306 und 312 (und/oder 308 und 314) dazu bestimmt sind, sich zu kreuzen oder innerhalb eines Schwellenabstands zum Kreuzen liegen (z.B. unter Verwendung einer Stoßfunktion, wie hierin beschrieben), die Sicherheitsprozedur entsprechend der Bewegungsbahn 306, der Bewegungsbahn 308 und/oder einer anderen Bewegungsbahn dazwischen implementieren. In einem solchen Beispiel kann das Ziel darin bestehen, dass das Objekt 106 ebenfalls seine Sicherheitsprozedur gemäß der Bewegungsbahn 312, der Bewegungsbahn 314 und/oder einer anderen Bewegungsbahn zwischen den beiden gleichzeitig oder innerhalb einer Zeitspanne implementiert, die es dem Objekt 106 ermöglicht, vor einer Kollision mit dem Fahrzeug 102 anzuhalten. Wie hierin näher beschrieben ist kann, wenn in diesem Beispiel eine Kollision auftritt und das Fahrzeug 102 die Sicherheitsprozedur implementiert hat, der Fehler dem Objekt 106 zugeschrieben werden, weil das Fahrzeug 102 zumindest nicht zu der Wahrscheinlichkeit oder drohenden Gefahr einer Kollision beigetragen hat.
  • Als weiteres Beispiel, und in Bezug auf 3E, können sich, da das Fahrzeug 102 der Bewegungsbahn 304 (z.B. einer Fahrbewegungsbahn vor einer Kreuzung oder nahe einer Kreuzung der Bewegungsbahnen 306 und 314 und/oder 312) folgt und das Objekt 106 der Bewegungsbahn 310 (z.B. einer Fahrbewegungsbahn vor einer Kreuzung oder nahe einer Kreuzung der Bewegungsbahnen 306 und 314 und/oder 312) folgt, das Fahrzeug 102 und das Objekt 106 in eine ähnliche Richtung bewegen. Infolgedessen kann das Fahrzeug 102, sobald die Bewegungsbahnen 306 und 314 (und/oder 306 und 312) dazu bestimmt sind, sich zu kreuzen, oder dazu bestimmt sind, innerhalb eines Schwellenabstandes zum Kreuzen zu liegen, die Sicherheitsprozedur entsprechend der Bewegungsbahn 306, der Bewegungsbahn 308 und/oder einer anderen Bewegungsbahn zwischen den beiden implementieren. In einem solchen Beispiel kann das Ziel darin bestehen, dass das Objekt 106 ebenfalls seine Sicherheitsprozedur gemäß der Bewegungsbahn 312, der Bewegungsbahn 314 und/oder einer anderen Bewegungsbahn zwischen den beiden gleichzeitig oder innerhalb einer Zeitspanne implementiert, die es dem Objekt 106 ermöglicht, vor einer Kollision mit dem Fahrzeug 102 anzuhalten.
  • Ein nochmals weiteres Beispiel, und in Bezug auf 3F, beinhaltet das Fahrzeug 102, ein erstes Objekt 106A (in diesem Beispiel z.B. ein Fahrzeug) und ein zweites Objekt 106B (in diesem Beispiel z.B. ein Fahrzeug) in einer Umgebung 326. In diesem Beispiel können die Bewegungsbahnen einen dreidimensionalen Raum (z.B. ein Volumen) in Raum und Zeit innerhalb der Umgebung 326 einnehmen. Insoweit können die Bewegungsbahnen einen Längsabstand (z.B. einen Brems- oder Anhalteweg), eine Queränderung (z.B. eine Lenkänderung) und/oder einen vertikalen Raum (z.B. von der Grundebene zu einer Oberseite eines Begrenzungspolygons oder einer anderen Form, die für den belegten Satz des Akteurs repräsentativ ist) beinhalten, die von den Akteuren (z.B. dem Fahrzeug 102, dem ersten Objekt 106A und dem zweiten Objekt 106B) belegt werden, falls die Akteure ihre jeweiligen Sicherheitsprozedur durchführen würden. Insoweit können die Bewegungsbahnen als feste Volumen mit Längen analysiert werden, die mit zunehmender Geschwindigkeit zunehmen (z.B. je schneller sich der Akteur bewegt, desto länger ist/sind die Bewegungsbahn(en) und die entsprechenden Punkte in Raum und Zeit, die in den belegten Sätze enthalten sind), und können die Akteure dadurch gekennzeichnet sein, dass sie mit diesen an ihnen befestigten Volumen (die z.B. aus ihnen herausragen) herumfahren, während sie eine Kollisionsanalyse für die Volumen (z.B. die Bewegungsbahnen) durchführen, anstatt eine Kollisionsanalyse über ihre tatsächliche Form durchzuführen. Infolgedessen kann dadurch, dass keine Kollisionen in den Raum-Zeit-Volumina garantiert werden, eine Garantie dafür gegeben werden, dass keine Kollisionen im tatsächlichen Raum stattfinden. Dies kann von Vorteil sein, weil ein Vermeiden von Kollisionen zwischen tatsächlichen physischen Objekten im realen Raum Vorausschau erfordert, da die Akteure Trägheit haben, und es bereits zu spät sein kann, sobald eine physische Überlappung stattfindet. In Raum und Zeit können die Volumen oder Bewegungsbahnen jedoch als eingefroren betrachtet werden, sobald ein Kreuzungspunkt, eine Überlappung oder eine nahe Kreuzung oder Überlappung zwischen den Volumen in Raum und Zeit bestimmt wird, und kann, weil es sowohl Quer- als auch Längsdimensionen gibt und eine gemeinsame Geometrie zwischen dem Fahrzeug 102 und dem/den Objekt(en) 106 nicht zulässig sein kann, das Fahrzeug 102 frei von Kollisionen sein (oder kann zumindest nicht einer Wahrscheinlichkeit einer Kollision beitragen, weil andere Akteure außerhalb der Kontrolle des Fahrzeugs 102 sind).
  • In einem solchen Beispiel kann der Bewegungsbahngenerator 138 des Fahrzeugs 102 die fahrzeugbelegte(n) Bewegungsbahn(en) 320, die für die Sicherheitsprozedur für das Fahrzeug 102 repräsentativ ist/sind (in einigen Beispielen über einen Bereich von Profilen angewendet), die objektbelegte(n) Bewegungsbahn(en) 322, die für die Sicherheitsprozedur für das erste Objekt 106A repräsentativ ist/sind, und die objektbelegte(n) Bewegungsbahn(en) 324, die für die Sicherheitsprozedur für das zweite Objekt 106B repräsentativ ist/sind, erzeugen. In der Darstellung von 3F gibt es keine Überlappung oder Kreuzung, oder eine Nähe zu einer Überlappung oder Kreuzung, zwischen irgendeiner der Bewegungsbahnen 320, 322 und 324. Insoweit dürfen zu dem in 3F dargestellten Zeitpunkt weder das Fahrzeug 102, noch das erste Objekt 106A, noch das zweite Objekt 106B ihre Sicherheitsprozedur implementieren. Wenn jedoch eine der Bewegungsbahnen 320, 322 oder 324 sich mit einer anderen der Bewegungsbahnen 320, 322 oder 324 überlappen oder fast überlappen würde, wäre es von den in die Überlappung oder nahezu Überlappung involvierten Akteuren zu erwarten, dass sie ihre Sicherheitsprozedur implementieren (z.B. würde das Fahrzeug 102 die Sicherheitsprozedur umsetzen, falls es involviert wäre, und würde es erwarten, dass der andere Akteur seine jeweilige Sicherheitsprozedur implementiert, um eine Kollision zu vermeiden).
  • In Bezug auf 3F können die Punkte in Raum und Zeit, die durch die Projektion der Bewegungsbahn(en) 320 belegt werden, den beanspruchten Satz des Fahrzeugs 102 beinhalten, wenn die Sicherheitsprozedur implementiert wird. Ähnlich wie hierin in Bezug auf 2C-2E beschrieben wurde, kann/können die fahrzeugbelegte(n) Bewegungsbahn(en) 320 ein erstes Bremsprofil, ein zweites Bremsprofil, ein Bremsprofil eines anderen Schwellenwerts und/oder eine Kombination davon beinhalten. In ähnlicher Weise können die durch die Projektion der objektbelegten Bewegungsbahn(en) 322 belegten Punkte in Raum und Zeit den beanspruchten Satz des ersten Objekts 106A beinhalten, und können die durch die Projektion der objektbelegten Bewegungsbahn 324 belegten Punkte in Raum und Zeit den beanspruchten Satz des zweiten Objekts 106B beinhalten.
  • In Bezug auf 4A-4F veranschaulichen 4A-4F verschiedene unterschiedliche Sicherheitsprozeduren, die von verschiedenen Akteuren implementiert werden können, und die von Akteuren belegten Bewegungsbahnen, die diesen Sicherheitsprozeduren zugeordnet sind (z.B. die Bewegungsbahnen, die die beanspruchten Sätze der Akteure repräsentieren, falls die Akteure ihre Sicherheitsprozeduren implementieren würden). In jedem beliebigen Beispiel kann ein Ende einer oder mehrerer akteurbelegter Bewegungsbahn(en) (z.B. einer fahrzeugbelegten Bewegungsbahn und/oder einer objektbelegten Bewegungsbahn) den Punkt in Raum und Zeit angeben, an dem der Akteur zum vollständigen Stillstand kommt (wie z.B. durch einen Abschnitt 420 der fahrzeugbelegten Bewegungsbahn 402 in 4C angegeben).
  • In Bezug auf 4A kann dann, wenn das Fahrzeug 102 einem Objekt 106 folgt, das Fahrzeug 102 bestimmen, dass es in einem unsicheren Abstand folgt (z.B. weil die fahrzeugbelegte(n) Bewegungsbahn(en) 402 des Fahrzeugs 102 die objektbelegte(n) Bewegungsbahn(en) 404 des Objekts 106 überlappt/überlappen). In einem solchen Szenario kann das Fahrzeug 102 seine Sicherheitsprozedur implementieren und damit beginnen, langsamer zu werden, um eine Kollision mit dem Objekt 106 zu vermeiden. In einigen Beispielen kann, wenn das Fahrzeug 102 langsamer wird, die Länge der fahrzeugbelegten Bewegungsbahn(en) 402 abnehmen (z.B. weil die Geschwindigkeit geringer ist, würde auch die Zeit zum Anhalten - und damit zum Ausführen der Sicherheitsprozedur - kürzer sein), und würde/würden sich, weil sich das Fahrzeug 102 durch Verlangsamung weiter von dem Objekt 106 weg bewegen würde, die fahrzeugbelegte(n) Bewegungsbahn(en) 402 am Ende nicht mit der/den objektbelegten Bewegungsbahn(en) 404 überlappen oder schneiden. Falls das Fahrzeug 102 zu dem Zeitpunkt, zu dem ein Kreuzungspunkt nicht länger vorliegt, noch nicht vollständig zum Stillstand gekommen ist, kann das Fahrzeug 102 die Sicherheitsprozedur abbrechen und die Kontrolle z.B. an die Planungsschicht oder die Steuerungsschicht des Autonomfahr-Softwarestacks zurückgeben. Somit kann das Fahrzeug 102 die Sicherheitsprozedur nur dann und so lange implementieren, wie Gefahr besteht, und kann dann die Sicherheitsprozedur abbrechen.
  • In Bezug auf 4B kann dann, wenn das Fahrzeug 102 die Fahrspur zu einer Fahrspur wechselt, die das Objekt 106 beinhaltet, das Fahrzeug 102 bestimmen, dass der Spurwechsel unsicher ist (z.B. weil die fahrzeugbelegte(n) Bewegungsbahn(en) 402 des Fahrzeugs 102 die objektbelegte(n) Bewegungsbahn(en) 404 des Objekts 106 überlappt/überlappen). In einem solchen Szenario kann das Fahrzeug 102 seine Sicherheitsprozedur implementieren und damit beginnen, langsamer zu werden und/oder sich mit der Straße auszurichten (z.B. den Spurwechsel abbrechen, ähnlich dem Beispiel von 2B), um eine Kollision mit dem Objekt 106 zu vermeiden.
  • In Bezug auf 4C kann das Fahrzeug 102 dann, wenn sich das Fahrzeug 102 in einem komplizierteren Szenario befindet, wie beispielsweise dann, wenn ein erstes Objekt 106A auf das Fahrzeug 102 zukommt und ein zweites Objekt 106B von der Seite auf das Fahrzeug zukommt, bestimmen (z.B. zu dem in 4C dargestellten Zeitpunkt, an dem sich die Kreuzung in der Nähe befindet, oder zu einem späteren Zeitpunkt, an dem die Kreuzung noch näher ist), dass der aktuelle Weg unsicher ist. In einem solchen Szenario kann das Fahrzeug 102 seine Sicherheitsprozedur implementieren und damit beginnen, langsamer zu werden, um eine Kollision mit den Objekten 106A und/oder 106B zu vermeiden. In einigen Beispielen gibt es möglicherweise keine Möglichkeit, die Kollision vollständig zu vermeiden, und kann das Fahrzeug 102 stattdessen die Sicherheitsprozedur oder eine andere Maßnahme implementieren, die den Passagieren des Fahrzeugs 102 und den Objekten 106A und 106B, wie hierin beschrieben wurde, den geringsten Schaden (z.B. das Sicherheitspotenzial verringern) zufügen kann.
  • In Bezug auf 4D und als ein weiterer Vorteil der Erfindung kann dann, wenn das Fahrzeug 102 versucht, die Fahrspur in langsamen Verkehr zwischen einem ersten Objekt 106A und einem zweiten Objekt 106B zu wechseln (z.B. wenn das Fahrzeug 102 nicht wirklich zwischen die Objekte 106A und 106B passen kann), dem Fahrzeug dies gestattet werden. Beispielsweise kann, weil das Fahrzeug 102 in der Lage sein kann, sich mit langsamer Geschwindigkeit (z.B. wie durch die kurzen Bewegungsbahnen 402, 404A und 404B angezeigt) in die Fahrspur zu bewegen, ohne dass die fahrzeugbelegte(n) Bewegungsbahn(en) 402 irgendeine der Bewegungsbahnen 404A und 404B der Objekte 106 überlappt, das Fahrzeug 102 mit dem Spurwechsel fortfahren, solange keine Überlappung bestimmt wird. In einem solchen Beispiel kann das erste Objekt 106A verlangsamt werden, um das Fahrzeug 102 in die Fahrspur zu lassen, kann das zweite Objekt 106B beschleunigt werden, und/oder kann eine Kombination davon erfolgen. Falls jedoch zu irgendeinem Zeitpunkt während des Spurwechsels das Objekt 106A beschleunigt, das Objekt 106B langsamer wird und/oder eine Kombination davon erfolgt, und dadurch eine Überlappung zwischen der/den fahrzeugbelegten Bewegungsbahn(en) 402 und der/den objektbelegten Bewegungsbahn(en) 404A und/oder 404B bewirkt wird, kann das Fahrzeug 102 die Sicherheitsprozedur implementieren und den Spurwechsel abbrechen.
  • Im Gegensatz zu konventionellen Systemen, die einen Weg des Fahrzeugs in seitlicher Richtung getrennt von der Längsrichtung analysieren (z.B. würde dies diese Art von Spurwechsel nicht erlauben, weil das erste Objekt 106A als seitlich im Weg des Fahrzeugs 102 liegend bestimmt werden kann), kann das aktuelle System 100 diese Art von Manövern (z.B. Manöver, bei denen ein kompletter Raum für das Fahrzeug 102, wie zwischen dem ersten Objekt 106A und dem zweiten Objekt 106B, nicht immer vorhanden ist) zulassen. Insoweit sind, da das Autonomfahrzeugsystem 100 durch Überwachen der Bewegungsbahnen 402, 404A und 404B diesen schlimmsten Fall bestimmt haben kann, das Fahrzeug 102 und die Objekte 106A und 106B in der Lage, ihre Sicherheitsprozeduren vor einer Kollision zu implementieren, und kann es dem Fahrzeug 102 durch das Autonomfahrzeugsystem 100 erlaubt werden, den Spurwechsel durchzuführen, wie in 4D dargestellt.
  • In Bezug auf 4E veranschaulicht 4E Beispiele, bei denen es sich bei den Objekten 106 um Fußgänger, Kinder, Tiere, Motorräder, Radfahrer, Fahrzeuge und/oder andere Arten von Objekten 106 handeln kann. Für verschiedene Objekttypen kann es unterschiedliche Sicherheitsprozeduren geben. Beispielsweise können Kinder (z.B. das Objekt 106E), Erwachsene (z.B. die Objekte 106G, 106F, 106C, 106D), laufende Erwachsene (z.B. das Objekt 106G), gehende Erwachsene (z.B. das Objekt 106F), Tiere (z.B. das Objekt 106B), Motorräder (z.B. das Objekt 106H), Fahrradfahrer (z.B. das Objekt 106A) und/oder andere Arten von Objekten unterschiedliche entsprechende Sicherheitsprozeduren aufweisen. Daher kann der Sicherheitsprozedurbestimmer 134 die geeignete Sicherheitsprozedur für jedes der Objekte 106 festlegen, die wahrgenommen und/oder als in der Umgebung 406 vorhanden bestimmt werden. Da beispielsweise die Bewegung von Menschen und Tieren unregelmäßig sein kann (z.B. können sie sich in jede Richtung bewegen und/oder die Richtung schnell ändern), können sich die Sicherheitsprozeduren länger entlang der Bewegungsrichtung der Person oder des Tieres erstrecken, aber sich auch auf jede Seite und hinter den Menschen oder Tieren erstrecken (z.B. wie in den objektbelegten Bewegungsbahnen 408B, 408F und 408G dargestellt). Infolgedessen kann die Sicherheitsprozedur für einen Fußgänger und/oder ein Tier berücksichtigen, dass der Fußgänger und/oder das Tier so schnell sie können in jede beliebige Richtung laufen (z.B. ein nicht wachsamer Fußgänger). Selbst bei diesem Ansatz kann sich das Fahrzeug 102 konservativ verhalten, wobei Sicherheit aus den vernünftigen Grenzen bezüglich wie schnell sich ein Fußgänger und/oder ein Tier bewegen kann, entsteht.
  • In dem Beispiel von 4E kann/können sich die fahrzeugbelegte(n) Bewegungsbahn(en) 402 des Fahrzeugs 102 mit den objektbelegten Bewegungsbahnen 408F und 408G der Fußgänger überlappen. In einem solchen Beispiel kann das Fahrzeug 102 seine Sicherheitsprozedur ausführen, und kann von den Fußgängern (z.B. den Objekten 106G und 106F) erwartet werden, dass sie ihre Sicherheitsprozeduren (z.B. Verlangsamen oder Anhalten) ausführen. Insoweit kann das Fahrzeug 102 damit beginnen, langsamer zu werden (und kann sich möglicherweise, als eine Modifikation der Sicherheitsprozedur, nach rechts wenden, um die Fußgänger zu vermeiden, wie hierin näher beschrieben wird). Schließlich können, wenn das Fahrzeug 102 langsamer wird und die Objekte 106G und 106F langsamer werden, sich die fahrzeugbelegte(n) Bewegungsbahn(en) 402 und die objektbelegten Bewegungsbahnen 408G und/oder 408F nicht mehr überlappen oder kreuzen, zu welcher Zeit das Fahrzeug 102 die Sicherheitsprozedur abbrechen und entlang des Wegs fortfahren kann, auf dem sich das Fahrzeug 102 vor der Implementierung der Sicherheitsprozedur fortbewegt hat.
  • In Bezug auf 4F veranschaulicht 4F Beispiele, bei denen Teile der Umgebung 410 aus den Sichtfeldern der Sensoren des Fahrzeugs 102 ausgeschlossen sein können. Infolgedessen kann das Fahrzeug 102 möglicherweise nicht alle Objekte genau wahrnehmen (z.B. können einige Objekte verdeckt sein), und kann somit nicht in der Lage sein, die entsprechenden Sicherheitsprozeduren von verdeckten Objekten zu bestimmen. Beispielsweise kann das Fahrzeug 102 nur in der Lage sein, die Umgebung 410 innerhalb des Sichtfelds der Sensoren wahrnehmen, wie es durch den Bereich zwischen den Sichtlinien 414A und 414B in 4F dargestellt ist. In solchen Beispielen kann das Fahrzeug 102 unsichtbare Akteure 418A und 418B (alternativ hierin als nicht wahrgenommene Akteure bezeichnet) bestimmen.
  • Die unsichtbaren Akteure 418A und 418B können basierend auf Regeln oder Logik bestimmter Umstände und/oder Variablen in der Umgebung 410 bestimmt werden. Beispielsweise kann in einigen Beispielen das Fahrzeug 102 Sichteinschränkungen handhaben, indem es den schlimmsten Fall annimmt. Dies kann jedoch für das Fahrzeug 102 unpraktisch sein, wie beispielsweise aufgrund eines Veranlassens des Fahrzeugs 102, für praktische Verwendung zu konservativ (z.B. mit konstantem Bremsen oder Fahren mit viel zu niedrigen Geschwindigkeiten) zu reagieren. Infolgedessen wird in einigen Beispielen ein Vernünftigkeits- bzw. Angemessenheitsstandard verwendet. Beispielsweise kann eine Geschwindigkeitsbegrenzung eingeführt sein, wie beispielsweise das Zweifache der Geschwindigkeitsbegrenzung, so dass das Fahrzeug 102 bestimmen kann, dass Akteure, die schneller als die zweifache Geschwindigkeitsbegrenzung unterwegs sind, vorhanden sein können, aber unvernünftig sind, und diese daher bei der Entscheidung, ob die Sicherheitsprozedur zu implementieren ist oder nicht, außer Acht lassen kann, sie aber anerkennen kann, wenn ein Fehler bewertet wird. Die Bestimmung dieser vernünftigen unsichtbaren Akteure kann Teil einer Steuerungsrichtlinie sein, wie hierin näher beschrieben wird.
  • In Bezug auf den unsichtbaren Akteur 418A, der hinter dem Gebäude 416 vorhanden sein kann, kann das Fahrzeug 102 beispielsweise bestimmen, dass es vernünftig ist, dass der unsichtbare Akteur 418A vorhanden sein kann, weil es eine Dreiwegekreuzung mit Stopschildern, oder mit einem Stoplicht, geben kann, und kann das Licht für das Fahrzeug 102 gelb sein (z.B. wenn es anzeigt, dass ein anderes Fahrzeug, der unsichtbare Akteur 418A, von hinter dem Gebäude 416 in die Kreuzung eintreten könnte). Im gleichen Szenario kann es jedoch dann, wenn die Ampel für das Fahrzeug 102 grün sein sollte, nicht sinnvoll sein, von einem unsichtbaren Akteur 418A oder zumindest einem unsichtbaren Akteur mit einer oder mehreren Bewegungsbahnen 412A auszugehen, die sich soweit erstreckt/erstrecken, weil jeder Akteur, der von hinten hinter dem Gebäude 416 hervorkommt, eine rote Ampel hätte und anhalten würde (oder gegen die Verkehrsgesetze verstoßen würde).
  • Als weiteres Beispiel kann das Fahrzeug 102 in Bezug auf den unsichtbaren Akteur 418B, der hinter dem Objekt 106D (z.B. ein geparktes Fahrzeug) und vor dem Objekt 106C (z.B. ein anderes geparktes Fahrzeug) vorhanden sein kann, bestimmen, dass es sinnvoll ist, dass der unsichtbare Akteur 418B vorhanden sein kann, weil der unsichtbare Akteur 418B (z.B. eine Person, basierend auf vernünftigen Objekttypen, die sich zwischen zwei geparkten Fahrzeugen befinden können) versuchen kann, die Straße zu überqueren oder eines der Fahrzeuge zu betreten (z.B. die Objekte 106C oder 106D). Infolgedessen und weil die objektbelegte(n) Bewegungsbahn(en) 412A des unsichtbaren Akteurs 418B mit der/den fahrzeugbelegten Bewegungsbahn(en) 402 des Fahrzeugs 102 kreuzt oder überlappt, kann das Fahrzeug 102 beginnen, seine Sicherheitsprozedur durch Verlangsamen durchzuführen, zumindest bis der Raum zwischen den Objekten 106C und 106D nicht länger verdeckt ist und die Existenz eines tatsächlichen Objekts 106 bejaht oder verneint wurde.
  • In einigen Beispielen können Latenz, Diskretisierung und/oder Reaktionszeit zumindest einige der praktischen Beschränkungen des Autonomfahrzeugsystems 100 und von Akteuren sein, die modelliert werden können. Das Autonomfahrzeugsystem 100 kann mit einer Einschränkung der Wahrnehmung, genauer gesagt Wahrnehmung und Aktion, in dem Sinne umgehen, dass dann, wenn ein Akteur etwas tut, es zwangsläufig auf einer nicht ganz aktuellen Wahrnehmung basiert (z.B. mit einer Zeitverzögerung). Infolgedessen kann dann, wenn der Akteur etwas tut, dieses auf der Wahrnehmung der Welt zu einem früheren Zeitpunkt beruhen. Beispielsweise kann ein Akteur (z.B. ein menschlicher Akteur, ein manuell gefahrenes Fahrzeug oder ein Fußgänger) eine gewisse Reaktionszeit haben (z.B. aufgrund mangelnder Aufmerksamkeit beim Schauen auf ein Telefon, beim Greifen nach etwas usw.), bevor er bemerkt, dass eine mögliche Kollision auftreten kann. In einem solchen Beispiel kann das Autonomfahrzeugsystem 100 diese Reaktionszeit berücksichtigen. In anderen Beispielen kann ein Akteur, wie beispielsweise ein Fahrzeug, eine Latenz oder Verzögerung zwischen dem Empfang eines Befehls und dem tatsächlichen Auftreten der Betätigung beinhalten. Die Latenz oder Verzögerung kann bekannt sein (z.B. nach der Identifizierung eines Fahrzeugtyps) oder wahrgenommen werden (z.B. bei Verwendung eines oder mehrerer neuronaler Netzwerke). In solchen Beispielen kann das Autonomfahrzeugsystem 100 diese Latenz oder Verzögerung berücksichtigen. In jedem beliebigen Beispiel kann die Form (z.B. die Länge, die Breite, die Höhe usw.) der Bewegungsbahn(en) der beanspruchten Sätze für die Akteure (z.B. das Fahrzeug 102 und/oder die Objekte 106) angepasst sein (z.B. verlängert, verbreitert usw.), um Latenz, Verzögerung oder Reaktionszeit zu berücksichtigen.
  • In einigen Beispielen kann angenommen werden, dass das Ausmaß der Latenz Δt sein. Um Δt zu berücksichtigen, kann in einigen Beispielen eine Form einer Schlimmstfall-Weiterleitungsprädiktion verwendet werden, so dass ein weitergeleiteter Satz ϕAA,Δt), des Akteurs A um ein Zeitintervall, Δt, der Satz aller Zustände ist, in der die Akteur A möglicherweise bei dem Zeitintervall Δt gelangen könnte, nachdem er sich im Zustand, χA, befindet. Der weitergeleitete Satz einer Ansammlung, Θ, von Akteuren bei einem Zeitintervall, Δt,, kann die Vereinigung der weitergeleiteten Sätze aller Akteure Θ sein, wie durch Gleichung (11) nachstehend dargestellt wird: Φ ( Θ , Δ t ) = A Θ Φ A ( x A , Δ t )
    Figure DE112019000065T5_0011
  • Ein Akteur kann typischerweise eine bessere Fähigkeit haben, seinen eigenen Zustand vorherzusagen, als den anderer Akteure. Insbesondere in dem Steuerungssystem (z.B. der/den Steuerungskomponente(n) 126) des Fahrzeugs 102 kann die tatsächliche Befehlsfolge, die zuvor gesendet wurde, bekannt sein, was eine Möglichkeit bietet, vorherzusagen, wo sich der Akteur selbst befinden wird, wenn der (z.B. an die Betätigungskomponente(n) 130 gelieferte) Betätigungsbefehl, der jetzt angenommen wird, tatsächlich ausgegeben wird. Für praktische Zwecke kann dieses ermöglichen, dass der weitergeleitete Satz nur einen Punkt umfasst, was effektiv in einer deterministischen Weiterleitung resultiert und darüber hinaus in einem einzelnen Akteurzustand resultiert. Im Allgemeinen kann der Weiterleitungsmechanismus eine nicht-deterministische Weiterleitung sein, und kann in einer Reihe von Zuständen resultieren. Während in einigen Beispielen eine nicht-deterministische Weiterleitung des Akteurs selbst verwendet werden kann, und erfordern kann, dass die Steuerungsrichtlinie für alle möglichen Zustände des Akteurs sicher ist, kann in anderen Beispielen, um die Komplexität zu reduzieren, eine deterministische Weiterleitung des Akteurs selbst angenommen werden.
  • Ein Ergebnis kann eine Steuerungsrichtlinie für den weitergeleiteten Akteur sein, wobei implizit davon ausgegangen wird, dass die Zustandsparametrierung mit einer Vorhersage aktualisiert wird, die auf allen Betätigungsbefehlen in der Warteschlange bis zu dem aktuell diskutierten Betätigungsbefehl basiert. Unter diesen Annahmen kann sich der Steuerungsbefehl auf den betrachteten Akteurzustand beziehen, und kann die einzige Verzögerung die Information bezüglich anderer Akteure (z.B. der Objekte 106 außer dem Fahrzeug 102) sein.
  • Eine weitergeleitete Steuerungsrichtlinie kann zum jetzigen Zeitpunkt in Bezug darauf, wohin auch immer sich die wahrgenommene Ansammlung von Akteuren bewegt hat, sicher sein, trotz der Latenzbeschränkungen zwischen Wahrnehmung und Aktion. Dies wiederum kann eine direkte Folge der Schlimmstfall- bzw. Worst-Case-Annahme und der Definition einer sicheren Steuerungsrichtlinie sein. Da alle Beschränkungen (z.B. wohin auch immer in der Umgebung andere Akteure zum Zeitpunkt der Ausführung der Steuerung des Fahrzeugs 102 gelangen können), die vorhanden sein können, als vorhanden angenommen werden, kann das Autonomfahrzeugsystem 100 somit allen relevanten Beschränkungen entsprechen.
  • Darüber hinaus kann das Autonomfahrzeugsystem 100 der Erfindung Latenzerkennung mit Sichtbarkeitswahrnehmung kombinieren, und kann diese Informationen nutzen, um das Eintreten in unvernünftige Zustände zu vermeiden. Es sei zum Beispiel der Satz, ϕ(V,Δt)∪(ϕ(Λ,Δt)∩Ψ) betrachtet, worin V,Λ,Ψ jeweils die Sätze sichtbarer, unsichtbarer, vernünftiger Akteure sind. Zunächst kann die Sichtbarkeit berücksichtigt werden, um eine vollständige Sammlung aller Akteure (sichtbar und unsichtbar, wie hierin beschrieben) in der Welt bereitzustellen, die zu einem bestimmten Zeitpunkt zu berücksichtigen sind. Sodann kann die Latenz bei dieser vollständigen Weltdarstellung berücksichtigt werden, indem der Satz von Akteuren weitergeleitet wird. Schließlich können unvernünftige Akteure aus dem weitergeleiteten Satz unsichtbarer Akteure ausgeschlossen werden. In einigen Beispielen können unvernünftige Akteure vor der Weiterleitung ausgeschlossen werden; dies würde es jedoch nicht erlauben, unvernünftige Akteure zu berücksichtigen, die es während der Weiterleitung in vernünftige Zustände schaffen. Auch wenn unvernünftige unsichtbare Akteure ausgeschlossen werden können, können in einigen Beispielen unvernünftige sichtbare Akteure nicht ausgeschlossen werden, weil ein Entfernen tatsächlich wahrgenommener Akteure möglicherweise nicht zu einem akkuraten Weltzustand führt.
  • Der Sicherheitspotenzialrechner 140 kann ein Sicherheitspotenzial zwischen zwei oder mehr Akteuren in einer Umgebung bestimmen. Beispielsweise kann für zwei Akteure, Akteur A und Akteur B, der kombinierte Zustandsraum ΩA × ΩS (z.B. der Zustandsraum von Akteur A und der Zustandsraum von Akteur B) verglichen werden und kann ein unsicherer Satz bestimmt werden (z.B. der Satz von Punkten in dem kombinierten Zustandsraum der beiden sich schneidenden Akteure). Insoweit kann der unsichere Satz die Punkte aus dem beanspruchten Satz von Akteur A, CA , sein, die sich mit den Punkten aus dem beanspruchten Satz von Akteur B, Cs schneiden. In einigen Beispielen kann der unsichere Satz, UAB, gemäß der folgenden Gleichung (12) bestimmt werden: U A B Ω A × Ω B
    Figure DE112019000065T5_0012
  • Der Sicherheitspotenzialrechner kann dann eine Sicherheitspotenzialfunktion auf dem kombinierten Zustandsraum der Akteure (z.B. Akteur A und Akteur B) bestimmen. Beispielsweise kann das Sicherheitspotenzial eine differenzierbare Funktion realer Werte im kombinierten Zustandsraum sein, die streng positiv auf dem unsicheren Satz und nicht negativ an anderer Stelle sein kann. Das Sicherheitspotenzial dann, wenn alle Akteure beliebige Elemente in ihren Sicherheitsprozeduren anwenden, darf sich nicht erhöhen. In einigen Beispielen kann das Sicherheitspotenzial, ρAB,, nach der folgenden Gleichung (13) bestimmt werden: ρ A B : Ω A × Ω B
    Figure DE112019000065T5_0013
  • Das Sicherheitspotenzial kann bei einem geringen (z.B. Schwellenwert-) Abstand von dem unsicheren Satz genau Null sein (z.B. unmittelbar vor den Bewegungsbahnen, die die beanspruchten Sätze der Akteure repräsentieren). Ein Beitrag jedes Akteurs zu einer Änderung des Sicherheitspotenzials kann in einigen Beispielen unter Verwendung der Kettenregel ausgedrückt werden. Beispielsweise kann die Änderung des Sicherheitspotenzials, ρAB, basierend auf den Beiträgen beider Akteure in Bezug auf die Zeit gemäß Gleichung (14) bestimmt werden: d ρ A B d t = ρ A B x A d x A d t + ρ A B x B d x B d t
    Figure DE112019000065T5_0014
  • In einigen Beispielen kann das Autonomfahrzeugsystem 100 eine strengere Anforderung auferlegen, wie beispielsweise dass der Beitrag jeder der einzelnen Sicherheitsprozeduren zu der Änderung des Sicherheitspotenzials kleiner oder gleich Null sein muss. In solchen Beispielen kann die folgende Gleichung (15) eine infinit differenzierbare Funktion realer Werte für das Sicherheitspotenzial, ρAB, darstellen: ρ A B : Ω A × Ω B
    Figure DE112019000065T5_0015
  • In einem solchen Beispiel kann das Sicherheitspotenzial auf dem kombinierten Zustandsraum auf dem unsicheren Satz streng positiv und an anderer Stelle nicht negativ sein, und gelten für es die folgenden Beziehungen wie durch die Gleichungen (16) und (17) dargestellt: ρ A B x A s A 0    für beliebige    s A S A
    Figure DE112019000065T5_0016
    ρ A B x B s B 0    für beliebige    s B S B
    Figure DE112019000065T5_0017
  • In einigen Beispielen ist überall differenzierbar zu sein nicht unbedingt eine notwendige Voraussetzung für ein Sicherheitspotenzial. In solchen Beispielen kann das Sicherheitspotenzial fast überall differenzierbar sein, ohne den Schutzumfang der Erfindung zu verlassen.
  • Eine lokale Änderung an dem Sicherheitspotenzial jedes Akteurs kann das Punktprodukt zwischen der Steuerungsrichtlinie und dem Gradienten des Sicherheitspotenzials (z.B. in Bezug auf den Zustand des Akteurs) sein. Die Steuerungsrichtlinie kann der negative Gradient des Sicherheitspotenzials sein, vorbehaltlich Grenzen. Das Sicherheitskraftfeld kann der Gradient des Sicherheitspotenzials in Bezug auf den Zustand (z.B. die Ableitung des Sicherheitspotenzials in Bezug auf die Zustandsänderung) sein. Beispielsweise kann in Bezug auf einen Akteur A und einen Akteur B der negative Gradient, FAB , des Sicherheitspotenzials, ρAB, wie nachstehend in Gleichung (18) dargestellt, als das Sicherheitskraftfeld auf Akteur A von Akteur B bezeichnet werden. F A B = ρ A B x A
    Figure DE112019000065T5_0018
  • Wie hierin beschrieben wurde, sollte sich das Fahrzeug 102 in Bezug auf jeden Akteur in einer Weise, dass zumindest das gleiche Sicherheitsniveau wie das seiner Sicherheitsprozedur gewährleistet wird. Eine sichere Steuerungsrichtlinie für Akteur A (z.B. das Fahrzeug 102) in Bezug auf jeden Akteur B eines Satzes von Akteuren in der Umgebung ist eine Steuerungsrichtlinie, die durch die Beziehung der nachstehenden Gleichung (19) dargestellt wird: F A B d x A d t m i n s A S A F A B s A
    Figure DE112019000065T5_0019
  • Wir können einige vernünftige Annahmen über die festgelegte Sicherheitsprozedur treffen, so dass das Minimum in Gleichung (19) immer erreicht wird, sozusagen das Set kompakt ist. In Worten ausgedrückt, gibt die Beziehung der Gleichung (19) an, dass eine sichere Steuerungsrichtlinie für das Fahrzeug 102, wenn sie in die Vollzustandsableitung abgebildet wird, ein Punktprodukt gegen das Sicherheitskraftfeld von jedem anderen Akteur haben kann, das zumindest so groß ist wie das eines Elements der Sicherheitsprozedur des Fahrzeugs 102. In einigen Beispielen kann die Steuerungsrichtlinie in Bezug auf die Sicherheitsprozedur additiv sein, und kann die Addition ein Punktprodukt aufweisen, das zumindest Null gegen das Sicherheitskraftfeld des anderen Akteurs ist.
  • Zwei Akteure, Akteur A und Akteur B, mit sicheren Steuerungsrichtlinien in Bezug aufeinander, sollten nicht miteinander kollidieren. Wenn sich die beiden Akteure beispielsweise in Bezug auf die Zeit entlang ihrer Bewegungsbahnen bewegen, kann die lokale Änderung des Sicherheitspotenzials in die beiden Beiträge von den beiden Akteuren aufgeteilt werden. Wenn beide Akteure über sichere Steuerungsrichtlinien verfügen, sollten die beiden Beiträge nicht größer sein als dann, wenn die optimalen oder gewünschten Elemente der Sicherheitsprozedur beider Akteure (algebraisch ausgedrückt sei angenommen, dass s A * S A
    Figure DE112019000065T5_0020
    und s B * S B
    Figure DE112019000065T5_0021
    die Bewegungsbahnen sind, die die Minima: F A B s A * = m i n s A S A F A B s A
    Figure DE112019000065T5_0022
    und F B A s B * = m i n s B S B F A B s B
    Figure DE112019000065T5_0023
    erreichen) an diesem Punkt anzuwenden wären (z.B. sollten ihre Beiträge nicht größer als Null sein), wie durch die nachstehende Gleichung (20) ausgedrückt wird: d ρ A B d t = ρ A B x A d x A d t + ρ A B x B d x B d t ρ A B x A s A * + ρ A B x B s B * 0
    Figure DE112019000065T5_0024
  • In Gleichung (20) beruht die erste Gleichheit auf der Kettenregel, beruht die erste Ungleichheit auf der Definition einer sicheren Steuerungsrichtlinie, und beruht die letzte Ungleichheit auf der Definition eines Sicherheitspotenzials. Weil das Sicherheitspotenzial nichtnegativ sein kann und die Änderung des Sicherheitspotenzials überall entlang der kombinierten Bewegungsbahnen von Akteur A und Akteur B kleiner oder gleich Null sein kann, darf das Sicherheitspotenzial nie Null sein, was bedeutet, dass die beiden Bewegungsbahnen niemals einen unsicheren Satz bilden sollten und somit Akteur A und Akteur B nicht kollidieren sollten.
  • In einigen Fällen kann es zu einer Überlappung bzw. Überschneidung zwischen Sicherheitsprozeduren verschiedener Akteure kommen. Bezug auf 5A-5C nehmend, kann zum Beispiel eine Überlappung zwischen Sicherheitsprozeduren (z.B. akteurbelegte Bewegungsbahnen, die beanspruchte Sätze von Akteuren repräsentieren, wenn die Sicherheitsprozeduren ausgeführt werden) verschiedener Akteure in einer Vielzahl unterschiedlicher Weisen auftreten. Wenn eine Überlappung auftritt, kann dies anzeigen, dass mehr als ein Akteur den gleichen Anteil an Raum und Zeit beansprucht, so dass es auch dann, wenn alle Akteure ihre Sicherheitsprozeduren ausführen, immer noch ein Problem geben kann. Das Sicherheitskraftfeld kann als die Auseinandersetzung betrachtet werden, die zwischen verschiedenen Akteuren stattfindet, wenn sie versuchen, die gleichen Anteile an Raum und Zeit zu beanspruchen. Sobald es zu einer Überlappung oder Überschneidung kommt, kann den Akteuren eine Beschränkung auferlegt werden. Die Beschränkung kann darin bestehen, dass alle Akteure dazu beitragen sollten, die Überlappung (und damit das Sicherheitspotenzial) zumindest so weit zu reduzieren, wie es ihre Sicherheitsprozedur tun würde. Insoweit kann die Sicherheitsprozedur immer eine Option sein, und sollten alle anderen Maßnahmen der Akteure nur zu einer Nettoabnahme des Sicherheitspotenzials im Vergleich zu der Sicherheitsprozedur beitragen. Bezug auf 5A-5C nehmend, können die Beschränkungen 506 so gesehen werden, als repräsentierten sie die Sicherheitskraftfelder des Fahrzeugs 102 und der Objekte 106, die sich gegenseitig abstoßen.
  • In einigen Beispielen, und unter Bezugnahme auf 5A, kann der Kreuzungspunkt zwischen den von Akteuren belegten Bewegungsbahnen (z.B. die Bewegungsbahnen, die die beanspruchten Sätze der Akteure repräsentieren) - wie z.B. von Fahrzeugen belegte Bewegungsbahn(en) 502 des Fahrzeugs 102 und von Objekten belegte Bewegungsbahn(en) 504 des Objekts 106 - eine Beschränkung 506A auf das Objekt 106 und eine Beschränkung 506B auf das Fahrzeug 102 verursachen. Beispielsweise können die Beschränkungen 506 das Sicherheitskraftfeld darstellen, wenn sich das Fahrzeug 102 und das Objekt 106 gegenseitig abstoßen. Wie in 5A angegeben ist, können die Beschränkungen 506 auf eine Beschränkung der Steuerungen des Fahrzeugs 102 und/oder des Objekts 106 zurückgeführt werden. Beispielsweise kann ein Pfeil 508A die Steuerungen für das Objekt 106 als ein Ergebnis der Beschränkung 506A anzeigen. Die Steuerungen können bremsen und/oder nicht nach rechts lenken sein, und nach links lenken kann akzeptabel sein. In ähnlicher Weise kann ein Pfeil 508B die Steuerungen für das Fahrzeug 102 als ein Ergebnis der Beschränkung 506B anzeigen. Die Steuerungen können nicht nach links lenken sein, und sich nach rechts wenden kann akzeptabel sein.
  • Als weiteres Beispiel, und unter Bezugnahme auf 5B, kann der Kreuzungspunkt zwischen den von Akteuren belegten Bewegungsbahnen (wobei z.B. die Bewegungsbahnen die beanspruchten Sätze der Akteure repräsentieren), wie beispielsweise die fahrzeugbelegte(n) Bewegungsbahn(en) 502 des Fahrzeugs 102, die objektbelegte(n) Bewegungsbahn(en) 504A des Objekts 106A und die objektbelegte(n) Bewegungsbahn(en) 504B des Objekts 106B eine Beschränkung 506C zwischen dem Objekt 106B und dem Objekt 106A, eine Beschränkung 506D zwischen dem Objekt 106A und dem Objekt 106B, eine Beschränkung 506E zwischen dem Objekt 106A und dem Fahrzeug 102 und/oder eine Beschränkung 506F zwischen dem Fahrzeug 102 und dem Objekt 106A verursachen. Wie in 5B angegeben ist, können die Beschränkungen 506 auf eine Beschränkung der Steuerung des Fahrzeugs 102 und/oder der Objekte 106 zurückgeführt werden. Beispielsweise kann ein Pfeil 508C die Steuerelemente für das Objekt 106B als Ergebnis der Beschränkung 506C angeben. Die Steuerungen können nicht nach rechts lenken sein, und sich nach links zu wenden und/oder bremsen kann zulässig sein. In ähnlicher Weise kann ein Pfeil 508E die Steuerungen für das Objekt 106A als ein Ergebnis der Beschränkung 506D angeben, und kann ein Pfeil 508D die Steuerungen für das Objekt 106A als ein Ergebnis der Beschränkung 506E angeben. Die Steuerungen für das Objekt 106A, als ein Ergebnis sowohl des Fahrzeugs 102 als auch des Objekts 106B, können ein Bremsen und ein Verfolgen des Straßenverlaufs sein (z.B. kann die Lenksteuerung von dem Pfeil 506D und 506E versetzt sein, so dass der Rest keine Lenksteuerung und nur Bremsen ist). Ein Pfeil 508F kann die Steuerungen für das Fahrzeug 102 als ein Ergebnis der Beschränkung 506F angeben. Die Steuerungen können nicht nach links lenken sein, und ein sich nach rechts wenden kann akzeptabel sein.
  • Als weiteres Beispiel, und unter Bezugnahme auf 5C, kann der Kreuzungspunkt zwischen den von Akteuren belegten Bewegungsbahnen (z.B. die Bewegungsbahnen, die die beanspruchten Sätze der Akteure darstellen), wie beispielsweise die fahrzeugbelegte(n) Bewegungsbahn(en) 502 des Fahrzeugs 102, die objektbelegte(n) Bewegungsbahn(en) 504C des Objekts 106C, die objektbelegte(n) Bewegungsbahn(en) 504D des Objekts 106D und die objektbelegte(n) Bewegungsbahn(en) 504E des Objekts 106E, eine Beschränkung 506H zwischen dem Objekt 106D und dem Fahrzeug 102, eine Beschränkung 5061 zwischen dem Fahrzeug 102 und dem Objekt 106D, eine Beschränkung 406J zwischen dem Objekt 106E und dem Fahrzeug 102, eine Beschränkung 506K zwischen dem Fahrzeug 102 und dem Objekt 106E, eine Beschränkung 506L zwischen dem Objekt 106C und dem Fahrzeug 102, eine Beschränkung 506M zwischen dem Fahrzeug und dem Objekt 106C und dem Objekt 106B, und/oder eine Beschränkung 506E zwischen dem Objekt 106A und dem Fahrzeug 102 verursachen. Wie in 5C angegeben ist, kann die Beschränkung 506 auf eine Beschränkung der Steuerungen des Fahrzeugs 102 und/oder der Objekte 106 zurückgeführt werden. Beispielsweise kann ein Pfeil 508G die Steuerungen für das Objekt 106C als ein Ergebnis der Beschränkung 506L angeben. Die Steuerungen nicht nach rechts oder links lenken und bremsen sein. In ähnlicher Weise kann ein Pfeil 508H die Steuerungen für das Objekt 106D als ein Ergebnis der Beschränkung 506H angeben. Die Steuerungen können nicht nach rechts oder links lenken und bremsen sein. Ein Pfeil 5081 kann die Steuerungen für das Objekt 106E als ein Ergebnis der Beschränkung 506J angeben. Die Steuerungen für das Objekt 106E können nicht nach links oder rechts lenken und bremsen sein. Pfeile 508J, 508K und 508L können die Steuerungen für das Fahrzeug 102 als ein Ergebnis der Beschränkungen 506M, 506K und 5061 angeben. Die Steuerungen für das Fahrzeug 102 können bremsen und nicht nach rechts lenken sein, obwohl sich nach links zu wenden akzeptabel sein kann.
  • Wenn die Beschränkungen bzw. Randbedingungen 506 bestimmt werden, kann ein frühester Kreuzungspunkt zwischen (einer) fahrzeugbelegten Bewegungsbahn(en) (z.B. von Akteur A) und (einer) objektbelegten Bewegungsbahn(en) (z.B. von Objekt B) bestimmt werden. Dies kann, in einigen Beispielen, bestimmt werden durch Durchsuchen von Raum und Zeit (z.B. ℝR ×T) nach einem frühesten Kreuzungspunkt, ρ (z.B. zwischen Kreisen, Begrenzungsrahmen oder (einer) anderen Form(en), die für die Bewegungsbahn(en) verwendet wird/werden (z.B. eine Projektion des beanspruchten Satzes der Sicherheitsprozedur in Raum und Zeit repräsentierend)), und dann Durchführen einer Differentialanalyse für den Kreuzungspunkt, p. In solchen Beispielen kann das Sicherheitspotenzial, ρAB, gemäß der nachstehenden Gleichung (21) dargestellt werden:) ρ A B = ( t A s t o p p t , t B s t o p p t ) k
    Figure DE112019000065T5_0025
    worin ρt die Zeitkoordinate für den Kreuzungspunkt, p, ist und tA stop und tB stop die Anhaltezeiten für den Akteur A bzw. B sind, wenn diese ihre Sicherheitsprozedur anwenden, unter der Annahme, dass ihre Sicherheitsprozedursätze Singletons sind. Es wird angemerkt, dass die k-Norm in dieser Definition des Sicherheitspotenzials durch jede beliebige Norm ersetzt werden kann, in der k≥1, einschließlich der max-Norm, ist. Darüber hinaus kann auch die Ableitung (z.B. die Ableitung von p in Bezug auf den Zustand des Fahrzeugs) berechnet werden.
  • Die Sicherheitsprozedur, die als eine oder mehrere Bewegungsbahnen des Zustands des Akteurs betrachtet wird, kann durch Punkte γ(t) des Akteurs in der Welt und Rotationen R(t) von dem Akteur zur Welt repräsentiert werden, in der Belegungssatzdefinition des Akteurs. Beispielsweise sei angenommen, dass sich ein Punkt, z, in dem Koordinatensystem des Akteurs zu einem Weltpunkt, w(t) (z.B. einem Punkt in dem Welt-Raum) bewegt, als eine Funktion der Zeit, wenn die Sicherheitsprozedur abläuft, wie durch die nachstehende Gleichung (22) dargestellt wird: w ( t ) = [ y ( t ) + R ( t ) z t ]
    Figure DE112019000065T5_0026
  • Die Differentialanalyse der Weltpunkte, w, in Bezug auf die Änderung in dem Zustand des Akteurs, χA, kann ein Verständnis dafür liefern, wie sich die Oberfläche der Bewegungsbahn(en) in Raum und Zeit aufgrund einer Änderung des Zustands des Akteurs bewegt. In erster Linie ändert sich die Form der Oberfläche in der Raum und Zeit nicht, weil die Form der Oberfläche von zweiten Ableitungen abhängen kann. Wenn also die lokale Form der Raum-Zeit-Oberfläche der Bewegungsbahn(en) (z.B. die Sicherheitsprozedur repräsentierend) für einen Akteur bekannt ist (z.B. entweder eine Oberflächennormale oder eine Vertex- bzw. Scheitelkurventangente), und die Ableitung der Weltpunkte, w, in Bezug auf die Änderung in dem Zustand des Akteurs χA, sind das alle Informationen, die benötigt werden können, um eine Differenzialanalyse dahingehend durchzuführen, wie sich die Oberfläche verhält.
  • Infolgedessen können diese Informationen dazu verwendet werden, die Änderung in dem Kreuzungspunkt zu bestimmen. Beispielsweise kann eine Änderung in dem Weltpunkt, w(t), in Bezug auf die Änderung in dem Zustand des Akteurs, χA, gemäß den nachstehenden Gleichungen (23) und (24) dargestellt werden, wobei die Gleichung (24) eine konkretisierte Version der Gleichung (23) repräsentieren kann, falls y(t) und R(t); unter Verwendung der Gleichungen (25)-(29) definiert sind: w x A = y x A + R x A z
    Figure DE112019000065T5_0027
    w x A = [ I s ( t ) I + [ z z ] t d 0 0 0 ]
    Figure DE112019000065T5_0028
    x A [ y d v ]  mit  y 2 ,   d 2 ,   v
    Figure DE112019000065T5_0029
    S A { [ v d 0 a m i n ] }
    Figure DE112019000065T5_0030
    s ( t ) = v t + a m i n t 2 2
    Figure DE112019000065T5_0031
    y ( t ) = y + s ( t ) d
    Figure DE112019000065T5_0032
    R ( t ) = [ d d ]
    Figure DE112019000065T5_0033
  • Der früheste Kreuzungspunkt kann ein Kreuzungspunkt zwischen zwei glatten Oberflächen, zwischen einem Vertex bzw. Scheitelpunkt der Bewegungsbahn(en) des Akteurs A und einer glatten Oberfläche der Bewegungsbahn(en) des Akteurs B, oder zwischen einem Vertex bzw. Scheitelpunkt der Bewegungsbahn(en) des Akteurs B und einer glatten Oberfläche der Bewegungsbahn(en) des Akteurs A sein. In einem Beispiel, in dem der früheste Kreuzungspunkt, p, zwischen zwei glatten Oberflächen (z.B. die Oberflächen, die von zwei sich über die Zeit bewegenden Kreisen ausgefegt werden) auftritt, kann die lokale Oberfläche an diesem Kreuzungspunkt in erster Näherung durch eine Ebene (z.B. in Raum und Zeit) angenähert werden. Die Ebene kann durch Berechnen der Ableitung der Änderung in den Weltpunkten, w, bezogen auf die Zeit, t, an dem Kreuzungspunkt, p, und Nehmen des Kreuzprodukts mit einem Richtungsvektor für einen Tangentialvektor zu der glatten oder polygonalen Form an demselben Punkt (welcher für ein Polygon durch Transformieren seiner Endpunkte mittels y(t), R(t) und Subtrahieren derselben gefunden werden kann) gefunden werden. Es sei das Vorhandensein solcher Vektoren auf der lokalen Ebene beider Oberflächen, bezogen auf beide Akteure, angenommen. Ferner sein angenommen, dass die Vektoren auf Einheitsgröße normiert wurden, so dass das Ergebnis A⊥, K⊥ ist. Dann kann beobachtet werden, dass die lokale Bewegung der A-Oberfläche durch die Ableitung der Änderung in den Weltpunkten, w, in Bezug auf die Änderung des Zustands des Akteurs, χA, gemessen wird. Eine Korrektur der A-Oberfläche, um wieder zu der B-Oberfläche zurückzukehren, kann dann ein Vielfaches, q, von ( 1 A A T ) B .
    Figure DE112019000065T5_0034
    sein. Die Summe der beiden kann in dem nachstehenden Vektor von Gleichung (30) resultieren: p x A = ( 1 A A T ) B q + w x A
    Figure DE112019000065T5_0035
  • Die Verwendung der folgenden Beschränkung der nachstehenden Gleichung (31): B T w x A = 0
    Figure DE112019000065T5_0036
    kann das Lösen für q, wie in nachstehender Gleichung (32), ermöglichen: q = B T w x A ι ( A T B ) 2
    Figure DE112019000065T5_0037
    welches dann: p x A = w x A + ( ( A T B ) A B ) 1 ( A T A ) R ( B T w x A )
    Figure DE112019000065T5_0038
    ergeben kann.
  • In einem Beispiel, in dem der früheste Kreuzungspunkt, p, zwischen einer von einem Scheitelpunkt der A-Oberfläche ausgefegten Kurve und einem glatten Teil der B-Oberfläche liegt, kann ein Tangentenvektor A⊥ (dargestellt in nachstehender Gleichung (34)) an die Kurve und ein Normalvektor zu der Raum-Zeit-B-Oberfläche angenommen werden. A T = d w A d t / | d w A d t |
    Figure DE112019000065T5_0039
  • Es kann darüber hinaus davon ausgegangen werden, dass die Vektoren auf Einheitsgröße normiert sind. Eine ähnliche Berechnung kann in Bezug auf den hierin beschriebenen glatt-glatten Fall durchgeführt werden. Die lokale Bewegung der A-Kurve kann durch die Ableitung der Änderung der Weltpunkte, w, in Bezug auf die Änderung in dem Zustand des Akteurs, χA, gemessen werden. Die Korrektur entlang der A-Kurve, um zurück zu der B-Oberfläche zu gelangen, kann dann ein Vielfaches, q, von A⊥ sein. Die Summe der beiden kann der Vektor sein, wie in nachstehender Gleichung (35) dargestellt: p x A = A T q + w x A
    Figure DE112019000065T5_0040
  • Die Verwendung der folgenden Beschränkung der nachstehenden Gleichung (36): B T p x A = 0
    Figure DE112019000065T5_0041
    kann das Lösen für q, wie in nachstehender Gleichung (37), ermöglichen: q = B T w x A A T T B
    Figure DE112019000065T5_0042
    welches dann: p x A = w x A A T A B ( B T w x A )
    Figure DE112019000065T5_0043
    ergeben kann.
  • In einem Beispiel, in dem der früheste Kreuzungspunkt, p, zwischen einem glatten Teil der A-Oberfläche und der von einem Vertex- bzw. Scheitelpunkt der B-Oberfläche ausgefegten Kurve liegt, kann angenommen werden, dass es einen Normalvektor zu der Raum-Zeit-A-Oberfläche und einen Tangentenvektor, B⊥, (dargestellt in nachstehender Gleichung (39)), zu der Kurve gibt. B T = d w B d t / | d w B d t |
    Figure DE112019000065T5_0044
  • Es kann darüber hinaus davon ausgegangen werden, dass die Vektoren auf Einheitsgröße normiert sind. Die lokale Bewegung der A-Oberfläche kann durch die Ableitung der Änderung der Weltpunkte, w, in Bezug auf die Änderung in dem Zustand des Akteurs, χA, gemessen werden. Die Bewegung des Kreuzungspunkts, p, entlang der B-Kurve kann durch die unten folgende Gleichung (40) dargestellt werden: p x A = B T q
    Figure DE112019000065T5_0045
    welches ein Vielfaches, q, von B⊥ sein kann. Die Subtraktion dieser beiden kann in der Ebene der A-Oberfläche und damit senkrecht zu A⊥ erfolgen, welches zu den unten folgenden Gleichungen (41) und (42) führen kann: A T ( B T q w x A ) = 0
    Figure DE112019000065T5_0046
    q A T w x A A T B T
    Figure DE112019000065T5_0047
    welches dann: p x A = B T A T B T ( A T w x A )
    Figure DE112019000065T5_0048
    ergeben kann.
  • In einigen Beispielen kann der Steuerungsanalysator 142 zur Bestimmung der verschiedenen zu verwendenden Steuerungsoptionen (z.B. der Steuerungsoptionen, die zur Verringerung des Sicherheitspotenzials beitragen) Steuerungsoptionen (oder Steuerungsaktionen) analysieren, um die zu implementierende Steuerungsoption zu bestimmen. Beispielsweise kann/können die Steuerkomponente(n) 126 eine oder mehrere Steuerung(en) an die Hindernisvermeidungskomponente(n) 128 ausgeben, und kann der Sicherheitspotenzialrechner 140 bestimmen, dass die Steuerung(en) nicht in die Steuerungsrichtlinie fällt/fallen (z.B. tragen die Steuerung(en) nicht zum Sicherheitspotenzial durch Verringern des Sicherheitspotenzials in Bezug auf die Sicherheitsprozedur bei). In solchen Beispielen kann der Steuerungsanalysator 142 die Steuerung(en) von der/den Steuerungskomponente(n) 126 analysieren und (eine) andere Steuerung(en) bestimmen, die innerhalb einer oder mehreren zulässigen Steuerung(en) liegt/liegen (z.B. Steuerungen, die das Sicherheitspotenzial in Bezug auf die Sicherheitsprozedur verringern oder zumindest keine Nettoerhöhung des Sicherheitspotenzials sind). In einigen Beispielen kann der Steuerungsanalysator 142 die Steuerung(en) auswählen, die den Steuerungen aus der/den Steuerungskomponente(n) 126 (z.B. den gewünschten Steuerungen), die auch die Anforderung erfüllen, dass die Steuerung(en) zur Verringerung oder zum Gleichgewicht des Sicherheitspotenzials beitragen, am nächsten liegen.
  • Um dies zu erreichen, kann der Steuerungsanalysator 142 eine Störungsanalyse durchführen. Die Störungsanalyse kann den aktuellen Zustand der Akteure verwenden und verschiedene Steuerungen im Hinblick auf den aktuellen Zustand berücksichtigen, und wie die verschiedenen Steuerungen zur Änderung des Sicherheitspotenzials beitragen können. Zum Beispiel kann, in Anbetracht der Beschränkungen 506, wie in 5A-5C dargestellt, der Steuerungsanalysator Steuerungen bestimmen, die für das Fahrzeug 102 (und/oder die Objekte 106) geeignet sind, die das Sicherheitspotenzial des Fahrzeugs 102 (und/oder der Objekte 106) verringern. Beispielsweise, und unter Bezugnahme auf 6A, kann das Fahrzeug 102 eine Störungsanalyse durchführen, wenn bestimmt wird, dass die objektbelegte(n) Bewegungsbahn(en) 604A die fahrzeugbelegte(n) Bewegungsbahn(en) 602B schneidet/schneiden oder überlappt/überlappen (z.B. entsprechend der Sicherheitsprozedur). Das Fahrzeug 102 kann eine beliebige Anzahl möglicher Steuerungen analysieren, die sich von den Steuerungen für die Sicherheitsprozedur unterscheiden können. Obwohl beispielsweise hierin nur eine begrenzte Anzahl von Steuerungen und daraus resultierende fahrzeugbelegte Bewegungsbahnen beschrieben und/oder dargestellt werden, soll dies beschränkend sein. Beispielsweise kann die Störungsanalyse bei der Bestimmung gewünschter und/oder akzeptabler Steuerungen eine beliebige Anzahl möglicher Steuerungen und daraus resultierende fahrzeugbelegte Bewegungsbahnen berücksichtigen.
  • Als ein Beispiel kann das Fahrzeug 102 die Steuerungen analysieren, die einer oder mehreren fahrzeugbelegten Bewegungsbahn(en) 602A zugeordnet sind. Die fahrzeugbelegte(n) Bewegungsbahn(en) 602A kann/können zugelassen sein, weil sie eine Drehung nach links (z.B. weg von dem Objekt 106) und eine Verlangsamung (wie z.B. durch die kürzere Länge der fahrzeugbelegten Bewegungsbahn(en) 602A im Verhältnis zu der/den fahrzeugbelegten Bewegungsbahn(en) 602B angegeben) beinhaltet/beinhalten. Das Fahrzeug 102 kann ferner die mit der/den fahrzeugbelegten Bewegungsbahn(en) 602C verbundenen Steuerungen analysieren. Die fahrzeugbelegte(n) Bewegungsbahn(en) 602C kann/können nicht zugelassen sein, weil sie eine Drehung nach rechts (z.B. zu dem Objekt 106 hin) beinhaltet/beinhalten, die das Sicherheitspotenzial in Bezug auf die Sicherheitsprozedur erhöhen kann.
  • Als weiteres Beispiel, und unter Bezugnahme auf 6B, kann das Fahrzeug 102 eine Störungsanalyse durchführen, wenn bestimmt wird, dass die objektbelegte(n) Bewegungsbahn(en) 604B die fahrzeugbelegte(n) Bewegungsbahn(en) 602E schneidet/schneiden oder überlappt/überlappen (z.B. entsprechend der Sicherheitsprozedur). Das Fahrzeug 102 kann eine beliebige Anzahl möglicher Steuerungen analysieren, die sich von den Steuerungen für die Sicherheitsprozedur unterscheiden können. Beispielsweise kann das Fahrzeug 102 die Steuerungen analysieren, die einer oder mehreren fahrzeugbelegten Bewegungsbahnen 602D zugeordnet sind. Die fahrzeugbelegte(n) Bewegungsbahn(en) 602D kann/können zugelassen sein, weil sie eine Drehung nach links (z.B. weg von dem Objekt 106) und eine Verlangsamung (wie z.B. durch die kürzere Länge der fahrzeugbelegten Bewegungsbahn(en) 602D im Verhältnis zu der/den fahrzeugbelegten Bewegungsbahn(en) 602E) beinhaltet/beinhalten. Das Fahrzeug 102 kann ferner die mit der/den fahrzeugbelegten Bewegungsbahn(en) 602F verbundenen Steuerungen analysieren. Die fahrzeugbelegte(n) Bewegungsbahn(en) 602F können möglicherweise nicht zugelassen sein, da sie eine Drehung nach rechts (z.B. zu dem Objekt 106 hin) beinhaltet/beinhalten, die das Sicherheitspotenzial in Bezug auf die Sicherheitsprozedur erhöhen kann.
  • In einigen Beispielen können, um die Sicherheitspotenziale aufzubauen, Varianten von nichtnegativen Schnittmengen zwischen den Sicherheitsprozeduren zweier Akteure (z.B. Akteur A und Akteur B) herangezogen werden. Da beide Sicherheitsprozeduren angewendet werden, können die Bewegungsbahnen der beiden Akteure umgesetzt werden, was bedeutet, dass eine Schnittmenge auf den gleichen beanspruchten Sätzen, oder auf was auch immer von ihnen übrig ist, funktioniert, während die Akteure durch die beanspruchten Sätze fortschreiten. Da das, was von den beanspruchten Sätzen übrig ist, weniger wird, können typische Schnittmengen nicht größer werden. Wenn also das Autonomfahrzeugsystem 100 in der Lage ist, glatte Messungen des Kreuzungspunkts zu erhalten, kann das Autonomfahrzeugsystem 100 ein Sicherheitspotenzial berechnen.
  • In einigen Beispielen kann das Autonomfahrzeugsystem 100 Sätze mit einer glatten Funktion abdecken und Funktionen glätten, die nicht unendlich differenzierbar sind. Beispielsweise können Abdeckfunktionen mit Stoßfunktionen erzeugt werden, die mit kompakter Unterstützung nach einer Vielzahl von Techniken unendlich differenzierbar sind. In einem solchen Beispiel kann eine Funktion geglättet werden, indem sie mit einer solchen Stoßfunktion nach irgendeiner der verschiedenen Techniken gefaltet wird, und kann die Funktion kann dann als ein Mollifier bezeichnet werden.
  • In Beispielen kann die folgende Beziehung zutreffend sein, wonach es für jedes ∈ > 0 und jede Kugel in ℝN' für jedes N eine unendlich differenzierbare skalare Funktion geben kann, die innerhalb der Kugel streng positiv ist, Null an der Grenze der Kugel ist und Null außerhalb der Kugel ist. Beispielsweise kann die nachstehende Gleichung (44) eine Funktion, h(x), für eine bei p zentrierte Kugel repräsentieren: h ( x ) = { e e 1 | ( x p ) / ε | 2 , | ( x p ) / ε | < 1 0, andernfalls
    Figure DE112019000065T5_0049
    worin Gleichung (44) eine Verschiebung und eine Skalierung der Funktion, h(x), der nachstehenden Gleichung (45): h ( x ) = { e e 2 | x | 2 , | x | < 1 0, andernfalls
    Figure DE112019000065T5_0050
    sein kann, welches eine bekannte Stoßfunktion ist. Die Funktion kann verschoben und sich auf einen beliebigen Punkt im Raum zentrierend skaliert werden, und einen beliebigen Radius haben.
  • In einigen Beispielen kann auch die folgende Beziehung zutreffend sein, wonach es für jedes ∈ > 0 und jeden Satz in ℝN' für jedes N eine unendlich differenzierbare skalare Funktion geben kann,, die den Satz (z.B. den beanspruchten Satz) abdeckt und für jeden Punkt, der von allen Punkten in dem Satz weiter weg ist als ∈, zu Null bewertet wird. Für einen begrenzten Satz kann es einfach sein, eine solche Funktion unter Verwendung von Stoßfunktionen eines Durchmessers kleiner als ∈ zu bilden. Beispielsweise kann zuerst eine Begrenzungskugel für den Satz bestimmt werden, und kann dann eine endliche Abdeckung dieser Begrenzungskugel durch Stoßfunktionen mit einem festen Durchmesser kleiner als ∈ bestimmt werden. Sodann kann die Addition jeder Stoßfunktion erfolgen, die zumindest einen Punkt in dem Satz beinhaltet. Diese Funktion kann den Satz klar abdecken und auch unendlich differenzierbar sein, da es sich bei der Funktion um eine endliche Summe unendlich differenzierbarer Funktionen handelt. Die Funktion kann auch Null sein, da andernfalls eine Kugelfunktion sowohl einen Punkt in dem Satz als auch einen Punkt ∈ oder weiter entfernt von dem Satz beinhalten würde, welches ein Widerspruch wäre. Für einen unbegrenzten Satz kann die Definition der Funktion um eine expandierende Folge von Kugeln erweitert werden, in der neue Stoßfunktionen hinzugefügt werden können, um den zusätzlichen Satz zwischen einer Begrenzungskugel und der nächsten abzudecken. Dies kann eine Folge von Stoßfunktionen mit sich bringen, und die Funktion kann als die (nun unendliche Folge) Summe von Stoßfunktionen definiert werden. Die Funktion kann zu jedem beliebigen Zeitpunkt noch gut definiert und unendlich differenzierbar sein, da es für eine ∈-Nachbarschaft eines Punktes nur einen endlichen Satz von Stoßfunktionen aus der sie beeinflussenden Folge geben kann. Darüber hinaus kann die Funktion auch jeden beliebigen Punkt in dem Satz abdecken und als ein Ergebnis der Analyse für einen beliebigen Punkt, der in den finiten Fall zurückfällt, ∈ entfernt von dem Satz zu Null bewerten.
  • In einigen Beispielen kann das Zeitintervall zwischen dem ersten Mal, wenn es einen Kreuzungspunkt zwischen nur leicht ausgedünnten belegten Sätzen gibt (z.B. in Zeitscheiben des beanspruchten Satzes), und dem ersten Mal, wenn beide Akteure vollständig angehalten sind, welches Null sein kann, wenn es keine Kreuzung gibt, verwendet werden. Diese Funktion kann begrenzt, nicht negativ und streng positiv auf dem unsicheren Satz sein. Die Funktion kann auch konstant Null bleiben, wenn es keinen Kreuzungspunkt gibt, kann bis zum Kreuzungspunkt, wenn es einen gibt, konstant bleiben, und kann nach dem Kreuzungspunkt, wenn es einen gibt, abnehmen. Daher kann die Glätte der Funktion das Letzte sein, was zu gewährleisten ist, welches bereits der Fall sein kann, wenn es einen Kreuzungspunkt gibt, und wenn es keinen gibt. Im Übergang gerade dann, wenn der Kreuzungspunkt erscheint, kann dies unter Verwendung einer monotonen Funktion des Zeitintervalls gehandhabt werden, das den Raum nahe Null abflacht, wie dies eine Stoßfunktion an ihren Grenzen tut.
  • In anderen Beispielen kann das Punktprodukt zwischen zwei glatten Funktionen (z.B., das gemäß den Stoßfunktionen und/oder Mollifiern berechnet werden kann, wie hierin beschrieben wurde) verwendet werden, die die beanspruchten Sätze der Akteure abdecken. Wenn beispielsweise die anfänglichen Abdeckfunktionen auf den beanspruchten Sätzen nahezu konstant sind, kann dies in einer geglätteten Version des Volumens der Überlappung zwischen den Abdeckfunktionen resultieren. Glatte Abdeckungsschemata (z.B. hA(CA(xA )) hB(CB(xB ))) für jeden der beanspruchten Sätze können dann bestimmt werden. Die Ausgabe bzw. die Ergebnisse (z.B. das Sicherheitspotenzial in Bezug auf die beiden Akteure) kann/können dann gemäß der nachstehenden Gleichung (46) ausgedrückt werden: ρ A B ( x A , x B ) = Ω A × Ω R × T h A ( C A ( x A ) ) h B ( C B ( x B ) ) d x A d x B d t
    Figure DE112019000065T5_0051
    wobei davon ausgegangen werden kann, dass die Integration ausgehend von dem aktuellen Zeitpunkt bis zu dem ersten Mal, dass beide Akteure vollständig angehalten werden, stattfindet. Die resultierende Funktion kann folglich glatt, begrenzt, nichtnegativ und streng positiv auf dem unsicheren Satz sein.
  • Beispielsweise kann, und unter Bezugnahme auf 7A, das Sicherheitspotenzial glatt gemacht werden, um sicherzustellen, dass das Sicherheitspotenzial Kreuzungspunkte ablehnt, bevor die Kreuzungspunkte auftreten. Dies kann unter Verwendung einer glatten, aber engen Stoßfunktion (z.B. unter Verwendung der hierin beschriebenen Techniken) erreicht werden, die (wie durch einen Stoß bzw. Bump dargestellt) ansteigen kann, bevor es zu einer Überlappung zwischen zwei Bewegungsbahnen kommt. Beispielsweise kann das Fahrzeug 102 eine oder mehrere fahrzeugbelegte Bewegungsbahn(en) 732 aufweisen, die eine Projektion des beanspruchten Satzes (z.B. des Sicherheitskraftfelds) des Fahrzeugs 102 in Raum und Zeit repräsentiert. Das Objekt 106 kann eine oder mehrere objektbelegte Bewegungsbahn(en) 734 aufweisen, die eine Projektion des beanspruchten Satzes (z.B. des Sicherheitskraftfelds) des Objekts 106 in Raum und Zeit darstellt. Das Fahrzeug 102 und das Objekt 106 können sich einander nähern (z.B. ähnlich zu dem von 3D, wie hierin beschrieben wurde). Eine oder mehrere Stoßfunktion(en) kann/können für das Fahrzeug 102 und/oder für das Objekt 106 verwendet werden, um einen erhöhten Bereich 736 (oder Bump) für die fahrzeugbelegte(n) Bewegungsbahn(en) des Fahrzeugs 102 und einen erhöhten Bereich 738 (oder Bump) für die objektbelegte(n) Bewegungsbahn(en) des Objekts 106 zu erzeugen. Infolgedessen können die erhöhten Bereiche 736 und 738 dazu verwendet werden, Kreuzungspunkte vor dem Auftreten von Kreuzungspunkten zurückzuweisen (z.B. weil die erhöhten Bereiche 736 und 738 als ein Puffer für die Bewegungsbahnen 732 und 734 dienen können). Der Überlappungsbereich 740 in 7A kann das Sicherheitspotenzial in dem Szenario von 7A repräsentieren (z.B. wo sich das Fahrzeug 102 und das Objekt 106 einander nähern und sich ihre Bewegungsbahnen 732 und 734 überlappen). In einer solchen Situation können, sobald sich die erhöhten Bereiche 736 und 738 zu überlappen beginnen, welches vor der Überlappung der Bewegungsbahnen 732 und 734 der Fall sein kann, die Sicherheitsprozedur und/oder eine oder mehrere andere Steuerungsoption(en), wie hierin näher beschrieben, ausgeführt werden. Infolgedessen können in einigen Beispielen die Stoßfunktionen dazu verwendet werden, Kreuzungspunkte der Bewegungsbahnen 732 und 734 noch vor dem Auftreten der Kreuzungspunkte zu verwerfen (z.B. abzuwehren).
  • Betrachtet man, wie sich verschiedene Steuerungen auf die Änderung des Sicherheitspotenzials auswirken (z.B. über die Zustände der Akteure), kann das Sicherheitspotenzial für jede unterschiedliche Steuerungsoption bestimmt werden. Die Kettenregel, wie sie hierin beschrieben wurde, veranschaulicht, wie sich das Sicherheitspotenzial nicht erhöhen kann, solange sowohl das Fahrzeug 102 als auch der/die andere(n) Akteur(e) immer so gut sind wie ihre jeweiligen Sicherheitsprozeduren bei dem Verringern des Sicherheitspotenzials. Für ein Fahrzeug, bei dem die Steuerungen eine Änderung zur Seite (z.B. ein Lenken nach links oder rechts) oder eine Längsänderung (z.B. Beschleunigung oder Verzögerung) beinhalten, kann ein Steuerungsbild dazu verwendet werden, akzeptable Steuerungsoptionen als Ergebnis einer sicheren Fahrrichtlinie (z.B. eine, bei der das Sicherheitspotenzial in Bezug auf das Sicherheitspotenzial der Sicherheitsprozedur niemals erhöht wird) zu visualisieren.
  • Beispielsweise, und unter Bezugnahme auf 7B, kann ein Steuerungsbild 706 (oder Steuerungsbeschränkungsbild 706) repräsentativ für akzeptable Steuerungsoptionen 708, inakzeptable Steuerungsoptionen 710 und/oder Sicherheitsprozedur-Steuerungsoptionen 712 sein, die der Sicherheitsprozedur (die in den akzeptablen Steuerungsoptionen 708 enthalten sein kann, wie hierin beschrieben wurde) zugeordnet sind. Das Steuerungsbild 706 kann ein Binärbild derart sein, dass Pixel, die den akzeptablen Steuerungsoptionen 708 zugeordnet sind, durch eine erste Farbe repräsentiert sind, Pixel, die den inakzeptablen Steuerungsoptionen 710 zugeordnet sind, durch eine zweite Farbe repräsentiert sind, und in einigen Beispielen Pixel, die den Sicherheitsprozedur-Steuerungsoptionen 712 zugeordnet sind, als eine dritte Farbe repräsentiert sein können (obwohl in anderen Beispielen die Sicherheitsprozedur-Steuerungsoptionen 712 als die akzeptablen Steuerungsoptionen 708 in der ersten Farbe repräsentiert sein können). Die x-Achse des Steuerungsbilds 706 kann einer seitlichen Steuerung des Fahrzeugs (z.B. nach links drehen, geradeaus fahren oder nach rechts drehen) entsprechen und durch einen Lenkwinkel dargestellt werden. Die y-Achse des Steuerungsbilds 706 kann der Längssteuerung entsprechen (z.B. Bremsen, Verzögern oder Beschleunigen).
  • In einigen Beispielen, wie beispielsweise dann, wenn ein einzelnes Profil (z.B. ein Bremsprofil, ein Lenkprofil usw., wie hierin beschrieben wurde) die Sicherheitsprozedur und damit den beanspruchten Satz definiert, können die Sicherheitsprozedur-Steuerungsoptionen 712 jederzeit durch ein einzelnes Pixel repräsentiert sein. In anderen Beispielen jedoch, wie beispielsweise dem in 7B dargestellten Beispiel, in dem mehrere Profile (z.B. Bremsprofile, Lenkprofile usw., wie hierin beschrieben wurde) die Sicherheitsprozedur und damit den beanspruchten Satz definieren, können die Sicherheitsprozedur-Steuerungsoptionen 712 zu jedem Zeitpunkt durch eine beliebige Anzahl von Pixeln repräsentiert sein.
  • Das Fahrzeug 102 und das Objekt 106 in 7B können zu dem Fahrzeug 102 und dem Objekt 106 in 6B ähnlich sein (z.B. kann das Objekt 106 derart in das Fahrzeug 102 übergehen, dass sich zumindest ein Teil ihrer jeweiligen Bewegungsbahnen überlappt). Das Steuerungsbild 706 von 7B kann für die Steuerungsoptionen für das Fahrzeug 102 repräsentativ sein, wenn das Objekt 106 in das Fahrzeug 102 hineinlenkt oder in dieses übergeht, so dass sich zumindest eine der fahrzeugbelegten Bewegungsbahnen 702 des Fahrzeugs 102 mit zumindest einer der objektbelegten Bewegungsbahnen 704 des Objekts 106 schneidet (z.B. wie in 6B dargestellt). Die fahrzeugbelegten Bewegungsbahnen 702A, 702B und 702C können das Ergebnis verschiedener, durch eine Störungsanalyse bestimmter Steuerungen sein, und die akzeptablen Steuerungsoptionen 708, die inakzeptablen Steuerungsoptionen 710 und die Sicherheitsprozedur-Steuerungsoptionen 712 des Steuerungsbilds 706 können basierend auf der Störungsanalyse aktualisiert werden. Die objektbelegten Bewegungsbahnen 704A, 704B und 704C können das Ergebnis einer anderen Steuerung sein, die durch eine Störungsanalyse durch das Objekt 106 bestimmt wird, und das Objekt 106 kann, in einigen Beispielen, sein eigenes Steuerungsbild erzeugen und/oder verwenden.
  • In jedem beliebigen Beispiel können die akzeptablen Steuerungsoptionen 708 Steuerungsoptionen sein, die ein gleiches oder geringeres Sicherheitspotenzial aufweisen als die Sicherheitsprozedur-Steuerungsoptionen 712. Beispielsweise kann das Fahrzeug 102 die Sicherheitsprozedur-Steuerungsoptionen 712 implementieren und/oder Steuerungsoptionen (z.B. die akzeptablen Steuerungsoptionen 708) implementieren, die ein gleiches oder geringeres Sicherheitspotenzial aufweisen als die Sicherheitsprozedur-Steuerungsoptionen 712. Wenn beispielsweise das der Sicherheitsprozedur zugeordnete Sicherheitspotenzial Null ist (z.B. anzeigend, dass keine Kollision stattfindet), dann kann jede der akzeptablen Steuerungsoptionen 708 und/oder der Sicherheitsprozedur-Steuerungsoptionen 712 ein zugehöriges Sicherheitspotenzial von Null aufweisen. Als weiteres Beispiel kann dann, wenn das der Sicherheitsprozedur zugeordnete Sicherheitspotenzial größer als Null ist (z.B. anzeigend, dass eine Kollision auftreten kann), jede der akzeptablen Steuerungsoptionen 708 und/oder der Sicherheitsprozedur-Steuerungsoptionen 712 ein zugehöriges Sicherheitspotenzial aufweisen, das gleich oder kleiner als das der Sicherheitsprozedur zugeordnete Sicherheitspotenzial ist (z.B. können akzeptable Steuerungsoptionen 708 Steuerungsoptionen beinhalten, bei denen das Sicherheitspotenzial größer als Null ist, wie beispielsweise bei Unvermeidbarkeit).
  • Wie in 7B dargestellt ist, kann jedoch auch dann, wenn ein Sicherheitspotenzial größer als Null ist (z.B. anzeigend, dass eine Kollision auftreten kann), eine Störungsanalyse (z.B. unter Verwendung der Kettenregel) von dem Fahrzeug 102 dazu verwendet werden, die akzeptablen Steuerungsoptionen 708 zu bestimmen. Wie hierin beschrieben wurde, kann die Kettenregel die Steuerung des Fahrzeugs 102 mit der Änderung des Zustands des Fahrzeugs 102 im Laufe der Zeit verknüpfen, und kann wiederum die Änderung des Zustands des Fahrzeugs 102 mit der Änderung des Sicherheitspotenzials verknüpft werden.
  • In einigen Beispielen, wie z.B. wenn eine gewünschte Steuerung für das Fahrzeug 102 (z.B. von der(n) Steuerkomponente(n) 126 des Fahrzeugs 102) zu einem Sicherheitspotenzial von mehr als Null führen kann, kann eine Störungsanalyse durchgeführt werden, um das Steuerungsbild 706 zu aktualisieren und eine akzeptable Steuerungsoption 718 (z.B. eine Steuerungsoption, bei der das Sicherheitspotenzial Null ist) zu bestimmen, die so nah wie möglich an der gewünschten Steuerungsoption liegt (z.B. innerhalb vernünftiger Grenzen, wie z.B. die Berücksichtigung einer Sicherheitsmarge). Unter der Annahme beispielsweise, dass die gewünschte Steuerungsoption, in Bezug auf 7B, nach rechts drehen und verlangsamen war (z.B. wie durch die inakzeptable Steuerungsoption 710 an Punkt oder Pixel 714 des Steuerungsbilds 706 dargestellt), kann die Steuerungsoption, die basierend auf der Störungsanalyse und/oder basierend auf einer oder mehreren Regeln zum Auffinden akzeptabler Steuerungsoptionen 708, die innerhalb einer Schwellenbeziehung (z.B. Nähe auf dem Steuerungsbild 706) zu den gewünschten Steuerungsoptionen liegen, darin bestehen, geradeaus zu bleiben und zu verlangsamen (z.B. wie durch die akzeptable Steuerungsoption 708 am Punkt oder Pixel 716 des Steuerungsbilds 706 dargestellt).
  • In einigen Beispielen kann die Schwellenbeziehung die zu der gewünschten Steuerungsoption tatsächlich nächstgelegene akzeptable Steuerungsoption 708 sein (z.B. wenn der Punkt oder Pixel 716 auf oder fast auf der Grenze 718 zwischen den akzeptablen Steuerungsoptionen 708 und den inakzeptablen Steuerungsoptionen 710 liegen würde, wie beispielsweise der Punkt oder Pixel 720). In anderen Beispielen, wie beispielsweise in 7B veranschaulicht, kann die Schwellenbeziehung eine zu der gewünschten Steuerungsoption am nächsten liegende akzeptable Steuerungsoption 708 sein, wobei ein oder mehrere zusätzliche Kriterien berücksichtigt werden. Beispielsweise kann eine Sicherheitsreserve derart verwendet werden, dass der Punkt oder Pixel, der die akzeptable Steuerungsoption 708 repräsentiert, die der gewünschten Steuerungsoption am nächsten liegt, zumindest einen zusätzlichen Abstand innerhalb des Steuerungsbilds 706 aufweist (z.B. kann dies in Bezug auf 7B eine zusätzliche Drehung nach links oder eine zusätzliche Bremsung beinhalten). Als weiteres Beispiel können die Sicherheitsprozedur-Steuerungsoptionen 712 berücksichtigt werden, so dass die gewählte akzeptable Steuerungsoption 708 in Richtung der Sicherungsprozedur-Steuerungsoptionen 712 gewichtet werden kann (z.B. wie durch den Punkt oder Pixel 722 von 7B veranschaulicht).
  • In jedem beliebigen Beispiel und wie hierin beschrieben, kann von jedem der Akteure (z.B. dem Fahrzeug 102 und dem Objekt 106 von 7B) erwartet werden, dass er zur Verringerung des Sicherheitspotenzials beiträgt, wenn das Sicherheitspotenzial größer als Null ist (z.B. anzeigend, dass eine Kollision wahrscheinlich und/oder unmittelbar bevorstehend sein kann). Innerhalb dieses Prinzips ist die Idee, dass jeder Akteur zumindest so gut sein sollte wie sein jeweiliges Sicherheitsprozedur. Eine Kostenfunktion 724 von 7B veranschaulicht den Beitrag des Fahrzeugs 102 und des Objekts 106 zur Verringerung des Sicherheitspotenzials 726 (z.B. ein Herunterführen des Sicherheitspotenzials, wie durch einen Pfeil 728 veranschaulicht) in Bezug auf die Kostenfunktion 724. Der Pfeil 728 kann den Beitrag des Fahrzeugs 102 zur Verringerung des Sicherheitspotenzials 726 darstellen, wenn das Fahrzeug 102 Steuerungen (z.B. die akzeptablen Steuerungsoptionen 708) implementiert, zusätzlich zu dem Beitrag des Objekts 106 zur Verringerung des Sicherheitspotenzials 726, wenn das Objekt 106 entsprechende Steuerungen implementiert (nicht dargestellt), die vorzugsweise auch akzeptable Steuerungsoptionen sind (obwohl andere Akteure außerhalb der Steuerung des Fahrzeugs 102 liegen und daher unvorhersehbar sein können).
  • Wie hierin beschrieben wurde, kann eine Quantifizierung, ob und wie viel jeder Akteur dazu beiträgt, das Sicherheitspotenzial zu erhöhen oder zu senken, in Bezug aufeinander bestimmt werden (z.B. zur Fehlererkennung). Infolgedessen kann dann, wenn eine Kollision auftritt, ein Fehler einem oder mehreren Akteuren zugeordnet werden. In der Regel kann bestimmt werden, dass sich ein Akteur gegenüber einem anderen Akteur schlecht verhalten hat, wenn der Akteur dazu beiträgt, das Sicherheitspotenzial gegenüber einem anderen Akteur zu erhöhen. Damit zwei Akteure kollidieren können, muss zumindest einer der Akteure dazu beigetragen haben, das Sicherheitspotenzial auf über Null zu erhöhen. Dies kann klar visualisiert werden, da sich die Bewegungsbahnen der Akteure (die z.B. die beanspruchten Sätze der Akteure repräsentieren) zumindest teilweise überschneiden und so einen unsicheren Satz erzeugen können. Ein Fehlerintervall, wie es hierin verwendet wird, kann das ununterbrochene Zeitintervall vor einer Kollision zwischen Akteur A und Akteur B sein, wobei das Sicherheitspotenzial, ρAB, streng positiv ist. Unter Verwendung des Fehlerintervalls kann der Fehler z.B. dem Akteur A zugeordnet werden, wenn der Akteur A zu jeder Zeit in dem Fehlerintervall in einem unvernünftigen Zustand (z.B. xA ∈ φ) befand. Der Akteur A kann auch die Schuld tragen, wenn sich der Akteur A in Bezug auf den Akteur B zu jeder Zeit in dem Fehlerintervall schlecht verhalten hat, wenn sich der Akteur B in einem vernünftigen Zustand befand. Ein Akteur, der eine sichere Steuerungsrichtlinie, wie hierin beschrieben, durchführt, kann an einer Kollision nicht schuld sein, weil sich ein Akteur mit einer sicheren Steuerungsrichtlinie nicht in einem unvernünftigen Zustand befinden kann, solange sie innerhalb der sicheren Steuerungsrichtlinie arbeiten.
  • Eine weitere Erwägung des derzeitigen Systems 100 besteht in Nachgiebigkeit und Vorfahrt. Nachgiebigkeit und Vorfahrt können durch eine andere Schicht gehandhabt werden, die von der (z.B. obigen) Hindernisvermeidungsschicht getrennt ist. Das Autonomfahrzeugsystem 100 kann unter der Glauben betrieben werden, dass Vorfahrt gewährt und nicht genommen wird. Wenn das Sicherheitskraftfeld (z.B. die Bewegungsbahnen, die die beanspruchten Sätze von zwei oder mehr Akteuren repräsentieren) anzeigt, dass eine Beschränkung aufgrund grundlegender Hindernisvermeidung vorliegt, muss jeder der Akteure ohne Ausnahmen oder Einschränkungen darauf reagieren. Falls ein anderer Akteur keine Vorfahrt gewährt, kann das Fahrzeug 102 nicht versuchen, sich die Vorfahrtsrecht zu nehmen.
  • Dies ergibt sich sowohl aus dem gesunden Menschenverstand als auch aus dem Wunsch nach einer Trennung in Sicherheitsebenen. Falls man zum Beispiel in Bezug auf den gesunden Menschenverstand dabei ist, auf jemanden aufzuprallen, der bereits offensichtlich nicht nachgegeben hat, würde man lieber sehr hart bremsen, um Schaden zu minimieren, als auf seinem Recht auf Vorrang zu bestehen. Als ein weiteres Beispiel in Bezug auf die Trennung von Sicherheitsschichten kann es vorzuziehen sein, in einer kritischen Situation keine grundlegende Hindernisvermeidungssicherheit zu haben, die basierend auf komplexen Entscheidungen in Bezug auf Dinge wie Vorrang, Verkehrsregeln, das Vorhandensein einer durchgezogenen Trennlinie und ihrer Implikation in unterschiedlichen Gerichtsbarkeiten, ein Verkehrszeichen mit „Wendeverbot an Donnerstagen zwischen 16 und 18 Uhr“ und/oder sogar dem Zustand einer Ampel davon bedroht ist, invalidiert zu werden. Ein Kollisionsrisiko ist ein Kollisionsrisiko, egal wer Recht hat, so dass es daher wünschenswert sein kann, ein separat validiertes System zur Handhabung grundlegender Hindernisvermeidung zu haben. Diese Denkweise kann dem Wunsch ähnlich sein, kein Notbremssystem zu haben, das von Verkehrszeichen, Ampelwahrnehmung und/oder einer Karte abhängt.
  • Ein Beispielszenario kann sein, wenn eine Kreuzung so überlastet ist, dass die Fahrzeuge oder andere Objekte, die in die Kreuzung eingefahren sind, während die Ampel grün war, in der Kreuzung stecken bleiben können, so dass sie auf dem Weg des kreuzenden Verkehrs bleiben, der jetzt ein grünes Licht hat. Auch wenn dies etwas sein mag, das erwartet hätte werden sollen, ist ein Vermeiden dieses Szenarios nicht immer einfach oder in der Praxis durchführbar. In solchen Beispielen dürfen die Fahrzeuge oder andere Objekte nicht direkt an die in der Kreuzung festsitzenden Fahrzeugen heranfahren. Diese Art von Situation kann auch aus vielen anderen Gründen entstehen, wie z.B. aufgrund eines Pannenfahrzeugs, einer vorangehenden Kollision, einer Baustelle oder eines betrunkenen Fahrers.
  • Das Sicherheitskraftfeld allein darf die Akteure nicht zwingen, entsprechend nachzugeben. So kann es beispielsweise möglich sein, das Sicherheitskraftfeld zu befolgen und trotzdem nicht korrekt nach den Regeln und Konventionen der Straße nachzugeben. In einem solchen Beispiel kann ein Fahrzeug in eine Kreuzung einfahren und anhalten, woraufhin das Fahrzeug den Beschränkungen des Sicherheitskraftfelds nachkommen kann (z.B. da Stillstand immer erlaubt ist). Dies darf jedoch nicht verhindern, dass das Fahrzeug kreuzenden Verkehr verzögert oder anderweitig behindert und/oder gegen Verkehrsregeln verstößt. Dieses Beispiel ist ein notwendiges Ergebnis, wenn die Kernhindernisvermeidung von dem langen Rest von Verkehrsregeln getrennt werden soll. Falls beispielsweise alle Verkehrsregeln von der Kernhindernisvermeidungsschicht befolgt werden müssten, würden alle Regeln in die Hindernisvermeidungsschicht hinein gezogen, was, wie hierin beschrieben wurde, sehr unerwünscht sein kann.
  • Ein Fahrzeug, das nicht nachgibt, darf keine Sicherheitskraftfeldbeschränkung verursachen, die im Querverkehr in einem Fall auftritt, in dem das Fahrzeug aufgrund der Straßenverkehrsregeln nicht nachgeben sollte. Dies führt zu einer beispielhaften Definition des Nachgebens. Das Nachgeben kann in gewisser Weise ein Vorfahrt gewähren sein, da andere Akteure sich das Vorfahrtsrecht nicht nehmen können. Das Nachgeben gegenüber einem anderen Akteur kann darin bestehen, sich so zu verhalten, dass für diesen Akteur keine Einschränkung induziert wird, und es diesem Akteur durch Bereitstellen ausreichender Reserve klarzumachen, dass das Fahrzeug keine Einschränkung induzieren wird.
  • Beispielsweise kann ein Fahrzeug eine Kreuzung mit kreuzendem Verkehr überqueren oder ein ungeschütztes Linksabbiegen durchführen, vorausgesetzt, dass das Fahrzeug, wie beispielsweise mit großer Reserve, keine Sicherheitskraftfeldeinschränkung bei einem anderen Akteur ausgelöst hat. Falls das Fahrzeug jedoch nicht über eine ausreichend große Reserve verfügt, wenn es zuerst fährt, kann es sein, dass das Fahrzeug zurückbleiben und warten muss, bis sich eine ausreichend freie Reserve bzw. Lücke gebildet hat, so dass das Fahrzeug keine Querung durchführt oder entgegenkommendem Verkehr keine Sorgen macht, dass das Fahrzeug möglicherweise nicht nachgibt.
  • Vorfahrt kann die Bestimmung sein, wer nachgeben sollte. Die Bestimmung der Vorfahrt kann in einigen Beispielen das volle Ausmaß der Wartewahrnehmung (Ampeln, Verkehrszeichen, Haltelinien, Nachgiebigkeitslinien) erfordern, wie beispielsweise durch den Wartewahrnehmer 114. Vorfahrt kann die Analyse beinhalten, wer zuerst an einer Mehrfachhaltestelle angehalten hat, wer sich von rechts nähert, das Verständnis von Regeln, die je nach Land und Region unterschiedlich sind, und/oder das Erkennen von Situationen, in denen die Regeln gelten. In einigen Beispielen können auch Karteninformationen zusätzlich zu oder alternativ aus Trainingsdaten verwendet werden, die solche Regeln bereitstellen können und es dem Fahrzeug ermöglichen, die lokalen Regeln und Konventionen so genau zu verstehen wie ein Einheimischer.
  • Nachgiebigkeit kann schwieriger so genau zu navigieren sein wie Hindernisvermeidung. Wenn beispielsweise das Fahrzeug bei einem Linksabbiegen in eine T-Kreuzung mit Querverkehr nachgeben soll, sollte das Fahrzeug den Querverkehr nicht einschränken. Nach dem Abbiegen kann das Fahrzeug jedoch auf ein stehengebliebenes Fahrzeug treffen und somit verursachen, dass der nachfolgende Verkehr letztendlich eine Einschränkung wegen des dort vorhandenen Fahrzeugs erfährt. An einem bestimmten Punkt in diesem Prozess mündet die Verantwortung des Fahrzeugs für das Nachgeben in gesunden Menschenverstand dahingehend, dass dann, wenn sich ein Fahrzeug voraus befindet, es in der Verantwortung des anderen Verkehrs liegt, langsamer zu werden. Das Sicherheitskraftfeld kann das Fahrzeug 102 eindeutig daran hindern, ein gefährliches Manöver durchzuführen (z.B. in den Verkehr einzufahren, wenn ein anderes Fahrzeug oder ein anderes Objekt vorhanden ist), aber Nachgeben im Rahmen der Erfindung kann einen Schritt darüber hinausgehen und sogar vermeiden, dass der andere Verkehr eingeschränkt wird.
  • Das Autonomfahrzeugsystem 100 kann in einigen Situationen einige Unsicherheiten und Fehler beinhalten. Um mit Unsicherheiten umzugehen, können Vertrauensintervalle für alle Metriken vorgesehen sein, die zur Berechnung der Beschränkungen des Sicherheitskraftfelds (z.B. die Bewegungsbahn(en), die den beanspruchten Satz repräsentieren) erforderlich sind, wie beispielsweise die Form, die Position (einschließlich des Abstands), die Geschwindigkeit und/oder die Beschleunigung. Diese Berechnungen können am Rand der Vertrauensintervalle durchgeführt werden (z.B. nach der Dilatation der Form und des Abstands zu dem nächstliegenden Punkt und der Geschwindigkeit zu der höchsten hin zum Fahrzeug 102). Fehler (z.B. Falscherkennungen, Nichterkennungen, Fälle außerhalb der Vertrauensintervalle oder Fehlklassifizierung des Type des Akteurs) können andererseits durch redundante Wahrnehmungssysteme gehandhabt werden. Die allerneueste Form einer Fusion kann beispielsweise darin bestehen, die Sicherheitskraftfeldbeschränkungen für jedes von zwei oder mehr redundanten Wahrnehmungssystemen (z.B. drei redundanten Wahrnehmungssystemen) zu berechnen und die Ausführung der Steuerungsoptionen zu erlauben, die von der Mehrheit der Wahrnehmungssysteme akzeptiert wurden.
  • Nun auf 8 Bezug nehmen, umfasst jeder Block eines hierin beschriebenen Verfahrens 800 einen Rechenprozess, der unter Verwendung einer beliebigen Kombination aus Hardware, Firmware und/oder Software durchgeführt werden kann. Beispielsweise können verschiedene Funktionen von einem Prozessor ausgeführt werden, der in einem Speicher gespeicherte Anweisungen ausführt. Die Verfahren können auch als computerverwendbare Anweisungen vorliegen, die auf Computerspeichermedien gespeichert sind. Die Verfahren können durch eine eigenständige Anwendung, einen Dienst oder einen gehosteten Dienst (eigenständig oder in Kombination mit einem anderen gehosteten Dienst), oder ein Plug-in für ein anderes Produkt bereitgestellt sein, um nur einige zu nennen. Darüber hinaus wird das Verfahren 800 beispielhaft für das Autonomfahrzeugsystem 100 von 1 beschrieben. Diese Verfahren können jedoch zusätzlich oder alternativ von einem beliebigen System oder einer beliebigen Kombination von Systemen ausgeführt werden, einschließlich der, aber nicht beschränkt auf die, hierin beschriebenen.
  • 8 ist ein Ablaufdiagramm, das ein Verfahren 800 zur Hindernisvermeidung gemäß einigen Ausführungsformen der Erfindung darstellt. Das Verfahren 800 beinhaltet bei Block B802 ein Bestimmen eines aktuell beanspruchten Satzes von Punkten. Beispielsweise kann der Beanspruchtsatzbestimmer 136 einen aktuell beanspruchten Satz von Punkten bestimmen, die von dem Fahrzeug 102 belegt werden. Um den aktuell beanspruchten Satz von Punkten zu bestimmen, kann ein Zustand des Fahrzeugs 102 durch den Zustandsbestimmer 132 bestimmt werden.
  • Das Verfahren 800 beinhaltet bei Block B804 ein Generieren bzw. Erzeugen einer oder mehrerer fahrzeugbelegter Bewegungsbahnen. Beispielsweise kann der Bewegungsbahngenerator 138 eine oder mehrere fahrzeugbelegte Bewegungsbahn(en) erzeugen. Um die fahrzeugbelegte(n) Bewegungsbahn(en) zu erzeugen, kann durch den Sicherheitsprozedurbestimmer 134 (z.B. in Anbetracht der aktuellen Umgebung, Geschwindigkeit, Objekte 106, usw.) eine Sicherheitsprozedur festgelegt werden.
  • Das Verfahren 800 beinhaltet bei Block B806 ein Erfassen einer Kreuzung bzw. eines Kreuzungspunkts zwischen der/den fahrzeugbelegten Bewegungsbahn(en) und (einer) objektbelegten Bewegungsbahn(en). Beispielsweise kann der Sicherheitspotenzialrechner 140 einen Kreuzungspunkt zwischen der/den fahrzeugbelegten Bewegungsbahn(en) und einer/den objektbelegten Bewegungsbahn(en) eines Objekts 106 in der Umgebung bestimmen. Das Verfahren 800 beinhaltet bei Block B808 ein Berechnen eines Sicherheitspotenzials. Beispielsweise kann der Sicherheitspotenzialrechner 140 das Sicherheitspotenzial berechnen, das die Kreuzung repräsentiert.
  • Das Verfahren 800 beinhaltet bei Block B810 eine Ausführung einer Sicherheitsprozedur oder eines alternativen Verfahrens. Beispielsweise kann das Fahrzeug 102 die Sicherheitsprozedur oder ein alternatives Verfahren implementieren. Wie hierin beschrieben wurde, kann in einigen Beispielen die Sicherheitsprozedur immer eine zulässige Option sein (z.B. innerhalb der zulässigen Steuerungsoptionen). In einigen Beispielen (z.B. basierend auf einer Störungsanalyse) kann jedoch ein Sicherheitspotenzial, das einem anderen Verfahren als der Sicherheitsprozedur zugeordnet ist, für eine geringere berechnete Kollisionswahrscheinlichkeit zwischen dem Fahrzeug und dem Objekt repräsentativ sein. In solchen Beispielen kann der Steuerungsanalysator 142 Steuerungsoptionen analysieren, die alternativen Verfahren zugeordnet sind, und bestimmen, die Ausführung der den alternativen Verfahren zugeordneten Steuerungen zu erlauben.
  • Visualisierung
  • Um die fahrzeugbelegte Bewegungsbahn und die objektbelegte Bewegungsbahn zu visualisieren, können die Bewegungsbahnen in Bezug zueinander auf einem Display gerendert bzw. dargestellt werden. Das Betrachten der Bewegungsbahnen auf einem 2D-Bildschirm auf diese Weise, ohne jegliche Anpassungen oder Transformationen, kann es jedoch erschweren, die möglichen Kreuzungspunkte der objektbelegten Bewegungsbahnen mit der fahrzeugbelegten Bewegungsbahn zu verstehen (z.B. können die Bewegungsbahnen zu verschmelzen und sich zu überlappen beginnen, selbst wenn eine tatsächliche Überlappung in 3D-Raum-Zeit, die auf eine Kollision hinweist, nicht vorliegt).
  • Um dies zu berücksichtigen, beinhaltet die Erfindung Visualisierungstechniken, die grafische Darstellungen erzeugen, die einfacher zu verstehen sein können, und um die objektbelegten Bewegungsbahnen (z.B. die Bewegung der Objekte in Raum und Zeit) in Bezug auf die fahrzeugbelegte Bewegungsbahn zu visualisieren. Zu diesem Zweck kann das System für jede Zeitscheibe (z.B. für jedes von dem System verwendete Zeitsegment oder für jeden diskreten Zeitschritt) eine Änderung in Position und Orientierung des Fahrzeugs in Bezug auf eine erste Zeitscheibe (z.B. die aktuelle Zeit) bestimmen. Das System kann dann eine Transformation (z.B. eine affine Transformation) als eine Funktion der Orts- und Orientierungsänderung auf die fahrzeugbelegte Bewegungsbahn für jede Zeitscheibe nach der ersten Zeitscheibe anwenden, um die Änderung der fahrzeugbelegten Bewegungsbahn über die Zeit (zumindest entlang der Bewegungsachse) optisch auszugleichen. Das System kann darüber hinaus die gleiche Transformation, basierend auf der Änderung der Position und Orientierung des Fahrzeugs, auf die objektbelegten Bewegungsbahnen für jede Zeitscheibe nach der ersten Zeitscheibe anwenden, um die objektbelegten Bewegungsbahnen in Bezug auf die nun (im Wesentlichen) statische fahrzeugbelegte Bewegungsbahn darzustellen.
  • Infolgedessen kann das Fahrzeug stationär erscheinen, während sich die Objekte in Bezug auf das Fahrzeug zu bewegen scheinen. In einem Beispiel kann es dann, wenn sich das Fahrzeug einem langsameren Objekt vor ihm nähert, in der Visualisierung so aussehen, als würde sich das Objekt in Richtung des Fahrzeugs bewegen. Infolgedessen scheint sich das Objekt rückwärts zu bewegen (obwohl es sich in Wirklichkeit vorwärts bewegt), da die Geschwindigkeit des Objekts geringer ist als die Geschwindigkeit des Fahrzeugs. Als ein weiteres Beispiel kann es dann, wenn das Fahrzeug nach links zu einem geradeaus fahrenden (z.B. nicht abbiegenden) Objekt hin abbiegt, vorkommen, dass sich das Objekt in der Visualisierung in Richtung des Fahrzeugs zu bewegen scheint (obwohl sich das Fahrzeug tatsächlich in Richtung des Objekts bewegt). Unter Verwendung dieser Prozesse können Kreuzungspunkte zwischen der fahrzeugbelegten Bewegungsbahn und den objektbelegten Bewegungsbahnen klarer visualisiert werden (z.B. kann der zukünftige Raum um das Fahrzeug herum klarer visualisiert werden), wodurch eine nützlichere Visualisierung für Genauigkeitsprüfungen, Systembewertungen und/oder dergleichen erzeugt wird. In einigen Beispielen kann die Visualisierung in Bilder oder Videos projiziert werden, die von einer oder mehreren Kameras des Fahrzeugs (z.B. innerhalb der Bilder projiziert) aufgenommen wurden.
  • Nun auf 9A Bezug nehmend, veranschaulicht 9A Darstellungen des Fahrzeugs 102 (z.B. als Polygone oder als eine Ansammlung von Liniensegmenten) und zweier Objekte, des Objekts 106A und des Objekts 106B (z.B. als Polygone oder als eine Ansammlung von Liniensegmenten), wenn das Fahrzeug 102 und die Objekte 106A und 106B ihre jeweiligen Sicherheitsprozeduren über jeden von einer Vielzahl von Zeitscheiben 902 implementieren. Insoweit können die Darstellungen von den beanspruchten Sätzen des Fahrzeugs 102, des Objekts 106A und des Objekts 106B sein, wenn die Akteure ihre jeweiligen Sicherheitsprozeduren implementieren (z.B. Visualisierungen der fahrzeugbelegten Bewegungsbahn und der objektbelegten Bewegungsbahnen). Beispielsweise kann eine Zeitscheibe 902A einer aktuellen Zeit entsprechen, kann eine Zeitscheibe 902B einer Zeit irgendwo entlang der Sicherheitsprozedur entsprechen, und kann eine Zeitscheibe 902C einer Endezeit für zumindest eine der Sicherheitsprozeduren entsprechen, die dem Fahrzeug 102, dem Objekt 106A oder dem Objekt 106B entsprechen (z.B. wenn das Fahrzeug 102, das Objekt 102A und/oder das Objekt 102B vollständig zum Stillstand kommen, ihre jeweilige Sicherheitsprozedur abschließen und/oder ihr Ziel erreichen, wie hierin beschrieben wurde). In anderen Beispielen kann die Zeitscheibe 902C keine Endezeit darstellen, sondern kann anstelle dessen die letzte Zeitscheibe 902 in einer definierten oder vorgegebenen Anzahl von Zeitscheiben 902, die in der Visualisierung zu rendern sind, repräsentieren.
  • Obwohl die Darstellung von 9A nur drei Akteure beinhaltet, soll dies nicht beschränkend sein und dient lediglich der Übersichtlichkeit. In einer realen Umgebung, wie beispielsweise auf einer Autobahn, kann es jedoch eine Vielzahl von Akteuren geben. Wenn mehr Akteure in die Umgebung aufgenommen werden, kann die Visualisierung von 9A überfüllt werden, und kann es zunehmend schwieriger, wenn nicht gar unrealistisch, werden, die fahrzeugbelegte Bewegungsbahn in Bezug auf die objektbelegten Bewegungsbahnen klar zu visualisieren. Selbst wenn beispielsweise kein Kreuzungspunkt oder keine Überlappung zwischen der fahrzeugbelegten Bewegungsbahn und den objektbelegten Bewegungsbahnen auftreten kann, kann es so aussehen, als ob eine Kreuzung oder eine Überlappung vorliegt. Das Ziel der Visualisierungen kann jedoch sein, mögliche zukünftige Kollisionen von Akteuren zu bestimmen, indem bestimmt wird, ob sich ihre beanspruchten Sätze überlappen, so dass wahrgenommene Überlappungen, wenn sie nicht vorhanden sind, nicht ideal sein können. Die Visualisierung in 9A kann sich auf eine absolute Sicht der Bewegungsbahnen beziehen und, obwohl sie in einigen Beispielen verwendet werden kann, möglicherweise nicht so vorzuziehen sein wie eine relative Ansicht (hierin näher beschrieben) in einer bestimmten Umgebung.
  • Unter Bezugnahme auf 9B veranschaulicht 9B Darstellungen des Fahrzeugs 102 (z.B. als Polygone oder eine Ansammlung von Liniensegmenten) und zweier Objekte, des Objekts 106A und des Objekts 106B (z.B. als Polygone oder eine Ansammlung von Liniensegmenten), wenn das Fahrzeug 102 und die Objekte 106A und 106B ihre jeweiligen Sicherheitsprozeduren über jede von einer Vielzahl von Zeitscheiben 902 implementieren. Das Fahrzeug 102 kann jedoch bei jeder Zeitscheibe 902 eine Transformation anwenden, um das Fahrzeug 102 wieder in seine ursprüngliche Position und/oder Orientierung zurück zu versetzen (z.B. zurück in seine ursprüngliche Position bei der Zeitscheibe 902A). Insoweit kann für jede Zeitscheibe 902 eine andere Transformation angewendet werden, weil das Fahrzeug 102 innerhalb der Zeitscheiben 902 bei jeder Zeitscheibe 902 an einen neuen Ort bewegt worden sein kann und/oder sich in einer neuen Orientierung befinden kann. Infolgedessen kann bei der Zeitscheibe 902B eine Transformation angewendet werden derart, dass die Position und/oder die Orientierung des Fahrzeugs 102 bei der Zeitscheibe 902B gleich der Position und/oder der Orientierung des Fahrzeugs 102 bei der Zeitscheibe 902A ist. Es kann jedoch eine andere Transformation angewendet werden derart, dass die Position und/oder die Orientierung des Fahrzeugs bei der Zeitscheibe 902C mit der Position und/oder der Orientierung des Fahrzeugs 102 bei der Zeitscheibe 902A übereinstimmt (z.B. können unterschiedliche Werte für die Position und/oder Orientierung erforderlich sein, um das Fahrzeug 102 von seiner Position und/oder Orientierung bei der Zeitscheibe 902C (zu der Position und/oder der Orientierung bei der Zeitscheibe 902A) zurückzubringen, verglichen mit der Rückführung des Fahrzeugs von seiner Position und/oder Orientierung bei der Zeitscheibe 902B).
  • Sobald die Transformationen für das Fahrzeug 102 bei jeder Zeitscheibe 902 bestimmt sind, können die gleichen Transformationen auf jedes der Objekte 106 in der Umgebung angewendet werden (z.B. das Objekt 106A und das Objekt 106B in 9B), um eine Visualisierung zu erstellen, wie sich jedes der Objekte 106 in der Umgebung in Bezug auf das Fahrzeug 102 bewegt (z.B. weil das Fahrzeug 102 aufgrund der Transformationen stationär sein kann). Beispielsweise kann die für die Zeitscheibe 902B für das Fahrzeug 102 bestimmte Transformation auf das Objekt 106A und das Objekt 106B bei der Zeitscheibe 902B angewendet werden. Dieser Prozess kann sich für jede der Zeitscheiben 902 und für jeden der Akteure in der Umgebung fortsetzen. Durch Anwenden der für das Fahrzeug 102 bestimmten Transformation auf die anderen Akteure kann die Visualisierung eine klarere Darstellung der Überlappung zwischen der fahrzeugbelegten Bewegungsbahn und den objektbelegten Bewegungsbahnen in der Umgebung bereitstellen.
  • In einigen Beispielen kann die Transformation eine affine Transformation sein. In einem solchen Beispiel kann eine affine Transformation als eine Funktion der Zeit (z.B. auf die gesamte Szene oder Umgebung) angewendet werden, um das Fahrzeug 102 zurück zu seinem Ausgangsort und/oder seiner Orientierung (z.B. bei der Zeitscheibe 902A) zu bringen und die anderen Akteure basierend auf der Transformation zu dem Fahrzeug 102 zu transformieren, anzupassen oder zu verzerren. Die affine Transformation kann in einigen Beispielen durch die folgende Gleichung (42) dargestellt werden: f t : 2 2 gegeben durch f t ( x ) = A t x + b t  worin  A t 2 × 2  und  b t 2
    Figure DE112019000065T5_0052
  • Als Ergebnis der Anwendung der Transformation auf das Fahrzeug 102, das Objekt 106A und das Objekt 106B können die Objekte 106A und 106B als sich relativ zu dem Fahrzeug 102 bewegend erscheinen. Somit kann die Visualisierung von 9B als eine relative Ansicht bezeichnet werden. Als ein Beispiel kann sich das Objekt 106B in Richtung hin zu dem und/oder in die gleiche Richtung wie das Fahrzeug 102 bewegen. Infolgedessen ist in der absoluten Ansicht von 9A das Objekt 106B als sich in die gleiche Richtung und/oder in Richtung des Fahrzeugs 102 bewegend dargestellt. In der relativen Ansicht von 9B jedoch sieht das Objekt 106B so aus, als ob es sich von dem Fahrzeug 102 entfernt. Dies kann daran liegen, dass sich das Objekt 106B zwar in die gleiche oder in eine ähnliche Richtung wie das Fahrzeug 102 bewegt, sich das Objekt 106B jedoch langsamer als das Fahrzeug 102 fortbewegt und sich somit in Richtung des Fahrzeugs 102 bewegt, aber mit einer langsameren Geschwindigkeit als das Fahrzeug 102, wodurch der Raum zwischen dem Fahrzeug 102 und dem Objekt 106B vergrößert wird. Als weiteres Beispiel kann sich das Objekt 106A in eine ähnliche Richtung und mit einer ähnlichen Geschwindigkeit wie das Fahrzeug 102 bewegen, und kann somit in der relativen Ansicht von 9B in Bezug auf das Fahrzeug 102 als stationär erscheinen. Die relative Ansicht von 9B stellt somit eine klarere Visualisierung der fahrzeugbelegten Bewegungsbahn und der objektbelegten Bewegungsbahnen dar und erleichtert die visuelle Identifizierung von Kreuzungspunkten oder Überlappungen zwischen ihnen.
  • Die Visualisierung von 9B beinhaltet eine dreidimensionale Visualisierung der Zeitscheiben 902 für jeden der Akteure (z.B. mit der Zeit als separater Achse). Dies ist jedoch nicht als beschränkend gedacht. Anstatt beispielsweise jede Zeitscheibe 902 als eine separate Form zu beinhalten, können die Bewegungsbahnen eine einzige Form sein (z.B. ein Polygon, das sich ohne Unterbrechungen oder Abgrenzungen durch alle Zeitscheiben 902 erstreckt), oder von mehreren Zeitscheiben 902 aufgebrochen sein, und/oder auch anderen Kriterien beruhen. Darüber hinaus kann die Visualisierung alternativ auch zweidimensional statt dreidimensional sein. In einigen Beispielen können die verschiedenen Bewegungsbahnen unterschiedliche Farben haben oder durch unterschiedliche Formen dargestellt sein, oder kann jedes Zeitfenster 902 oder andere Segment einzelner Bewegungsbahnen unterschiedliche Farben oder unterschiedliche Schattierungen oder Auflösungen haben (z.B. können die Bewegungsbahnen und/oder die verschiedenen Segmente der Bewegungsbahnen weiter in die Zukunft auslaufen, oder umgekehrt).
  • In einigen Beispielen, z.B. in Bezug auf die Visualisierungen von 9C und 9D, können die Bewegungsbahnen und/oder Zeitscheiben 902 in eine Bildebene des/der von dem Fahrzeug 102 erzeugten Bild(s/er) zurückprojiziert werden. In einem solchen Beispiel darf die fahrzeugbelegte Bewegungsbahn des Fahrzeugs 102 nicht in dem/den Bild(ern) wiedergegeben werden, da das Fahrzeug 102 stationär ist, so dass die Grenze des Fahrzeugs 102 sich nicht bewegen oder irgendetwas behindern darf. Die Bewegungsbahnen können zweidimensional oder dreidimensional projiziert werden.
  • Beispielsweise können in 9C ein Objekt 106C und ein Objekt 106D, die sich vor dem Fahrzeug 102 befinden können (und in der Visualisierung von 9A und 9B nicht dargestellt sind), ihre jeweiligen objektbelegten Bewegungsbahnen innerhalb des Bilds von 9C gerendert bekommen. Die objektbelegten Bewegungsbahnen bewegen sich, weil sie sich aus den vorstehend beschriebenen Transformationen ergeben haben können, relativ zu dem Fahrzeug 102 und ermöglichen dadurch eine einfachere Visualisierung der objektbelegten Bewegungsbahnen in Bezug auf das Fahrzeug. Beispielsweise kann die objektbelegte Bewegungsbahn des Objekts 106C anzeigen, dass sich das Objekt 106C mit im Wesentlichen der gleichen Geschwindigkeit wie das Fahrzeug 102 bewegt, und kann die objektbelegte Bewegungsbahn für das Objekt 106D anzeigen, dass sich das Objekt 106C mit einer höheren Geschwindigkeit als das Fahrzeug bewegt. Das Bild kann von einem frontseitigen Sensor an dem Fahrzeug 102 aufgenommen worden sein.
  • Als weiteres Beispiel können sich in 9D das Objekt 106C und das Objekt 106D vor dem Fahrzeug 102 befinden, ähnlich wie in 9C, wie vorstehend beschrieben, aber kann sich das Objekt 106D relativ zu dem Fahrzeug 102 verlangsamen (oder kann das Fahrzeug 102 relativ zu dem Objekt 106D beschleunigen). Infolgedessen kann das Objekt 106D eine objektbelegte Bewegungsbahn beinhalten, die sich in Richtung des Fahrzeugs 102 erstreckt, obwohl sich das Objekt 106D in die gleiche Richtung wie das Fahrzeug 102 fortbewegen kann.
  • Als weiteres Beispiel können in 9E das Objekt 106A und das Objekt 106B, die sich hinter dem Fahrzeug 102 befinden können, ihre jeweiligen objektbelegten Bewegungsbahnen innerhalb des Bilds von 9E gerendert bekommen. Die objektbelegten Bewegungsbahnen bewegen sich, weil sie sich aus den vorstehend beschriebenen Transformationen ergeben haben können, relativ zu dem Fahrzeug 102 und ermöglichen so eine einfachere Visualisierung der objektbelegten Bewegungsbahnen in Bezug auf das Fahrzeug. Das Bild kann von einem rückwärtigen Sensor des Fahrzeugs 102 aufgenommen worden sein.
  • Obwohl eine Frontsicht und eine Hecksicht in 9C, 9D und 9E jeweils dargestellt sind, ist dies nicht beschränkend gedacht. Beispielsweise können für jeden beliebigen der Sensoren des Fahrzeugs 102 (z.B. die Kameras, die nach vorne, nach hinten, zur Seite usw. gerichtet sind, usw.) ähnliche Bilder erzeugt werden. In einigen Beispielen kann die Visualisierung der 9A-9E von einem Steuerungsbild begleitet werden, wie beispielsweise dem Steuerungsbild 706 von 7B. In solchen Beispielen kann das Steuerungsbild akzeptable Steuerungsoptionen veranschaulichen, die mit den Visualisierungen der 9A-9E als Referenz besser verstanden werden können.
  • In einigen Beispielen, wie beispielsweise dann, wenn Latenz, Sicherheitsmargen bzw. -reserven, Reaktionszeit und/oder andere Faktoren bei der Erzeugung von fahrzeugbelegten Bewegungsbahnen und/oder objektbelegten Bewegungsbahnen (z.B. wie hierin beschrieben) berücksichtigt werden, können mehrere potenzielle zukünftige Bewegungsbahnen berücksichtigt werden. Beispielsweise kann aufgrund von Rauschen oder Verzögerungen in der Wahrnehmung eine zeitliche Lücke zwischen dann, wenn das Fahrzeug 102 eine Kollision voraussagt, und dann, wenn es tatsächlich einen Befehl implementiert, bestehen. Darüber hinaus kann bei hohen Geschwindigkeiten ein zusätzlicher Raum zwischen den Akteuren gewünscht sein. Ferner kann dem/den Objekt(en) 106 eine Reaktionszeit zugewiesen sein, um deren eigene Prozeduren (z.B. Sicherheitsprozeduren) zu implementieren. Infolgedessen und weil jeder beliebige der Akteure mehr als einen einzelnen Weg oder eine einzelne Bewegungsbahn haben kann, kann das System mehr als eine mögliche Bewegungsbahn (z.B. alle derselben) analysieren und dieses in die Visualisierung einbeziehen. In einem solchen Beispiel können alle beanspruchten Sätze aus jeder der einen oder mehreren möglichen Bewegungsbahnen in eine Approximation einbezogen sein, die sich um alle herum erstreckt (z.B. eine konvexe Hülle oder eine Richtungsberechnung der umgebenden Grenze, die sich im Laufe der Zeit ausdehnen kann, z.B. aufgrund einer Sicherheitsmarge). In Beispielen, in denen eine konvexe Hülle berechnet wird, kann die konvexe Hülle approximiert werden, beispielsweise durch Berechnen und Interpolieren zwischen extremen Auswahlen von Steuerungsoptionen für die Sicherheitsprozedur (z.B. Steuerungen, die maximaler und minimaler Lenkung und/oder Bremsung zugeordnet sind). Insoweit können die extremen Auswahlen der Steuerungsoptionen berechnet werden, und können die restlichen Steuerungsoptionen unter Verwendung der extremen Auswahlen interpoliert werden.
  • Als weiteres Beispiel kann eine wahrgenommene Bewegung in einigen Szenarien unzureichend sein, um zukünftige Kollisionen vorherzusagen. Bei hohen Geschwindigkeiten oder an Kreuzungen kann es vorkommen, dass ein Akteur einem bestimmten Weg (z.B. einer Kehrtwendung, einem Abbiegeweg, einer Folgerichtung von Fahrspuren einer usw.) folgt. Diese Informationen können im Laufe der Zeit gelernt werden (z.B. unter Verwendung eines oder mehrerer Modelle maschinellen Lernens, wie z.B. neuronalen Netzwerken). Um dies zu berücksichtigen, kann in einigen Beispielen davon ausgegangen werden, dass sich Akteure mit einer Fahrspurstruktur ausrichten und sich dann parallel zu ihr bewegen (z.B. basierend auf Karteninformationen und/oder einer Wahrnehmung von Fahrspurbegrenzungen oder einem Satz bekannter Bewegungsbahnen). Ohne diese Annahmen, können sich bei hohen Geschwindigkeiten oder mit einer zusätzlichen Fahrspur, die in die aktuelle Fahrspur einmündet, kleine Wahrnehmungsfehler in viele falsche Kollisionserkennungen ausbreiten. Unter Verwendung der Fahrspurstruktur als eine implizite Vereinbarung dahingehend, dass sich Autos mit der Richtung der Straßenstruktur fortbewegen, kann dies dem Sicherheitskraftfeld erlauben, einen vernünftigen Betrieb des Fahrzeugs 102 in diesen verschiedenen Szenarien zu ermöglichen. Selbst in beispielsweise Situationen, in denen ein entgegenkommendes Fahrzeug Fahrspuren zusammenführt und somit sein Sicherheitskraftfeld während der Zusammenführung in das Sicherheitskraftfeld des Fahrzeugs 102 ragt, kann die Fahrspurstruktur (die z.B. anzeigt, dass das entgegenkommende Fahrzeug wahrscheinlich in die andere Fahrspur einfahren und entsprechend der Fahrspurstruktur weiterfahren wird) ein ungehindertes Weiterfahren des Fahrzeugs 102 ermöglichen (z.B. ohne die Sicherheitsprozedur zu implementieren, um das entgegenkommende Fahrzeug zu berücksichtigen).
  • Nun auf 10 Bezug nehmend, umfasst jeder Block des hierin beschriebenen Verfahrens 1000 einen Rechenprozess, der unter Verwendung einer beliebigen Kombination aus Hardware, Firmware und/oder Software durchgeführt werden kann. Beispielsweise können verschiedene Funktionen von einem Prozessor ausgeführt werden, der in einem Speicher gespeicherte Anweisungen ausführt. Die Verfahren können auch als computerverwendbare Anweisungen vorliegen, die auf Computerspeichermedien gespeichert sind. Die Verfahren können durch eine eigenständige Anwendung, einen Dienst oder einen gehosteten Dienst (eigenständig oder in Kombination mit einem anderen gehosteten Dienst) oder ein Plug-in für ein anderes Produkt bereitgestellt sein, um nur einige zu nennen. Darüber hinaus wird das Verfahren 1000 beispielhaft für das Autonomfahrzeugsystem 100 aus 1 beschrieben. Diese Verfahren können jedoch zusätzlich oder alternativ von einem beliebigen System oder einer beliebigen Kombination von Systemen ausgeführt werden, einschließlich, aber nicht beschränkt auf, die hierin beschriebenen.
  • 10 ist ein Ablaufdiagramm, das ein Verfahren 1000 für Bewegungsbahn-Visualisierungstechniken gemäß einigen Ausführungsformen der Erfindung darstellt. Das Verfahren 1000 beinhaltet bei Block B1002 ein Bestimmen eines ersten beanspruchten Satzes von Punkten für ein Fahrzeug für jede von einer Vielzahl von Zeitscheiben. Beispielsweise kann der Beanspruchtsatzbestimmer 136 für jede Zeitscheibe (z.B. die Zeitscheiben 902) einen ersten beanspruchten Satz von Punkten für das Fahrzeug 102 (z.B. repräsentativ für die Ausführung einer Sicherheitsprozedur des Fahrzeugs) bestimmen. Die Bestimmung des ersten beanspruchten Satzes kann auf einer Position, einer Geschwindigkeit, einer Orientierung und/oder anderen Zustandsinformationen des Fahrzeugs zu einem aktuellen Zeitpunkt beruhen. In einigen Beispielen, wie hierin beschrieben, kann der erste beanspruchte Satz mehrere mögliche Implementierungen der Sicherheitsprozedur (z.B. unterschiedliche Bremsprofile, Lenkprofile usw.) beinhalten.
  • Das Verfahren 1000 beinhaltet bei Block B 1004 ein Bestimmen eines zweiten beanspruchten Satzes von Punkten für ein Objekt für jede der Vielzahl von Zeitscheiben. Beispielsweise kann der Beanspruchtsatzbestimmer 136 für jede Zeitscheibe (z.B. die Zeitscheiben 902) einen zweiten beanspruchten Satz von Punkten für das Objekt 106 (z.B. repräsentativ für die Ausführung einer Sicherheitsprozedur des Objekts) bestimmen. Die Bestimmung des zweiten beanspruchten Satzes kann auf einer Position, einer Geschwindigkeit, einer Orientierung und/oder anderen Zustandsinformationen des Objekts zu einem aktuellen Zeitpunkt beruhen. In einigen Beispielen, wie hierin beschrieben, kann der zweite beanspruchte Satz mehrere mögliche Implementierungen der Sicherheitsprozedur (z.B. unterschiedliche Bremsprofile, Lenkprofile usw.) beinhalten.
  • Das Verfahren 1000 beinhaltet bei Block B1006 ein Berechnen einer Änderung in Position und Orientierung des Fahrzeugs für jede der Vielzahl von Zeitscheiben. Beispielsweise kann eine Transformation auf die Position und/oder die Orientierung des Fahrzeugs 102 bei jeder Zeitscheibe angewendet werden. Die Transformation (z.B. affine Transformation) kann angewendet werden, um eine Position und/oder eine Orientierung, die jeder zukünftigen Zeitscheibe zugeordnet ist, zurück zu der Position und/oder der Orientierung der ursprünglichen oder der aktuellen Zeitscheibe zu bringen.
  • Das Verfahren 1000 beinhaltet bei Block B1008 ein Anwenden einer affinen Transformation auf jeden der zweiten beanspruchten Sätze von Punkten als eine Funktion der Änderung in Position und Orientierung des Fahrzeugs. Beispielsweise kann die gleiche Transformation, die auf das Fahrzeug 102 in Block B1008 angewendet wird, auf jeden der beanspruchten Sätze von Punkten der Objekte angewendet werden. Infolgedessen kann die Bestimmung der Änderung in Position und/oder Orientierung des Fahrzeugs 102 bei jeder Zeitscheibe auf die Objekte 106 bei jeder Zeitscheibe angewendet werden.
  • Das Verfahren 1000 beinhaltet bei Block B1010 ein Erzeugen einer Visualisierung. Beispielsweise kann eine Visualisierung generiert werden, die Darstellungen der objektbelegten Bewegungsbahnen im Hinblick auf die fahrzeugbelegten Bewegungsbahnen beinhalten kann. In einigen Beispielen, wie beispielsweise den Visualisierungen von 9A-9B, kann die fahrzeugbelegte Bewegungsbahn auch in die Visualisierung einbezogen sein. In anderen Beispielen, wie z.B. in den Visualisierungen von 9C-9D, darf die fahrzeugbelegte Bewegungsbahn nicht in die Visualisierung einbezogen sein.
  • Obwohl die Visualisierungstechniken hierin in Bezug auf das Fahrzeug 102 und die Objekte 106 in der Umgebung (oder allgemeiner, in Bezug auf das Fahren) beschrieben werden, ist dies nicht beschränkend. Beispielsweise können diese Techniken für jede Szene oder jedes Szenario verwendet werden, in dem es sich bewegende und/oder statische Objekte gibt und zumindest eines der Objekte von zumindest einem anderen zu unterscheiden ist. Diese Visualisierungstechniken können beispielsweise in Computerspielen, Robotik, Virtual Reality, physikalischen Simulationen und/oder anderen Technologiebereichen eingesetzt werden.
  • Beispielhaftes Autonomes Fahrzeug
  • 11A ist eine Darstellung eines beispielhaften autonomen Fahrzeugs 102, in Übereinstimmung mit einigen Ausführungsformen der Erfindung. Das autonome Fahrzeug 102 (alternativ hierin als das „Fahrzeug 102“ bezeichnet) kann einen Personenkraftwagen, wie beispielsweise ein Auto, einen Lastwagen, einen Bus und/oder ein anderes Fahrzeug, das einen oder mehrere Passagiere aufnimmt, beinhalten. Autonome Fahrzeuge werden allgemein in Bezug auf Automatisierungsgrade beschrieben, die von der National Highway Traffic Safety Administration (NHTSA), einer Abteilung des US-Verkehrsministeriums, und der Society of Automotive Engineers (SAE) „Taxonomy and Definitions for Terms Related to Driving Automation Systems for On-Road Motor Vehicles“ (Standard Nr. 13016-201806, veröffentlicht am 15. Juni 2018, Standard Nr. 13016-201609, veröffentlicht am 30. September 2016, und früheren und zukünftigen Versionen dieser Norm) definiert sind. Das Fahrzeug 102 kann zu Funktionalität in Übereinstimmung mit einer oder mehreren der Stufen bzw. Level 3 - 5 der autonomen Fahrstufen fähig sein. Beispielsweise kann das Fahrzeug 102 je nach Ausführungsform zu bedingter Automatisierung (Level 3), hoher Automatisierung (Level 4) und/oder Vollautomatisierung (Level 5) in der Lage sein.
  • Das Fahrzeug 1102 kann Komponenten wie beispielsweise ein Fahrgestell, eine Fahrzeugkarosserie, Räder (z.B. 2, 4, 6, 8, 18 usw.), Reifen, Achsen und andere Komponenten eines Fahrzeugs beinhalten. Das Fahrzeug 102 kann ein Antriebssystem 1150 beinhalten, wie beispielsweise einen Verbrennungsmotor, ein Hybrid-Elektrokraftwerk, einen vollelektrischen Motor und/oder einen anderen Antriebssystemtyp. Das Antriebssystem 1150 kann mit einem Antriebsstrang des Fahrzeugs 102 verbunden sein, der ein Getriebe beinhalten kann, um den Antrieb des Fahrzeugs 102 zu ermöglichen. Das Antriebssystem 1150 kann im Ansprechen auf ein Empfangen von Signalen von der Drosselklappe/dem Fahrpedal 1152 gesteuert werden.
  • Ein Lenksystem 1154, welches ein Lenkrad beinhalten kann, kann dazu verwendet werden, das Fahrzeug 102 zu lenken (z.B. auf einem gewünschten Weg oder einer gewünschten Route), wenn das Antriebssystem 1150 in Betrieb ist (z.B. wenn das Fahrzeug in Bewegung ist). Das Lenksystem 1154 kann Signale von einem Lenkstellglied 1156 empfangen. Das Lenkrad kann für Vollautomatisierungsfunktionalität (Stufe 5) optional sein.
  • Das Bremssensorsystem 1146 kann dazu verwendet werden, die Fahrzeugbremsen im Ansprechen auf einen Empfang von Signalen von den Bremsstellgliedern 1148 und/oder Bremssensoren zu betätigen.
  • Eine oder mehrere Steuereinrichtung(en) 1136, die ein oder mehrere Systemauf-Chip (SoCs) 1104 (11C) und/oder GPU(s) beinhalten kann/können, kann/können Signale (z.B. repräsentativ für Befehle) an eine oder mehrere Komponenten und/oder Systeme des Fahrzeugs 102 liefern. Beispielsweise kann/können die Steuereinrichtung(en) Signale zum Betätigen der Fahrzeugbremsen über ein oder mehrere Bremsstellglieder 1148, zum Betätigen des Lenksystems 1154 über ein oder mehrere Lenkstellglieder 1156, zum Betätigen des Antriebssystems 1150 über ein oder mehrere Drosselklappen/Fahrpedale 1152 senden. Die Steuereinrichtung(en) 1136 können eine oder mehrere eingebaute (z.B. integrierte) Rechenvorrichtungen (z.B. Supercomputer) beinhalten, die Sensorsignale verarbeiten, und Betriebsbefehle (z.B. Signale, die Befehle repräsentieren) ausgeben, um autonomes Fahren zu ermöglichen und/oder einen menschlichen Fahrer beim Fahren des Fahrzeugs 102 zu unterstützen. Die Steuereinrichtung(en) 1136 können eine erste Steuereinrichtung 1136 für autonome Fahrfunktionen, eine zweite Steuereinrichtung 1136 für funktionale Sicherheitsfunktionen, eine dritte Steuereinrichtung 1136 für Funktionalität künstlicher Intelligenz (z.B. Computervision), eine vierte Steuereinrichtung 1136 für Infotainment-Funktionalität, eine fünfte Steuereinrichtung 1136 für Redundanz im Notfall und/oder andere Steuereinrichtungen beinhalten. In einigen Beispielen kann eine einzelne Steuereinrichtung 1136 zwei oder mehr der vorstehend genannten Funktionalitäten übernehmen, können zwei oder mehr Steuereinrichtungen 1136 eine einzelne Funktionalität übernehmen, und/oder eine beliebige Kombination davon.
  • Die Steuereinrichtung(en) 1136 können die Signale zum Steuern einer oder mehrerer Komponenten und/oder Systeme des Fahrzeugs 102 im Ansprechen auf Sensordaten, die von einem oder mehreren Sensoren (z.B. Sensoreingänge) empfangen wurden, bereitstellen. Die Sensordaten können, beispielsweise und ohne Beschränkung, von einem oder mehreren Sensor(en) globaler Navigationssatellitensysteme 1158 (z.B. Global Positioning System-Sensor(en)), RADAR-Sensor(en) 1160, Ultraschallsensor(en) 1162, LIDAR-Sensor(en) 1164, Trägheitsmesseinheit (IMU)-Sensor(en) 1166 (z.B. Beschleunigungssensor(en), Gyroskop(en), Magnetkompass(en), Magnetometer(n), usw.), Mikrofon(en) 1196, Stereokamera(s) 1168, Weitsichtkamera(s) 1170 (z.B. Fisheye-Kameras), Infrarot-Kamera(s) 1172, Surround-Kamera(s) 1174 (z.B. 360-Grad-Kameras), Fernbereich- und/oder Mittelbereich-Kamera(s) 1198, Geschwindigkeitssensor(en) 1144 (z.B. zur Messung der Geschwindigkeit des Fahrzeugs 102), Schwingungssensor(en) 1142, Lenksensor(en) 1140, Bremssensor(en) (z.B. als Teil des Bremssensorsystems 1146) und/oder anderen Sensortypen empfangen werden.
  • Eine oder mehrere der Steuereinrichtung(en) 1136 können Eingaben (z.B. repräsentiert durch Eingangsdaten) von einem Kombiinstrument 1132 des Fahrzeugs 102 empfangen und Ausgaben (z.B. repräsentiert durch Ausgangsdaten, Anzeigedaten usw.) über eine Mensch-Maschine-Schnittstelle (HMI) 1134, einen akustischen Melder, einen Lautsprecher und/oder über andere Komponenten des Fahrzeugs 102 bereitstellen. Die Ausgaben können Informationen wie beispielsweise eine Fahrzeuggeschwindigkeit, eine Geschwindigkeit, eine Zeit, Kartendaten (z.B. die HD-Karte 1122 von 11C), Positionsdaten (z.B. der Position des Fahrzeugs 102, wie beispielsweise auf einer Karte), eine Richtung, eine Position anderer Fahrzeuge (z.B. ein Belegungsraster), Informationen über Objekte und Zustand von Objekten, wie sie von der/den Steuereinrichtung(en) 1136 wahrgenommen werden, usw. beinhalten. Beispielsweise kann die HMI-Anzeige 1134 Informationen über das Vorhandensein eines oder mehrerer Objekte (z.B. eines Straßenschilds, eines Warnschilds, eines Ampelwechsels usw.) und/oder Informationen über Fahrmanöver, die das Fahrzeug durchgeführt hat, gerade durchführt oder durchführen wird (z.B. Fahrspurwechsel jetzt, Ausfahrt 34B in zwei Meilen nehmen usw.), anzeigen.
  • Das Fahrzeug 102 beinhaltet ferner eine Netzwerkschnittstelle 1124, welche eine oder mehrere drahtlose Antenne(n) 1126 und/oder Modem(e) zum Kommunizieren über ein oder mehrere Netzwerke verwenden kann. Beispielsweise kann die Netzwerkschnittstelle 1124 zu Kommunikation über LTE, WCDMA, UMTS, GSM, CDMA2000, usw. in der Lage sein. Die drahtlose(n) Antenne(n) 1126 können auch Kommunikation zwischen Objekten in der Umgebung (z.B. Fahrzeuge, mobile Vorrichtungen usw.) unter Verwendung lokaler Netzwerke wie beispielsweise Bluetooth, Bluetooth LE, Z-Wave, ZigBee usw. und/oder Fernbereichsnetzwerke mit geringer Leistung (LPWANs) wie beispielsweise LoRaWAN, SigFox usw. ermöglichen.
  • 11 B ist ein Beispiel für Kamerapositionen und Sichtfeldern für das beispielhafte autonome Fahrzeug 102 von 11A, gemäß einigen Ausführungsformen der Erfindung. Die Kameras und jeweilige Sichtfelder sind eine beispielhafte Ausführungsform und sind nicht als beschränkend beabsichtigt. Beispielsweise können zusätzliche und/oder alternative Kameras integriert sein, und/oder können sich die Kameras an verschiedenen Positionen an dem Fahrzeug 102 befinden.
  • Die Kameratypen für die Kameras können Digitalkameras beinhalten, die zur Verwendung mit den Komponenten und/oder Systemen des Fahrzeugs 102 angepasst sein können, sind aber nicht darauf beschränkt. Die Kamera(s) können auf der automobilen Sicherheitsintegritätsstufe (ASIL) B und/oder einer anderen ASIL arbeiten. Die Kamera(s) können zu jeder beliebigen Bildaufnahmerate in der Lage sein, wie z.B. je nach Ausführungsform zu 60 Bildern pro Sekunde (fps), 1120 fps, 240 fps, usw. Die Kameras können Rollverschlüsse, Globalverschlüsse, eine andere Art von Verschluss oder eine Kombination derselben verwenden. In einigen Beispielen kann die Farbfilteranordnung eine Red Clear Clear Clear (RCCC)-Farbfilteranordnung, eine Red Clear Clear Blue (RCCB)-Farbfilteranordnung, eine Red Blue Green Clear (RBGC)-Farbfilteranordnung, eine Foveon X3-Farbfilteranordnung, eine Bayer-Sensoren (RGGB)-Farbfilteranordnung, eine Monochromsensor-Farbfilteranordnung und/oder eine andere Art von Farbfilteranordnung beinhalten. In einigen Ausführungsformen können Klarpixelkameras, wie beispielsweise Kameras mit einer RCCC-, einer RCCB- und/oder einer RBGC-Farbfilteranordnung, dazu verwendet werden, die Lichtempfindlichkeit zu erhöhen.
  • In einigen Beispielen kann eine oder mehrere der Kamera(s) dazu verwendet werden, Funktionen fortgeschrittener Fahrerassistenzsysteme (ADAS) durchzuführen (z.B. als Teil einer redundanten oder ausfallsicheren Auslegung). Beispielsweise kann eine Multifunktions-Monokamera installiert sein, um Funktionen einschließlich Spurverlassenswarnung, Verkehrszeichenunterstützung und intelligente Scheinwerfersteuerung bereitzustellen. Eine oder mehrere der Kamera(s) (z.B. alle Kameras) können Bilddaten (z.B. Video) gleichzeitig aufnehmen und bereitstellen.
  • Eine oder mehrere der Kameras können in einer Montageanordnung, wie beispielsweise einer kundenspezifischen (3D-gedruckten) Anordnung, montiert sein, um Streulicht und Reflexionen aus dem Fahrzeuginneren (z.B. Reflexionen von dem Armaturenbrett, die in den Spiegeln der Windschutzscheibe reflektiert werden), welche die Bilddatenerfassungsfähigkeit der Kamera beeinträchtigen können, zu entfernen. In Bezug auf Montagebaugruppen der Außenspiegel können die Außenspiegelbaugruppen individuell 3D-gedruckt sein, so dass die Kameramontageplatte der Form des Außenspiegels entspricht. In einigen Beispielen kann/können die Kamera(s) in den Außenspiegel integriert sein. Bei Seitensichtkameras kann/können die Kamera(s) auch in die vier Säulen an jeder Ecke der Kabine integriert sein.
  • Kameras mit einem Sichtfeld, das Teile der Umgebung vor dem Fahrzeug 102 beinhaltet (z.B. nach vorne gerichtete Kameras), können für die Rundumsicht verwendet werden, um dabei zu helfen, vorwärts gerichtete Wege und Hindernisse zu identifizieren, sowie dabei zu helfen, mit Hilfe einer oder mehrerer Steuereinrichtungen 1136 und/oder Steuer-SoCs Informationen bereitzustellen, die für die Erzeugung eines Belegungsgitters und/oder das Bestimmen der bevorzugten Fahrzeugwege maßgeblich sind. Vorwärts gerichtete Kameras können dazu verwendet werden, viele derselben ADAS-Funktionen wie LIDAR auszuführen, einschließlich Notbremsung, Fußgängererfassung und Kollisionsvermeidung. Vorwärts gerichtete Kameras können auch für ADAS-Funktionen und -Systeme einschließlich Spurverlassenswarnung bzw. Lane Departure Warnings („LDW“), autonome Geschwindigkeitsregelung bzw. Autonomous Cruise Control („ACC“) und/oder andere Funktionen wie Verkehrszeichenerfassung verwendet werden.
  • Eine Vielzahl von Kameras kann in einer nach vorne gerichteten Konfiguration verwendet werden, einschließlich beispielsweise einer monokularen Kameraplattform, die einen CMOS (Complementary Metal Oxide Semiconductor)-Farbbildsensor beinhaltet. Ein weiteres Beispiel kann zumindest eine Weitwinkelkamera 1170 sein, die dazu verwendet werden kann, Objekte wahrzunehmen, die aus der Peripherie heraus in Sicht geraten (z.B. Fußgänger, kreuzender Verkehr oder Fahrräder). Obwohl in 11 B nur eine Weitwinkelkamera dargestellt ist, kann es an dem Fahrzeug 102 eine beliebige Anzahl von Weitwinkelkameras 1170 geben. Darüber hinaus kann/können eine oder mehrere Fernbereichkamera(s) 1198 (z.B. ein Tele-Stereokamera-Paar) zur tiefenbasierten Objekterfassung verwendet werden, insbesondere für Objekte, für welche ein neuronales Netzwerk noch nicht trainiert wurde. Die Fernbereichkamera(s) 1198 kann/können auch zur Objekterfassung und -klassifizierung sowie zur grundlegenden Objektnachverfolgung verwendet werden.
  • Eine oder mehrere Stereokameras 1168 können ebenfalls in einer frontseitigen Konfiguration integriert sein. Die Stereokamera(s) 1168 können eine integrierte Steuereinheit beinhalten, die eine skalierbare Verarbeitungseinheit umfasst, welche eine programmierbare Logik (FPGA) und einen Mehrkern-Mikroprozessor mit einer integrierten CAN- oder Ethernet-Schnittstelle auf einem einzigen Chip bereitstellen kann. Eine solche Einheit kann dazu verwendet werden, eine 3D-Karte der Umgebung des Fahrzeugs zu erstellen, einschließlich einer Entfernungsschätzung für alle Punkte in dem Bild. Eine oder mehrere alternative Stereokamera(s) 1168 kann/können einen oder mehrere kompakte(n) Stereosichtsensor(en) beinhalten, der zwei Kameraobjektive (je eines links und rechts) und einen Bildverarbeitungschip beinhalten kann, der die Entfernung von dem Fahrzeug zu dem Zielobjekt messen und die generierten Informationen (z.B. Metadaten) dazu verwenden kann, die autonomen Notbrems- und Spurverlassenswarnungs-Funktionen zu aktivieren. Andere Arten von Stereokamera(s) 1168 können zusätzlich oder alternativ zu den hierin beschriebenen verwendet werden.
  • Kameras mit einem Sichtfeld, das Teile der Umgebung seitlich des Fahrzeugs 102 beinhaltet (z.B. Seitensichtkameras), können für eine Surround- bzw. Rundum-Ansicht verwendet werden und Informationen bereitstellen, die zum Erstellen und Aktualisieren des Belegungsrasters sowie zum Erzeugen von Seitenaufprall-Kollisionswarnungen verwendet werden. Beispielsweise kann/können die Rundum- bzw. Surround-Kamera(s) 1174 (z.B. vier Surround-Kameras 1174, wie in 11B dargestellt) auf dem Fahrzeug 102 positioniert sein. Die Surround-Kamera(s) 1174 können eine oder mehrere Weitwinkelkamera(s) 1170, Fischaugen-Kamera(s), 360-Grad-Kamera(s) und/oder dergleichen beinhalten. Beispielsweise können vier Fisheye-Kameras an der Vorderseite, dem Heck und den Seiten des Fahrzeugs positioniert sein. In einer alternativen Anordnung kann das Fahrzeug drei Surround-Kamera(s) 1174 (z.B. links, rechts und hinten) verwenden, und kann eine oder mehrere andere Kamera(s) (z.B. eine nach vorne gerichtete Kamera) als eine vierte Surround-Kamera nutzen.
  • Kameras mit einem Sichtfeld, das Teile der Umgebung nach hinten bzw. am Heck des Fahrzeugs 102 beinhaltet (z.B. Rückfahrkameras), können für Einparkhilfe, Rundumsicht, Heckkollisionswarnung sowie Erstellung und Aktualisierung des Belegungsrasters verwendet werden. Eine Vielzahl von Kameras kann verwendet werden, einschließlich, aber nicht beschränkt auf, Kameras, die auch als nach vorne gerichtete Kamera(s) bzw. Frontkamera(s) geeignet sind (z.B. Fern- und/oder Mittelbereich-Kamera(s) 1198, Stereokamera(s) 1168), Infrarotkamera(s) 1172 usw.), wie hierin beschrieben.
  • 11C ist ein Blockdiagramm einer beispielhaften Systemarchitektur für das beispielhafte autonome Fahrzeug 102 von 11A, gemäß einigen Ausführungsformen der Erfindung. Es versteht sich, dass diese und andere hierin beschriebene Anordnungen nur als Beispiele aufgeführt sind. Andere Anordnungen und Elemente (z.B. Maschinen, Schnittstellen, Funktionen, Reihenfolgen, Gruppierungen von Funktionen usw.) können zusätzlich oder anstelle der gezeigten verwendet werden, und einige Elemente können ganz weggelassen sein. Darüber hinaus sind viele der hierin beschriebenen Elemente funktionale Einheiten, die als diskrete oder verteilte Komponenten oder in Verbindung mit anderen Komponenten und in jeder geeigneten Kombination und Lage implementiert sein können. Verschiedene Funktionen, die hierin als von Einheiten ausgeführt beschrieben werden, können durch Hardware, Firmware und/oder Software ausgeführt werden. Beispielsweise können verschiedene Funktionen von einem Prozessor ausgeführt werden, der in einem Speicher gespeicherte Anweisungen ausführt.
  • Jede(s) der Komponenten, Merkmale und Systeme des Fahrzeugs 102 in 11C ist als über einen Bus 1102 verbunden dargestellt. Der Bus 1102 kann eine Controller Area Network (CAN)-Datenschnittstelle beinhalten (hierin alternativ als ein „CAN-Bus“ bezeichnet). Ein CAN kann ein Netzwerk innerhalb des Fahrzeugs 102 sein, das zur Steuerung verschiedener Merkmale und Funktionalitäten des Fahrzeugs 102 verwendet wird, wie z.B. Betätigung von Bremsen, Beschleunigung, Bremsen, Lenken, Scheibenwischer, usw. Ein CAN-Bus kann dazu konfiguriert sein, Dutzende oder sogar Hunderte von Knoten aufzuweisen, die jeweils mit einem eigenen eindeutigen Identifikator (z.B. einer CAN-ID) versehen sind. Der CAN-Bus kann gelesen werden, um einen Lenkradwinkel, eine Fahrgeschwindigkeit, Motordrehzahlen pro Minute (1/min), Tastenpositionen und/oder andere Fahrzeugstatusindikatoren festzustellen. Der CAN-Bus kann ASIL B-konform sein.
  • Obwohl der Bus 1102 hierin als ein CAN-Bus beschrieben ist, ist dies nicht als Einschränkung zu verstehen. Beispielsweise kann zusätzlich oder alternativ zu dem CAN-Bus FlexRay und/oder Ethernet verwendet werden. Obwohl eine einzige Leitung zur Repräsentation des Busses 1102 verwendet wird, ist dies nicht als Einschränkung zu verstehen. Beispielsweise kann es eine beliebige Anzahl von Bussen 1102 geben, welche einen oder mehrere CAN-Busse, einen oder mehrere FlexRay-Busse, einen oder mehrere Ethernet-Busse und/oder einen oder mehrere andere Arten von Bussen mit einem anderen Protokoll beinhalten können. In einigen Beispielen können zwei oder mehr Busse 1102 dazu verwendet werden, verschiedene Funktionen auszuführen, und/oder für Redundanz verwendet werden. Beispielsweise kann ein erster Bus 1102 zur Kollisionsvermeidungsfunktionalität und ein zweiter Bus 1102 zur Betätigungssteuerung verwendet werden. In jedem Beispiel kann jeder Bus 1102 mit jeder der Komponenten des Fahrzeugs 102 kommunizieren, und können zwei oder mehr Busse 1102 mit den gleichen Komponenten kommunizieren. In einigen Beispielen kann jedes SoC 1104, jede Steuereinrichtung 1136 und/oder jeder Computer innerhalb des Fahrzeugs Zugriff auf die gleichen Eingangsdaten haben (z.B. Eingänge von Sensoren des Fahrzeugs 102), und kann mit einem gemeinsamen Bus, wie dem CAN-Bus, verbunden sein.
  • Das Fahrzeug 102 kann eine oder mehrere Steuereinrichtung(en) 1136 beinhalten, wie sie hierin in Bezug auf 11A beschrieben sind. Die Steuereinrichtung(en) 1136 kann/können für eine Vielzahl von Funktionen verwendet werden. Die Steuereinrichtung(en) 1136 kann/können mit einer der verschiedenen anderen Komponenten und Systeme des Fahrzeugs 102 gekoppelt sein und kann/können zur Steuerung des Fahrzeugs 102, der künstlichen Intelligenz des Fahrzeugs 102, des Infotainments für das Fahrzeug 102 und/oder dergleichen verwendet werden.
  • Das Fahrzeug 102 kann ein oder mehrere Systeme auf einem Chip (SoC) 1104 beinhalten. Das SoC 1104 kann CPU(s) 1106, GPU(s) 1108, Prozessor(en) 1110, Cache(s) 1112, Beschleuniger 1114, Datenspeicher 1116 und/oder andere nicht dargestellte Komponenten und Merkmale beinhalten. Die SoC(s) 1104 können zum Steuern des Fahrzeugs 102 in einer Vielzahl von Plattformen und Systemen verwendet werden. Beispielsweise können die SoC(s) 1104 in einem System (z.B. dem System des Fahrzeugs 102) mit einer HD-Karte 1122 kombiniert sein, die über eine Netzwerkschnittstelle 1124 von einem oder mehreren Servern (z.B. Server 104 von 11D) Kartenauffrischungen und/oder -aktualisierungen erhalten kann.
  • Die CPU(s) 1106 können einen CPU-Cluster oder CPU-Komplex (alternativ hierin als „CCPLEX“ bezeichnet) beinhalten. Die CPU(s) 1106 können mehrere Kerne und/oder L2-Caches beinhalten. Beispielsweise können die CPU(s) 1106 in einigen Ausführungsformen acht Kerne in einer kohärenten Multiprozessor-Konfiguration beinhalten. In einigen Ausführungsformen können die CPU(s) 1106 vier Doppelkern- bzw. Dual-Core-Cluster beinhalten, wobei jeder Cluster einen dedizierten L2-Cache (z.B. einen 2 MB-L2-Cache) aufweist. Die CPU(s) 1106 (z.B. CCPLEX) können dazu konfiguriert sein, gleichzeitigen Clusterbetrieb zu unterstützen, wodurch jede Kombination der Cluster der CPU(s) 1106 jederzeit aktiv sein kann.
  • Die CPU(s) 1106 können Energieverwaltungsfähigkeiten implementieren, die eines oder mehrere der folgenden Merkmale beinhalten: einzelne Hardwareblöcke können im Leerlauf automatisch getaktet werden, um dynamische Leistung zu sparen; jeder Kerntakt kann angesteuert werden, wenn der Kern aufgrund Ausführung von WFI/WFE-Befehlen Anweisungen nicht aktiv ausführt; jeder Kerncluster kann unabhängig leistungsangesteuert werden; jeder Kerncluster kann unabhängig taktangesteuert werden, wenn alle Kerne taktangesteuert oder leistungsangesteuert werden; und/oder jeder Kerncluster kann unabhängig leistungsgesteuert werden, wenn alle Kerne leistungsgesteuert werden. Die CPU(s) 1106 können ferner einen erweiterten Algorithmus zur Verwaltung von Leistungszuständen implementieren, bei dem zulässige Leistungszustände und erwartete Aufwachzeiten spezifiziert sind und die Hardware/Mikrocode den besten Leistungszustand für den Kern, den Cluster und CCPLEX bestimmt. Die Verarbeitungskerne können vereinfachte Leistungszustand-Eintrittssequenzen in Software unterstützen, wobei die Arbeit auf Mikrocode übertragen wird.
  • Die GPU(s) 1108 können eine integrierte GPU beinhalten (hierin alternativ als eine „iGPU“ bezeichnet). Die GPU(s) 1108 können programmierbar sein und für parallele Arbeitslasten effizient sein. Die GPU(s) 1108 können in einigen Beispielen einen erweiterten Tensor-Befehlssatz verwenden. Die GPU(s) 1108 können einen oder mehrere Streaming-Mikroprozessoren beinhalten, wobei jeder Streaming-Mikroprozessor einen L1-Cache (z.B. einen L1-Cache mit zumindest 96KB Speicherkapazität) beinhalten kann und sich zwei oder mehr der Streaming-Mikroprozessoren einen L2-Cache (z.B. einen L2-Cache mit 512 KB Speicherkapazität) teilen können. In einigen Ausführungsformen kann/können die GPU(s) 1108 zumindest acht Streaming-Mikroprozessoren beinhalten. Die GPU(s) 1108 kann/können Rechenanwendungs-Programmierschnittstelle(n) (API(s)) verwenden. Darüber hinaus kann/können die GPU(s) 1108 eine oder mehrere parallele Rechenplattformen und/oder Programmiermodelle (z.B. NVIDIAs CUDA) verwenden.
  • Die GPU(s) 1108 können für beste Leistung in Automobil- und Embedded-Anwendungsfällen energieoptimiert sein. Beispielsweise kann/können die GPU(s) 1108 auf einem Fin-Feldeffekttransistor (FinFET) hergestellt sein. Dies ist jedoch nicht beschränkend, und die GPU(s) 1108 können unter Verwendung anderer Halbleiterherstellungsverfahren hergestellt sein. Jeder Streaming-Mikroprozessor kann eine Reihe von Verarbeitungskernen mit gemischter Genauigkeit beinhalten, die in mehrere Blöcke unterteilt sind. Beispielsweise, und ohne beschränkt zu sein, können 64 PF32-Kerne und 32 PF64-Kerne in vier Verarbeitungsblöcke unterteilt sein. In einem solchen Beispiel können jedem Verarbeitungsblock 16 FP32-Kerne, 8 FP64-Kerne, 16 INT32-Kerne, zwei NVIDIA TENSOR-KERNe mit gemischter Genauigkeit für Deep-Learning-Matrix-Arithmetik, ein L0-Befehlscache, ein Warp-Scheduler, eine Sendeeinheit und/oder eine 64 KB-Registerdatei zugeordnet sein. Darüber hinaus können die Streaming-Mikroprozessoren unabhängige parallele Ganzzahl- und Gleitkomma-Datenpfade beinhalten, um eine effiziente Ausführung von Arbeitslasten mit einer Mischung aus Berechnungs- und Adressierungsberechnungen bereitzustellen. Die Streaming-Mikroprozessoren können unabhängige Thread-Scheduling-Funktionalität beinhalten, um eine feinkörnigere Synchronisierung und Kooperation zwischen parallelen Threads zu ermöglichen. Die Streaming-Mikroprozessoren können einen kombinierten L1-Daten-Cache und eine gemeinsam genutzte Speichereinheit beinhalten, um die Leistung zu verbessern und gleichzeitig die Programmierung zu vereinfachen.
  • Die GPU(s) 1108 können einen Speicher mit hoher Bandbreite (HBM) und/oder ein 16 GB HBM2-Speicher-Subsystem beinhalten, um in einigen Beispielen eine maximale Speicherbandbreite von etwa 900 GB/Sekunde bereitzustellen. In einigen Beispielen kann zusätzlich zu dem oder alternativ zu dem HBM-Speicher ein synchroner Grafik-Random-Access-Speicher (SGRAM) verwendet werden, wie beispielsweise ein synchroner Grafik-Random-Access-Speicher mit doppelter Datenrate Typ 5 (GDDR5).
  • Die GPU(s) 1108 können eine Unified Memory-Technologie einschließlich Zugriffszählern beinhalten, um eine genauere Migration von Speicherseiten zu dem Prozessor zu ermöglichen, der am häufigsten auf sie zugreift, wodurch die Effizienz für zwischen den Prozessoren geteilte Speicherbereiche verbessert wird. In einigen Beispielen kann eine Unterstützung von Address Translation Services (ATS) verwendet werden, damit die GPU(s) 1108 direkt auf die Seitentabellen der CPU(s) 1106 zugreifen kann/können. In solchen Beispielen kann dann, wenn die Speicherverwaltungseinheit (MMU) der GPU(s) 1108 einen Fehlgriff erfährt, eine Adressübersetzungsanforderung an die CPU(s) 1106 gesendet werden. Als Reaktion darauf kann/können die CPU(s) 1106 in ihren Seitentabellen nach dem virtuellphysikalischen Mapping für die Adresse suchen und die Übersetzung zurück an die GPU(s) 1108 senden. Daher kann die Unified Memory-Technologie einen einzigen einheitlichen virtuellen Adressraum für Speicher sowohl der CPU(s) 1106 als auch der GPU(s) 1108 ermöglichen, wodurch die Programmierung und Portierung von Anwendungen auf die GPU(s) 1108 vereinfacht wird.
  • Darüber hinaus kann/können die GPU(s) 1108 einen Zugriffszähler beinhalten, der die Häufigkeit von Zugriffen der GPU(s) 1108 auf den Speicher anderer Prozessoren verfolgen kann. Der Zugriffszähler kann dazu beitragen, sicherzustellen, dass Speicherseiten in den physikalischen Speicher des Prozessors verschoben werden, der am häufigsten auf die Seiten zugreift.
  • Die SoC(s) 1104 können eine beliebige Anzahl von Cache(s) 1112 beinhalten, einschließlich der hierin beschriebenen. Beispielsweise kann der/die Cache(s) 1112 einen L3-Cache beinhalten, der sowohl für die CPU(s) 1106 als auch für die GPU(s) 1108 verfügbar ist (z.B. der/die sowohl mit der CPU(s) 1106 als auch mit der/den GPU(s) 1508 verbunden ist). Der/die Cache(s) 1112 kann/können einen Write-Back-Cache beinhalten, der den Zustand von Leitungen verfolgen kann, wie beispielsweise durch Verwenden eines Cache-Kohärenzprotokolls (z.B. MEI, MESI, MSI, usw.). Der L3-Cache kann je nach Ausführungsform 4 MB oder mehr beinhalten, obwohl kleinere Cachegrößen verwendet werden können.
  • Das/die SoC(s) 1104 können einen oder mehrere Beschleuniger 1114 beinhalten (z.B. Hardwarebeschleuniger, Softwarebeschleuniger oder eine Kombination davon). Beispielsweise kann/können das/die SoC(s) 1104 einen Hardwarebeschleunigungscluster beinhalten, der optimierte Hardwarebeschleuniger und/oder einen großen On-Chip-Speicher beinhalten kann. Der große On-Chip-Speicher (z.B. 4 MB SRAM) kann es dem Hardwarebeschleunigungscluster ermöglichen, neuronale Netzwerke und andere Berechnungen zu beschleunigen. Der Hardwarebeschleunigungscluster kann dazu verwendet werden, die GPU(s) 1108 zu ergänzen und einige der Aufgaben der GPU(s) 1108 zu entlasten (z.B. um mehr Zyklen der GPU(s) 1108 für andere Aufgaben freizugeben). Als ein Beispiel kann/können der/die Beschleuniger 1114 für gezielte Arbeitslasten (z.B. Wahrnehmung, faltende neuronale Netzwerke (CNNs) usw.) verwendet werden, die stabil genug sind, um für Beschleunigung geeignet zu sein. Der hierin verwendete Begriff „CNN“ kann alle Arten von CNNs beinhalten, einschließlich regionsbasierter oder regionaler neuronaler Faltungsnetze (RCNNs) und schneller RCNNs (wie beispielsweise zur Objekterfassung verwendet).
  • Der/die Beschleuniger 1114 (z.B. der Hardwarebeschleunigungscluster) kann/können einen oder mehrere Deep Learning Accelerator(s) (DLA) beinhalten. Die DLA(s) können eine oder mehrere Tensor-Verarbeitungseinheiten (TPUs) beinhalten, die dazu konfiguriert sein können, zusätzliche zehn Billionen Operationen pro Sekunde für Deep Learning-Anwendungen und Inferenzierung bereitzustellen. Die TPUs können Beschleuniger sein, die für die Durchführung von Bildverarbeitungsfunktionen (z.B. für CNNs, RCNNs, usw.) konfiguriert und optimiert sind. Der/die DLA(s) kann/können weiter für einen bestimmten Satz von neuronalen Netzwerktypen und Gleitkommaoperationen sowie für Inferenzierung optimiert sein. Das Design des/der DLA(s) kann mehr Leistung pro Millimeter bereitstellen als eine Allzweck-GPU und übertrifft die Leistung einer CPU erheblich. Die TPU(s) kann/können mehrere Funktionen ausführen, einschließlich einer Einzelinstanz-Faltungsfunktion, die beispielsweise die Datentypen INT8, INT16 und FP16 für sowohl Merkmale und Gewichte sowie Postprozessorfunktionen unterstützt.
  • Der/die DLA(s) können neuronale Netzwerke, insbesondere CNNs, schnell und effizient auf verarbeiteten oder unverarbeiteten Daten für eine Vielzahl von Funktionen ausführen, einschließlich, zum Beispiel und ohne Beschränkung: eines CNNs zur Objektidentifikation und -erfassung unter Verwendung von Daten von Kamerasensoren; eines CNNs zur Entfernungsschätzung unter Verwendung von Daten von Kamerasensoren; eines CNNs zur Einsatzfahrzeugerfassung und -identifikation und -erfassung unter Verwendung von Daten von Mikrofonen; eines CNNs zur Gesichtserkennung und Fahrzeughalteridentifikation unter Verwendung von Daten von Kamerasensoren; und/oder eines CNNs für schutz- und/oder sicherheitsrelevante Ereignisse.
  • Der/die DLA(s) können jede beliebige Funktion der GPU(s) 1108 ausführen, und zum Beispiel durch Verwenden eines Inferenzbeschleunigers kann ein Entwickler entweder den/die DLA(s) oder die GPU(s) 1108 für jede beliebige Funktion ansprechen. Beispielsweise kann sich der Entwickler beispielsweise auf die Verarbeitung von CNNs und Gleitkommaoperationen auf dem/den DLA(s) konzentrieren und andere Funktionen der/den GPU(s) 1108 und/oder anderen Beschleuniger(n) 1114 überlassen.
  • Der/die Beschleuniger 1114 (z.B. der Hardwarebeschleunigungscluster) kann/können einen/mehrere programmierbare(n) Sichtbeschleuniger (PVA) beinhalten, der/die hierin alternativ als ein Computer Vision Accelerator bezeichnet werden kann. Der/die PVA(s) kann/können dazu konzipiert und konfiguriert sein, die Bildverarbeitungsalgorithmen für die Anwendungen des Advanced Driver Assistance-Systems (ADAS), des autonomen Fahrens und/oder einer Augmented Reality (AR) und/oder Virtual Reality (VR) zu beschleunigen. Der/die PVA(s) kann/können ein Gleichgewicht zwischen Leistung und Flexibilität bereitstellen. Beispielsweise kann jede/jeder der PVA(s), beispielsweise und ohne Beschränkung, eine beliebige Anzahl von RISC (Reduced Instruction Set Computer)-Kernen, Direct Memory Access (DMA) und/oder eine beliebige Anzahl von Vektorprozessoren beinhalten.
  • Die RISC-Kerne können mit Bildsensoren (z.B. den Bildsensoren einer der hierin beschriebenen Kameras), einem oder mehreren Bildsignalprozessor(en) und/oder dergleichen interagieren. Jeder der RISC-Kerne kann beliebig viel Speicherplatz beinhalten. Die RISC-Kerne können je nach Ausführungsform eines von mehreren Protokollen verwenden. In einigen Beispielen können die RISC-Kerne ein Echtzeitbetriebssystem (RTOS) ausführen. Die RISC-Kerne können unter Verwendung einer oder mehrerer integrierter Schaltungsvorrichtungen, anwendungsspezifischer integrierter Schaltungen (ASICs) und/oder Speichervorrichtungen implementiert sein. Beispielsweise können die RISC-Kerne einen Befehls-Cache und/oder ein eng gekoppeltes RAM beinhalten.
  • Der DMA kann es Komponenten der PVA(s) ermöglichen, unabhängig von der/den CPU(s) 1106 auf den Systemspeicher zuzugreifen. Der DMA kann eine beliebige Anzahl von Merkmalen unterstützen, die dazu verwendet werden, eine Optimierung für die der PVA bereitzustellen, einschließlich, aber nicht beschränkt auf, der Unterstützung multidimensionaler Adressierung und/oder Ringadressierung. In einigen Beispielen kann der DMA bis zu sechs oder mehr Dimensionen der Adressierung unterstützen, welche Blockbreite, Blockhöhe, Blocktiefe, horizontale Blockstufen, vertikale Blockstufen und/oder Tiefenstufen beinhalten können.
  • Die Vektorprozessoren können programmierbare Prozessoren sein, die dazu konzipiert sein können, effizient und flexibel eine Programmierung für Computer Vision-Algorithmen durchzuführen und Signalverarbeitungsfunktionen bereitzustellen. In einigen Beispielen kann der/die PVA einen PVA-Kern und zwei Vektorverarbeitungs-Subsystem-Partitionen beinhalten. Der PVA-Kern kann ein Prozessorsubsystem, eine oder mehrere DMA-Maschinen (z.B. zwei DMA-Maschinen) und/oder andere Peripheriegeräte beinhalten. Das Vektorverarbeitungs-Subsystem kann als primäre Verarbeitungsmaschine des PVA arbeiten und kann eine Vektorverarbeitungseinheit (VPU), einen Befehls-Cache und/oder einen Vektorspeicher (z.B. VMEM) beinhalten. Ein VPU-Kern kann einen digitalen Signalprozessor beinhalten, wie beispielsweise einen digitalen Signalprozessor für Einzelbefehl, multiple Daten (SIMD), sehr langes Befehlswort digitalen (VLIW). Die Kombination von SIMD und VLIW kann den Durchsatz und die Geschwindigkeit erhöhen.
  • Jeder der Vektorprozessoren kann einen Befehlscache beinhalten und kann mit dediziertem Speicher gekoppelt sein. Infolgedessen kann in einigen Beispielen jeder der Vektorprozessoren dazu konfiguriert sein, unabhängig von den anderen Vektorprozessoren auszuführen. In anderen Beispielen können die Vektorprozessoren, die in einem bestimmten PVA enthalten sind, für die Verwendung von Datenparallelität konfiguriert sein. Beispielsweise kann in einigen Ausführungsformen die Vielzahl von in einem einzelnen PVA enthaltenen Vektorprozessoren den gleichen Computer Vision-Algorithmus ausführen, jedoch auf verschiedenen Regionen eines Bilds. In anderen Beispielen können die in einem bestimmten PVA enthaltenen Vektorprozessoren gleichzeitig verschiedene Computer Vision-Algorithmen auf demselben Bild ausführen oder sogar verschiedene Algorithmen über sequenzielle Bilder oder Teile eines Bilds ausführen. Unter anderem können beliebig viele PVAs in dem Hardwarebeschleunigungscluster enthalten sein, und können beliebig viele Vektorprozessoren in jedem der PVAs enthalten sein. Darüber hinaus können die PVA(s) zusätzlichen Fehlerkorrekturcode- bzw. Error Correcting Code (ECC)-Speicher beinhalten, um die Gesamtsystemsicherheit zu erhöhen.
  • Der/die Beschleuniger 1114 (z.B. der Hardwarebeschleunigungscluster) kann ein Computer Vision-Netzwerk auf dem Chip und SRAM beinhalten, um ein SRAM mit hoher Bandbreite und niedriger Latenz für den/die Beschleuniger 1114 bereitzustellen. In einigen Beispielen kann der On-Chip-Speicher zumindest 4 MB SRAM beinhalten, der beispielsweise, und ohne Beschränkung, aus acht feldkonfigurierbaren Speicherblöcken besteht, die sowohl für PVA als auch für DLA zugänglich sind. Jedes Paar von Speicherblöcken kann eine erweiterte Advanced Peripheral Bus (APB)-Schnittstelle, Konfigurationsschaltkreise, eine Steuereinrichtung und einen Multiplexer beinhalten. Es kann jede Art von Speicher verwendet werden. PVA und DLA können über ein Backbone, das PVA und DLA einen schnellen Zugriff auf den Speicher ermöglicht, auf den Speicher zugreifen. Das Backbone kann ein Computer Vision-Netzwerk auf dem Chip beinhalten, das PVA und das DLA (z.B. über das APB) mit dem Speicher verbindet.
  • Das Computer-Vision-Netzwerk auf dem Chip kann eine Schnittstelle beinhalten, die vor der Übertragung irgendwelcher Steuersignale/Adressen/Daten bestimmt, dass sowohl der PVA als auch der DLA bereite und gültige Signale bereitstellen. Eine solche Schnittstelle kann getrennte Phasen und getrennte Kanäle für die Übertragung von Steuersignalen/Adressen/Daten sowie eine burstartige Kommunikation für kontinuierliche Datenübertragung bereitstellen. Diese Art von Schnittstelle kann den Normen ISO 26262 oder IEC 61508 entsprechen, obwohl andere Normen und Protokolle verwendet werden können.
  • In einigen Beispielen können die SoC(s) 1104 einen Echtzeit-Ray-Tracing-Hardwarebeschleuniger beinhalten, wie er in der am 10. August 2018 eingereichten US-Patentanmeldung Nr. 16/101,232 beschrieben ist. Der Echtzeit-Ray-Tracing-Hardwarebeschleuniger kann dazu verwendet werden, schnell und effizient die Positionen und Ausmaße von Objekten (z.B. innerhalb eines Weltmodells) zu bestimmen, um Echtzeit-Visualisierungssimulationen zur RADAR-Signalinterpretation, zur Schallausbreitungssynthese und/oder -analyse, zur Simulation von SONAR-Systemen, zur Simulation allgemeiner Wellenausbreitung, zum Vergleich mit LIDAR-Daten zu Zwecken der Lokalisierung und/oder anderer Funktionen und/oder für andere Anwendungen zu generieren.
  • Der/die Beschleuniger 1114 (z.B. der Hardwarebeschleunigercluster) haben ein breites Anwendungsspektrum für autonomes Fahren. Der PVA kann ein programmierbarer Vision-Beschleuniger sein, der für wichtige Verarbeitungsstufen in ADAS und autonomen Fahrzeugen verwendet werden kann. Die Fähigkeiten des PVAs sind eine gute Ergänzung für algorithmische Domänen, die eine vorhersagbare Verarbeitung benötigen, bei geringer Leistung und geringer Latenz. Mit anderen Worten schneidet der PVA bei semidichtem oder dichtem regulärem Rechnen gut ab, selbst bei kleinen Datensätzen, die vorhersagbare Laufzeiten mit geringer Latenz und geringer Leistung benötigen. Folglich sind in dem Kontext von Plattformen für autonome Fahrzeuge die PVAs dazu konzipiert, klassische Computer Vision-Algorithmen auszuführen, da sie bei der Objekterfassung effizient sind und mit ganzzahliger Mathematik arbeiten.
  • Beispielsweise wird gemäß einer Ausführungsform der Technologie der PVA zur Durchführung von Computer-Stereo-Sehen verwendet. In einigen Beispielen kann ein semi-globaler, matching-basierter Algorithmus verwendet werden, obwohl dies nicht einschränkend ist. Viele Anwendungen für autonomes Fahren der Stufen 3-5 erfordern eine Bewegungsschätzung/ein Stereomatching on-the-fly (z.B. Struktur aus Bewegung, Fußgängererkennung, Spurerfassung, usw.). Der PVA kann eine Computer-Stereo-Vision-Funktion auf Eingaben von zwei Monokularkameras durchführen.
  • In einigen Beispielen kann der PVA zur Durchführung eines dichten optischen Flusses verwendet werden. Demgemäß zum Verarbeiten von RADAR-Rohdaten (z.B. unter Verwendung einer 4D Fast Fourier-Transformation), um Verarbeitetes RADAR bereitzustellen. In anderen Beispielen wird der PVA für die Flugzeit-Tiefenverarbeitung verwendet, indem Flugzeit-Rohdaten verarbeitet werden, um z.B. verarbeitete Flugzeitdaten bereitzustellen.
  • Der DLA kann dazu verwendet werden, jede Art von Netzwerk zu betreiben, um die Steuerung und die Fahrsicherheit zu verbessern, einschließlich beispielsweise eines neuronalen Netzwerks, das ein Vertrauensmaß für jede Objekterfassung ausgibt. Ein solcher Vertrauenswert kann als eine Wahrscheinlichkeit oder als Bereitstellen einer relativen „Gewichtung“ jeder Erfassung im Vergleich zu anderen Erfassungen interpretiert werden. Dieser Vertrauenswert ermöglicht es dem System, weitere Entscheidungen dahingehend zu treffen, welche Erfassungen als wahre positive Erfassungen und nicht als falsch positive Erfassungen zu betrachten sind. Beispielsweise kann das System einen Schwellenwert für das Vertrauen festlegen und nur die den Schwellenwert übersteigenden Erfassungen als wahre positive Erfassungen betrachten. In einem automatischen Notbremssystem (AEB) würden falsch positive Erfassungen dazu führen, dass das Fahrzeug automatisch eine Notbremsung durchführt, welches offensichtlich unerwünscht ist. Daher sollten nur die vertrauenswürdigsten Erfassungen als Auslöser für die AEB betrachtet werden. Der DLA kann ein neuronales Netzwerk zur Regression des Vertrauenswerts betreiben. Das neuronale Netzwerk kann zumindest eine Teilmenge von Parametern als seinen Input verwenden, wie z.B. Abmessungen des Begrenzungsrahmens, eine Grundwahrheitsschätzung (z.B. von einem anderen Subsystem), eine Ausgabe des Sensors 1166 der Trägheitsmesseinheit (IMU), der mit der Orientierung des Fahrzeugs 102 korreliert, eine Entfernung und 3D-Positionsschätzungen des Objekts, die aus dem neuronalen Netzwerk und/oder anderen Sensoren (z.B. LIDAR-Sensor(en) 1164 oder RADAR-Sensor(en) 1160) erhalten wurden, unter anderem.
  • Das/die SoC(s) 1104 kann/können Datenspeicher 1116 (z.B. Speicher) beinhalten. Die Datenspeicher 1116 können On-Chip-Speicher des/der SoC(s) 1104 sein, die neuronale Netzwerke speichern können, die auf der GPU und/oder dem DLA auszuführen sind. In einigen Beispielen kann/können der/die Datenspeicher 1116 groß genug sein, um mehrere Instanzen neuronaler Netzwerke für Redundanz und Sicherheit zu speichern. Der/die Datenspeicher 1112 können L2- oder L3-Cache(s) 1112 umfassen. Die Bezugnahme auf den/die Datenspeicher 1116 kann eine Referenz auf den Speicher beinhalten, der dem PVA, DLA und/oder einem oder mehreren anderen Beschleuniger(n) 1114 zugeordnet ist, wie hierin beschrieben.
  • Das/die SoC(s) 1104 kann/können einen oder mehrere Prozessor(en) 1110 (z.B. eingebettete Prozessoren) beinhalten. Der/die Prozessor(en) 1110 können einen Boot- und Power-Management-Prozessor beinhalten, der ein dedizierter Prozessor und ein Subsystem sein kann, um Boot-Power- und Management-Funktionen und damit verbundene Sicherheitserzwingung zu übernehmen. Der Boot- und Power-Management-Prozessor kann ein Teil des/der SoC(s) 1104-Boot-Sequenz sein und zur Laufzeit Power-Management-Dienste bereitstellen. Der Boot-Power- und Management-Prozessor kann Takt- und Spannungsprogrammierung, Unterstützung bei Systemübergängen auf niedrigem Stromverbrauch, Verwaltung von Thermik- und Temperatursensoren des/der SoC(s) 1104 und/oder Verwaltung der Leistungszustände des/der SoC(s) 1104 bereitstellen. Jeder Temperatursensor kann als ein Ringoszillator implementiert werden, dessen Ausgangsfrequenz proportional zu der Temperatur ist, und das/die SoC(s) 1104 kann/können die Ringoszillatoren dazu verwenden, Temperaturen der CPU(s) 1106, GPU(s) 1108 und/oder Beschleuniger 1114 zu erfassen. Falls festgestellt wird, dass die Temperaturen einen Schwellenwert überschreiten, kann der Boot- und Power-Management-Prozessor in eine Temperaturfehlerroutine eintreten und das/die SoC(s) 1104 in einen Niedrigleistungszustand versetzen und/oder das Fahrzeug 102 in einen Chauffeur-zu-sicherem-Stopp-Modus versetzen (z.B. das Fahrzeug 102 zu einem sicheren Halt bringen).
  • Der/die Prozessor(en) 110 können ferner einen Satz von eingebetteten Prozessoren beinhalten, die als eine Audioverarbeitungsmaschine dienen können. Die Audioverarbeitungsmaschine kann ein Audiosubsystem sein, das volle Hardwareunterstützung für Mehrkanal-Audio über mehrere Schnittstellen und einen breiten und flexiblen Bereich von Audio-I/O-Schnittstellen ermöglicht. In einigen Beispielen ist die Audioverarbeitungsmaschine ein dedizierter Prozessorkern mit einem digitalen Signalprozessor mit dediziertem RAM.
  • Der/die Prozessor(en) 1110 können ferner eine Always-On-Prozessor-Engine beinhalten, die notwendige Hardwaremerkmale bereitstellen kann, um die Verwaltung von Sensoren mit niedriger Leistung und Aufwach-Anwendungsfälle zu unterstützen. Die Always-On-Prozessor-Engine kann einen Prozessorkern, ein eng gekoppeltes RAM, Unterstützung von Peripheriegeräten (z.B. Zeitgeber und Unterbrechungs-Steuereinrichtungen), verschiedene I/O-Steuereinrichtungs-Peripheriegeräte und Routinglogik beinhalten.
  • Der/die Prozessor(en) 1110 können ferner eine Sicherheits-Cluster-Engine beinhalten, die ein dediziertes Prozessorsubsystem zum Handhaben des Sicherheitsmanagements für Automobilanwendungen beinhaltet. Die Sicherheits-Cluster-Engine kann zwei oder mehr Prozessorkerne, ein eng gekoppeltes RAM, Unterstützung von Peripheriegeräten (z.B. Zeitgeber und Unterbrechungs-Steuereinrichtungen) und/oder Routinglogik beinhalten. In einem Sicherheitsmodus können die zwei oder mehr Kerne in einem Schrittverriegelungs- bzw. Lockstep-Modus arbeiten und als ein einzelner Kern mit Vergleichslogik fungieren, um irgendwelche Unterschiede zwischen ihren Operationen zu erkennen.
  • Der/die Prozessor(en) 1110 können ferner eine Echtzeit-Kamera-Engine beinhalten, die ein dediziertes Prozessorsubsystem zur Handhabung eines Echtzeit-Kamera-Managements beinhalten kann.
  • Der/die Prozessor(en) 1110 können ferner einen Signalprozessor mit hohem Dynamikbereich beinhalten, der einen Bildsignalprozessor beinhalten kann, der eine Hardware-Engine ist, die Teil der Kameraverarbeitungspipeline ist.
  • Der/die Prozessor(en) 1110 können einen Videobildkompositor beinhalten, der ein (z.B. auf einem Mikroprozessor implementierter) Verarbeitungsblock sein kann, der Videonachbearbeitungsfunktionen implementiert, die von einer Videowiedergabeanwendung benötigt werden, um das finale Bild für das Abspielerfenster zu erzeugen. Der Videobildkompositor kann die Objektivverzerrungskorrektur an der/den Weitwinkelkameras 1170, der/den Surround-Kameras 1174 und/oder an in der Kabine montierten Kamerasensoren durchführen. Ein kabineninterner Überwachungskamerasensor wird vorzugsweise von einem neuronalen Netzwerk überwacht, das auf einer anderen Instanz des Advanced SoC läuft und dazu konfiguriert ist, Ereignisse in der Kabine zu identifizieren und entsprechend zu reagieren. Ein kabineninternes System kann ein Lippenlesen durchführen, um den Mobilfunk zu aktivieren und einen Anruf zu tätigen, E-Mails zu diktieren, das Ziel des Fahrzeugs zu ändern, das Infotainmentsystem und die Einstellungen des Fahrzeugs zu aktivieren oder zu ändern, oder sprachaktiviertes Internetsurfen bereitzustellen. Bestimmte Funktionen stehen dem Fahrer nur zur Verfügung, wenn das Fahrzeug in einem autonomen Modus betrieben wird, und sind andernfalls deaktiviert.
  • Der Videobild-Kompositor kann eine verbesserte zeitliche Rauschunterdrückung für sowohl räumliche als auch zeitliche Rauschunterdrückung beinhalten. Wenn beispielsweise eine Bewegung in einem Video auftritt, gewichtet die Rauschunterdrückung räumliche Informationen entsprechend und verringert das Gewicht von Informationen, die von benachbarten Einzelbildern bereitgestellt werden. Wenn ein Bild oder ein Teil eines Bilds keine Bewegung beinhaltet, kann die von dem Videobild-Kompositor durchgeführte zeitliche Rauschunterdrückung Informationen aus dem vorherigen Bild verwenden, um Rauschen in dem aktuellen Bild zu reduzieren.
  • Der Videobild-Kompositor kann auch dazu konfiguriert sein, eine Stereogleichrichtung auf zugeführten Stereoobjektiv-Einzelbildern durchzuführen. Der Videobild-Kompositor kann ferner für die Zusammensetzung der Benutzerschnittstelle verwendet werden, wenn der Desktop des Betriebssystems in Verwendung ist, so dass die GPU(s) 1108 nicht kontinuierlich neue Oberflächen rendern muss/müssen. Selbst wenn die GPU(s) 1108 eingeschaltet und aktiv ist/sind und aktiv ein 3D-Rendering durchführt/durchführen, kann der Videobild-Kompositor dazu verwendet werden, die GPU(s) 1108 zu entlasten, um Leistung und Ansprechvermögen zu verbessern.
  • Das/die SoC(s) 1104 kann/können ferner eine serielle MIPI (Mobile Industry Processor Interface)-Kameraschnittstelle zum Empfangen von Video und Eingaben von Kameras, eine Hochgeschwindigkeitsschnittstelle und/oder einen Videoeingangsblock, der für Kamera- und verwandte Pixeleingabefunktionen verwendet werden kann, beinhalten. Das/die SoC(s) 1104 kann/können ferner eine oder mehrere Eingabe-/Ausgabe-Steuereinrichtungen beinhalten, die durch Software gesteuert werden können und zum Empfangen von I/O-Signalen, die nicht für eine bestimmte Rolle bestimmt sind, verwendet werden können.
  • Das/die SoC(s) 1104 kann/können ferner einen breiten Bereich von Peripherieschnittstellen beinhalten, um Kommunikation mit Peripheriegeräten, Audiocodecs, Energieverwaltung und/oder anderen Vorrichtungen zu ermöglichen. Das/die SoC(s) 1104 kann/können zur Verarbeitung von Daten von Kameras (z.B. verbunden über Gigabit Multimedia Serial Link und Ethernet), Sensoren (z.B. LIDAR-Sensor(en) 1164, RADAR-Sensor(en) 1160 usw., die über Ethernet verbunden sein können), Daten von dem Bus 1102 (z.B. die Geschwindigkeit des Fahrzeugs 102, Lenkradposition usw.), Daten von GNSS-Sensor(en) 1158 (z.B. verbunden über Ethernet oder CAN-Bus) verwendet werden. Das/die SoC(s) 1104 kann/können ferner dedizierte Hochleistungs-Massenspeicher-Steuereinrichtungen beinhalten, die ihre eigenen DMA-Engines beinhalten können und die dazu verwendet werden können, die CPU(s) 1106 von Routine-Datenverwaltungsaufgaben zu befreien.
  • Das/die SoC(s) 1104 kann/können eine Ende-zu-Ende-Plattform mit einer flexiblen Architektur sein, die die Automatisierungsstufen 3-5 überspannt und dadurch eine umfassende funktionale Sicherheitsarchitektur bereitstellt, die Computer Vision- und ADAS-Techniken für Vielfalt und Redundanz nutzt und effizient davon Gebrauch macht, eine Plattform für einen flexiblen, zuverlässigen Treibersoftware-Stack bereitstellt, zusammen mit Deep Learning-Werkzeugen. Das/die SoC(s) 1104 kann/können schneller, zuverlässiger und sogar energieeffizienter und platzsparender sein als konventionelle Systeme. Beispielsweise kann/können das/die Fahrpedal(e) 1114 in Kombination mit der/den CPU(s) 1106, der/den GPU(s) 1108 und dem/den Datenspeicher(n) 1116 eine schnelle, effiziente Plattform für autonome Fahrzeuge der Stufe 3-5 bereitstellen.
  • Die Technologie stellt damit Fähigkeiten und Funktionalität bereit, die mit konventionellen Systemen nicht erreicht werden können. Beispielsweise können Computer Vision-Algorithmen auf CPUs ausgeführt werden, welche unter Verwendung einer höheren Programmiersprache, wie beispielsweise der Programmiersprache C, dazu konfiguriert sein können, eine Vielzahl von Verarbeitungsalgorithmen über eine Vielzahl von visuellen Daten auszuführen. Jedoch sind CPUs oft nicht in der Lage, die Leistungsanforderungen vieler Computer Vision-Anwendungen zu erfüllen, wie beispielsweise solche mit Bezug zu Ausführungszeit und Stromverbrauch. Insbesondere sind viele CPUs nicht in der Lage, komplexe Objekterfassungsalgorithmen in Echtzeit auszuführen, welches eine Notwendigkeit für fahrzeuginterne ADAS-Anwendungen und eine Notwendigkeit für praxisgerechte autonome Fahrzeuge der Stufe 3-5 ist.
  • Im Gegensatz zu konventionellen Systemen ermöglicht die hierin beschriebene Technologie durch Bereitstellen eines CPU-Komplexes, eines GPU-Komplexes und eines Hardwarebeschleunigungsclusters die gleichzeitige und/oder sequentielle Ausführung mehrerer neuronaler Netzwerke und die Kombination der Ergebnisse, um eine autonome Fahrfunktionalität der Stufe 3-5 zu ermöglichen. Beispielsweise kann ein CNN, das auf dem DLA oder der dGPU (z.B. der/den GPU(s) 1120) ausgeführt wird, eine Text- und Wort-Erkennung beinhalten, welches es dem Supercomputer ermöglicht, Verkehrszeichen zu lesen und zu verstehen, einschließlich von Schildern, für die das neuronale Netzwerk nicht speziell trainiert wurde. Das DLA kann ferner ein neuronales Netzwerk beinhalten, das in der Lage ist, ein Schild zu identifizieren, zu interpretieren und semantisch zu verstehen und dieses semantische Verständnis an die auf dem CPU-Komplex laufenden Wegplanungsmodule weiterzugeben.
  • Als weiteres Beispiel können mehrere neuronale Netzwerke gleichzeitig betrieben werden, wie es für das Fahren auf Stufe 3, 4 oder 5 erforderlich ist. Beispielsweise kann ein Warnzeichen bestehend aus „Achtung: Blinkende Lichter zeigen eisige Zustände an“ zusammen mit einem elektrischen Licht von mehreren neuronalen Netzwerken unabhängig oder gemeinsam interpretiert werden. Das Schild selbst kann durch ein erstes eingesetztes neuronales Netzwerk (z.B. ein trainiertes neuronales Netzwerk) als ein Verkehrszeichen identifiziert werden, der Text „Blinkende Lichter zeigen eisige Zustände an“ kann durch ein zweites eingesetztes neuronales Netzwerk interpretiert werden, das die Wegplanungssoftware des Fahrzeugs (die vorzugsweise auf dem CPU-Komplex läuft) darüber informiert, dass bei Erfassung von Blinkleuchten eisige Zustände vorliegen. Das Blinklicht kann identifiziert werden, indem ein drittes eingesetztes neuronales Netzwerk über mehrere Einzelbilder hinweg betrieben wird und die Wegplanungssoftware des Fahrzeugs über das Vorhandensein (oder Fehlen) von Blinklichtern informiert wird. Alle drei neuronalen Netzwerke können gleichzeitig laufen, wie beispielsweise innerhalb des DLA und/oder auf der/den GPU(s) 1108.
  • In einigen Beispielen kann ein CNN zur Gesichtserkennung und Fahrzeughalteridentifikation Daten von Kamerasensoren dazu verwenden, das Vorhandensein eines autorisierten Fahrers und/oder Eigentümers des Fahrzeugs 102 zu identifizieren. Die immer eingeschaltete Sensorverarbeitungs-Engine kann dazu verwendet werden, das Fahrzeug zu entriegeln, wenn sich der Eigentümer der Fahrertür nähert, und die Lichter einzuschalten, und, im Sicherheitsmodus, das Fahrzeug zu deaktivieren, wenn der Eigentümer das Fahrzeug verlässt. Auf diese Weise stellt/stellen das/die SoC(s) 1104 einen Schutz vor Diebstahl und/oder Autodiebstahl bereit.
  • In einem weiteren Beispiel kann ein CNN für die Erfassung und Identifizierung von Einsatzfahrzeugen Daten aus den Mikrofonen 1196 dazu verwenden, Sirenen von Einsatzfahrzeugen zu erkennen und zu identifizieren. Im Gegensatz zu konventionellen Systemen, die allgemeine Klassifizierer dazu verwenden, Sirenen zu erkennen, und Merkmale manuell extrahieren, verwendet/verwenden das/die SoC(s) 1104 das CNN zur Klassifizierung von Umgebungs- und Stadtgeräuschen sowie zur Klassifizierung von visuellen Daten. In einer bevorzugten Ausführungsform ist das auf dem DLA laufende CNN dazu trainiert, die relative Annäherungsgeschwindigkeit des Einsatzfahrzeugs (z.B. unter Verwendung des Doppler-Effekts) zu identifizieren. Das CNN kann auch dazu trainiert werden, Einsatzfahrzeuge zu identifizieren, die spezifisch für das lokale Gebiet sind, in dem das Fahrzeug eingesetzt wird, wie durch den/die GNSS-Sensor(en) 1158 identifiziert. Beispielsweise wird dann, wenn es in Europa betrieben wird, das CNN versuchen, europäische Sirenen zu erkennen, und wird das CNN dann, wenn es sich in den Vereinigten Staaten befindet, versuchen, nur nordamerikanische Sirenen zu identifizieren. Sobald ein Einsatzfahrzeug erfasst ist, kann ein Steuerprogramm dazu verwendet werden, unter Verwendung von Ultraschallsensoren 1162 eine Einsatzfahrzeug-Sicherheitsroutine auszuführen, das Fahrzeug zu verlangsamen, an den Straßenrand zu ziehen, das Fahrzeug zu parken und/oder das Fahrzeug im Leerlauf zu halten, bis das/die Einsatzfahrzeug(e) vorbeifährt/vorbeifahren.
  • Das Fahrzeug kann eine oder mehrere CPU(s) 1118 (z.B. diskrete CPU(s) oder dCPU(s)) beinhalten, die über eine Hochgeschwindigkeitsverbindung (z.B. PCIe) mit dem/den SoC(s) 1104 gekoppelt sein kann/können. Die CPU(s) 1118 kann/können beispielsweise einen X86-Prozessor beinhalten. Die CPU(s) 1118 kann/können dazu verwendet werden, eine Vielzahl von Funktionen durchzuführen, einschließlich einer Arbitrierung potenziell inkonsistenter Ergebnisse zwischen ADAS-Sensoren und dem/den SoC(s) 1104 und/oder einem Überwachen des Zustands und der Gesundheit der Steuereinrichtung(en) 1136 und/oder des Infotainment-SoC 1130, zum Beispiel.
  • Das Fahrzeug 102 kann eine oder mehrere GPU(s) 1120 (z.B. diskrete GPU(s) oder dGPU(s)) beinhalten, die über eine Hochgeschwindigkeitsverbindung (z.B. NVIDIAs NVLINK) mit dem/den SoC(s) 1104 gekoppelt sein kann. Die GPU(s) 1120 können zusätzliche Funktionalität künstlicher Intelligenz bereitstellen, wie beispielsweise durch Ausführen redundanter und/oder verschiedener neuronaler Netzwerke, und können dazu verwendet werden, neuronale Netzwerke basierend zumindest teilweise auf Eingaben (z.B. Sensordaten) von Sensoren des Fahrzeugs 102 zu trainieren und/oder zu aktualisieren.
  • Das Fahrzeug 102 kann ferner die Netzwerkschnittstelle 1124 beinhalten, welche eine oder mehrere drahtlose Antennen 1126 beinhalten kann (z.B. eine oder mehrere drahtlose Antennen für verschiedene Kommunikationsprotokolle, wie beispielsweise eine Mobilfunkantenne, eine Bluetooth-Antenne usw.). Die Netzwerkschnittstelle 1124 kann dazu verwendet werden, drahtlose Konnektivität über das Internet mit der Cloud (z.B. mit dem/den Server(n) 104 und/oder anderen Netzwerkvorrichtungen), mit anderen Fahrzeugen und/oder mit Rechenvorrichtungen (z.B. Client-Vorrichtungen von Fahrgästen) zu ermöglichen. Zur Kommunikation mit anderen Fahrzeugen kann eine direkte Verbindung zwischen den beiden Fahrzeugen und/oder eine indirekte Verbindung (z.B. über Netzwerke und über das Internet) hergestellt werden. Direkte Verbindungen können über eine Kommunikationsverbindung zwischen Fahrzeug und Fahrzeug bereitgestellt werden. Die Fahrzeug-zu-Fahrzeug-Kommunikationsverbindung kann dem Fahrzeug 102 Informationen über Fahrzeuge in der Nähe des Fahrzeugs 102 liefern (z.B. Fahrzeuge vor dem, seitlich des und/oder hinter dem Fahrzeug(s) 102). Diese Funktionalität kann Teil einer kooperativen adaptiven Geschwindigkeitsregelungsfunktionalität des Fahrzeugs 102 sein.
  • Die Netzwerkschnittstelle 1124 kann ein SoC beinhalten, das Modulations- und Demodulations-Funktionalität bereitstellt und es der/den Steuereinrichtung(en) ermöglicht, über drahtlose Netzwerke zu kommunizieren. Die Netzwerkschnittstelle 1124 kann ein Funkfrequenz-Frontend für eine Aufwärtskonvertierung aus dem Basisband auf Hochfrequenz und eine Abwärtskonvertierung aus der Hochfrequenz in das Basisband beinhalten. Die Frequenzumwandlungen können mittels gut bekannten Verfahren durchgeführt werden, und/oder können durch unter Verwendung von Superheterodynverfahren durchgeführt werden. In einigen Beispielen kann die Funkfrequenz-Frontend-Funktionalität durch einen separaten Chip bereitgestellt sein. Die Netzwerkschnittstelle kann drahtlose Funktionalität zum Kommunizieren über LTE, WCDMA, UMTS, GSM, CDMA2000, Bluetooth, Bluetooth, LE, Wi-Fi, Z-Wave, ZigBee, LoRaWAN und/oder andere drahtlose Protokolle beinhalten.
  • Das Fahrzeug 102 kann ferner einen oder mehrere Datenspeicher 1128 beinhalten, die auch Off-Chip-Speicher (z.B. außerhalb des/der SoC(s) 1104) beinhalten können. Der/die Datenspeicher 1128 können ein oder mehrere Speicherelemente einschließlich von RAM, SRAM, DRAM, VRAM, Flash, Festplatten und/oder andere Komponenten und/oder Vorrichtungen beinhalten, die zumindest ein Bit Daten speichern können.
  • Das Fahrzeug 102 kann ferner einen oder mehrere GNSS-Sensor(en) 1158 beinhalten. Der/die GNSS-Sensor(en) 1158 (z.B. GPS- und/oder assistierte GPS-Sensoren), um Kartierungs-, Wahrnehmungs-, Belegungsnetzgenerierungs- und/oder Wegplanungsfunktionen zu unterstützen. Es kann eine beliebige Anzahl von GNSS-Sensor(en) 1158 verwendet werden, einschließlich, beispielsweise und ohne Beschränkung darauf, eines einen USB-Anschluss mit einer Ethernet-Seriell-(RS-232)-Brücke verwendenden GPS.
  • Das Fahrzeug 102 kann ferner einen oder mehrere RADAR-Sensor(en) 1160 beinhalten. Der/die RADAR-Sensor(en) 1160 kann/können von dem Fahrzeug 102 zur weiträumigen Fahrzeugerfassung verwendet werden, selbst bei Dunkelheit und/oder extremen Wetterbedingungen. Die funktionalen Sicherheitsniveaus von RADAR können ASIL B sein. Der/die RADAR-Sensoren 1160 kann/können den CAN und/oder den Bus 1102 zur Steuerung verwenden (z.B. um Daten zu übertragen, die von dem/den RADAR-Sensor(en) 1160 erzeugt wurden) und um auf Objektnachverfolgungsdaten zuzugreifen, mit in einigen Beispielen Zugriff auf Ethernet für den Zugriff auf Rohdaten. Es können eine Vielzahl von RADAR-Sensortypen verwendet werden. Beispielsweise und ohne Beschränkung darauf kann/können der/die RADAR-Sensor(en) 1160 für den frontseitigen, heckseitigen und seitlichen RADAR-Einsatz geeignet sein. In einigen Beispielen werden Puls-Doppler-RADAR-Sensoren verwendet.
  • Die RADAR-Sensor(en) 1160 können verschiedene Konfigurationen beinhalten, wie z.B. mit langer Reichweite und engem Sichtfeld, kurzer Reichweite mit weitem Sichtfeld, kurzer Reichweite mit seitlicher Abdeckung, usw. In einigen Beispielen kann das Langstrecken-RADAR für adaptive Geschwindigkeitsregelungsfunktionalität verwendet werden. Die Langstrecken-RADAR-Systeme können ein breites Sichtfeld bereitstellen, das durch zwei oder mehr unabhängige Abtastungen, beispielsweise in einem Umkreis von 250 m, realisiert wird. Der/die RADAR-Sensor(en) 1160 können bei der Unterscheidung zwischen statischen und beweglichen Objekten helfen, und können von ADAS-Systemen zur Notbremsunterstützung und Vorauskollisionswarnung verwendet werden. Langstrecken-RADAR-Sensoren können monostatisches multimodales RADAR mit mehreren (z.B. sechs oder mehr) festen RADAR-Antennen und einer schnellen CAN- und FlexRay-Schnittstelle beinhalten. In einem Beispiel mit sechs Antennen können die zentralen vier Antennen ein fokussiertes Strahlmuster erzeugen, das dazu ausgelegt ist, die Umgebung des Fahrzeugs 102 bei höheren Geschwindigkeiten mit minimalen Störungen durch den Verkehr auf benachbarten Fahrspuren aufzuzeichnen. Die beiden anderen Antennen können das Sichtfeld erweitern, so dass Fahrzeuge, die in die Spur des Fahrzeugs 102 einfahren oder diese verlassen, schnell erfasst werden können.
  • Mittelstrecken-RADAR-Systeme können beispielsweise eine Reichweite von bis zu 1460 m (vorne) oder 80 m (hinten) und ein Sichtfeld von bis zu 42 Grad (vorne) oder 1450 Grad (hinten) beinhalten. Kurzstrecken-RADAR-Systeme können, ohne darauf beschränkt zu sein, RADAR-Sensoren beinhalten, die für die Installation an beiden Enden der hinteren Stoßstange ausgelegt sind. Wenn sie an beiden Enden der hinteren Stoßstange installiert sind, kann ein solches RADAR-Sensorsystem zwei Strahlen erzeugen, die den toten Winkel am Heck und neben dem Fahrzeug ständig überwachen.
  • Kurzstrecken-RADAR-Systeme können in einem ADAS-System zur Erfassung des toten Winkels und/oder zur Spurwechselunterstützung eingesetzt sein.
  • Das Fahrzeug 102 kann ferner einen oder mehrere Ultraschallsensor(en) 1162 beinhalten. Der/die Ultraschallsensor(en) 1162, welche vorne, hinten und/oder an den Seiten des Fahrzeugs 102 positioniert sein kann/können, kann/können zur Einparkhilfe und/oder zur Erstellung und Aktualisierung eines Belegungsrasters verwendet werden. Ein breiter Bereich von Ultraschallsensor(en) 1162 kann/können verwendet werden, und verschiedene Ultraschallsensor(en) 1162 können für verschiedene Erfassungsbereiche (z.B. 2,5m, 4m) verwendet werden. Der/die Ultraschallsensor(en) 1162 können auf funktionellen Sicherheitsniveaus von ASIL B betrieben werden.
  • Das Fahrzeug 102 kann LIDAR-Sensor(en) 1164 beinhalten. Der/die LIDAR-Sensor(en) 1164 kann/können zur Objekt- und Fußgänger-Erfassung, Notbremsung, Kollisionsvermeidung und/oder für andere Funktionen verwendet werden. Der/die LIDAR-Sensor(en) 1164 kann/können funktionelles Sicherheitsniveau von ASIL B sein. In einigen Beispielen kann das Fahrzeug 102 mehrere LIDAR-Sensoren 1164 (z.B. zwei, vier, sechs usw.) beinhalten, die Ethernet verwenden können (z.B. um Daten an einen Gigabit-Ethernet-Switch zu liefern).
  • In einigen Beispielen kann/können der/die LIDAR-Sensor(en) 1164 in der Lage sein, eine Liste von Objekten und deren Entfernungen für ein 360-Grad-Sichtfeld bereitzustellen. Kommerziell verfügbare LIDAR-Sensor(en) 1164 können beispielsweise eine beworbene Reichweite von näherungsweise 1400 m haben, mit einer Genauigkeit von 2 cm-3 cm und mit Unterstützung einer 1400 Mbit/s-Ethernet-Verbindung. In einigen Beispielen können ein oder mehrere nicht vorstehende LIDAR-Sensoren 1164 verwendet werden. In solchen Beispielen kann/können der/die LIDAR-Sensor(en) 1164 als eine kleine Vorrichtung implementiert sein, die in die Front, das Heck, die Seiten- und/oder die Ecken des Fahrzeugs 102 eingebettet sein kann. Der/die LIDAR-Sensor(en) 1164 kann/können in solchen Beispielen bis zu 1420 Grad horizontales Sichtfeld und 35 Grad vertikales Sichtfeld bereitstellen, mit einer Reichweite von 200 Metern auch für Objekte mit geringer Reflektivität. Frontmontierte LIDAR-Sensor(en) 1164 können für ein horizontales Sichtfeld zwischen 45 Grad und 135 Grad konfiguriert sein.
  • In einigen Beispielen können auch LIDAR-Technologien wie beispielsweise 3D-Flash-LIDAR verwendet sein. 3D-Flash-LIDAR verwendet einen Laserblitz als eine Übertragungsquelle, um die Fahrzeugumgebung bis hin zu etwa 200m auszuleuchten. Eine Flash-LIDAR-Einheit beinhaltet einen Rezeptor, welcher die Laserpulslaufzeit und das reflektierte Licht auf jedem Pixel erfasst, welches wiederum dem Bereich von dem Fahrzeug zu den Objekten entspricht. Flash LIDAR kann es ermöglichen, mit jedem Laserblitz hochpräzise und verzerrungsfreie Bilder der Umgebung zu erzeugen. In einigen Beispielen können vier Flash-LIDAR-Sensoren eingesetzt werden, einer auf jeder Seite des Fahrzeugs 102. Verfügbare 3D-Flash-LIDAR-Systeme beinhalten eine Festkörper-3D-Sternfeld-LIDAR-Kamera ohne bewegliche Teile außer einem Lüfter (z.B. eine nicht abtastende LIDAR-Vorrichtung). Die Flash-LIDAR-Vorrichtung kann einen 5 Nanosekunden-Laserimpuls der Klasse I (augensicher) pro Einzelbild verwenden und kann das reflektierte Laserlicht in Form von 3D-Bereich-Punktwolken und co-registrierten Intensitätsdaten erfassen. Durch Verwenden von Flash-LIDAR und weil Flash-LIDAR eine Festkörpervorrichtung ohne bewegliche Teile ist, kann/können der/die LIDAR-Sensor(en) 1164 weniger anfällig für Bewegungsunschärfe, Vibrationen und/oder Stöße sein.
  • Das Fahrzeug kann ferner einen oder mehrere IMU-Sensor(en) 1166 beinhalten. Der/die IMU-Sensor(en) 1166 können sich in einigen Beispielen in einer Mitte der Hinterachse des Fahrzeugs 102 befinden. Der/die IMU-Sensor(en) 1166 kann/können beispielsweise ein oder mehrere Beschleunigungssensor(en), Magnetometer, Gyroskop(e), Magnetkompass(e) und/oder andere Sensortypen beinhalten. In einigen Beispielen, wie beispielsweise in Sechs-Achsen-Anwendungen, kann/können der/die IMU-Sensor(en) 1166 Beschleunigungssensoren und Gyroskope beinhalten, während in Neun-Achsen-Anwendungen der/die IMU-Sensor(en) 1166 Beschleunigungssensoren, Gyroskope und Magnetometer beinhalten können.
  • In einigen Ausführungsformen kann/können der/die IMU-Sensor(en) 1166 als ein miniaturisiertes, leistungsstarkes GPS-gestütztes Trägheitsnavigationssystem (GPS/INS) implementiert sein, das Trägheitssensoren mikro-elektromechanischer Systeme (MEMS), einen hochempfindlichen GPS-Empfänger und fortschrittliche Kalman-Filteralgorithmen kombiniert, um Schätzungen von Position, Geschwindigkeit und Lage zu liefern. Als solcher kann/können in einigen Beispielen der/die IMU-Sensor(en) 1166 dem Fahrzeug 102 ermöglichen, die Richtung zu schätzen, ohne eine Eingabe von einem Magnetsensor zu erfordern, indem die Geschwindigkeitsänderungen von dem GPS zu dem/den IMU-Sensor(en) 1166 direkt beobachtet und korreliert werden. In einigen Beispielen kann/können der/die IMU-Sensor(en) 1166 und der/die GNSS-Sensor(en) 1158 in einer einzigen integrierten Einheit kombiniert sein.
  • Das Fahrzeug kann ein oder mehrere Mikrofone 1196 beinhalten, die in und/oder um das Fahrzeug 102 herum platziert sind. Das/die Mikrofon(e) 1196 kann/können unter anderem zur Erfassung und Identifizierung von Rettungsfahrzeugen verwendet werden.
  • Das Fahrzeug kann ferner eine beliebige Anzahl von Kameratypen beinhalten, einschließlich Stereokamera(s) 1168, Weitsichtkamera(s) 1170, Infrarotkamera(s) 1172, Surround-Kamera(s) 1174, Fern- und/oder Mittelbereich-Kamera(s) 1198 und/oder andere Kameratypen. Die Kameras können zum Erfassen von Bilddaten über eine gesamte Peripherie des Fahrzeugs 102 hinweg verwendet werden. Die verwendeten Kameratypen hängen von den Ausführungsformen und Anforderungen an das Fahrzeug 102 ab, und jede beliebige Kombination von Kameratypen kann dazu verwendet werden, die erforderliche Abdeckung um das Fahrzeug 102 herum zu gewährleisten. Darüber hinaus kann die Anzahl von Kameras je nach Ausführungsform unterschiedlich sein. Beispielsweise kann das Fahrzeug sechs Kameras, sieben Kameras, zehn Kameras, zwölf Kameras und/oder eine andere Anzahl von Kameras beinhalten. Die Kameras können beispielsweise, und ohne darauf beschränkt zu sein, Gigabit Multimedia Serial Link (GMSL) und/oder Gigabit Ethernet unterstützen. Jede der Kamera(s) ist hierin mit Bezug auf 11A und 11 B näher beschrieben.
  • Das Fahrzeug 102 kann ferner einen oder mehrere Schwingungssensor(en) 1142 beinhalten. Der/die Schwingungssensor(en) 1142 kann/können Schwingungen bzw. Vibrationen von Komponenten des Fahrzeugs, wie beispielsweise der Achse(n), messen. Beispielsweise können Änderungen der Schwingungen auf eine Veränderung der Fahrbahnoberfläche hinweisen. In einem weiteren Beispiel können dann, wenn zwei oder mehr Schwingungssensoren 1142 verwendet werden, die Unterschiede zwischen den Schwingungen dazu verwendet werden, die Reibung oder den Schlupf der Fahrbahnoberfläche zu bestimmen (z.B. wenn die Schwingungsänderung zwischen einer angetriebenen Achse und einer frei rotierenden Achse auftritt).
  • Das Fahrzeug 102 kann ein ADAS-System 1138 beinhalten. Das ADAS-System 1138 kann in einigen Beispielen ein SoC beinhalten. Das ADAS-System 1138 kann eine autonome/adaptive/automatische Geschwindigkeitsregelung (ACC), eine kooperative adaptive Geschwindigkeitsregelung (CACC), eine Vorausunfallwarnung (FCW), eine automatische Notbremsung (AEB), Spurverlassenswarnungen (LDW), einen Spurhalteassistenten (LKA), eine Totwinkelwarnung (BSW), eine Heck-Querverkehrswarnung (RCTW), Kollisionswarnsysteme (CWS), eine Spurzentrierung (LC) und/oder andere Merkmale und Funktionalität beinhalten.
  • Die ACC-Systeme können einen oder mehrere RADAR-Sensor(en) 1160, einen oder mehrere LIDAR-Sensor(en) 1164 und/oder eine oder mehrere Kamera(s) verwenden. Die ACC-Systeme können eine Längs-ACC und/oder eine Seiten-ACC beinhalten. Das Längs-ACC überwacht und steuert den Abstand zu dem Fahrzeug unmittelbar vor dem Fahrzeug 102 und passt die Fahrzeuggeschwindigkeit automatisch an, um einen Sicherheitsabstand zu vorausfahrenden Fahrzeugen einzuhalten. Die Seiten-ACC führt die Abstandshaltung durch und weist das Fahrzeug 102 an, bei Bedarf die Fahrspur zu wechseln. Das Seiten-ACC ist mit anderen ADAS-Anwendungen wie beispielsweise LCA und CWS verwandt.
  • CACC verwendet Informationen von anderen Fahrzeugen, die über die Netzwerkschnittstelle 1124 und/oder die drahtlose(n) Antenne(n) 1126 von anderen Fahrzeugen über eine drahtlose Verbindung oder indirekt über eine Netzwerkverbindung (z.B. über das Internet) empfangen werden können. Direkte Verbindungen können über eine Fahrzeug-zu-Fahrzeug (V2V)-Kommunikationsverbindung bereitgestellt werden, während indirekte Verbindungen Infrastruktur-Fahrzeug (12V)-Kommunikationsverbindung sein können. Im Allgemeinen liefert das V2V-Kommunikationskonzept Informationen über die unmittelbar vorausfahrenden Fahrzeuge (z.B. Fahrzeuge unmittelbar vor dem und auf der gleichen Spur wie das Fahrzeug 102), während das I2V-Kommunikationskonzept Informationen über den weiter vorne vorausfahrenden Verkehr liefert. CACC-Systeme können eine der 12V- und V2V-Informationsquellen oder beide derselben beinhalten. Angesichts der Informationen der Fahrzeuge vor dem Fahrzeug 102 kann CACC zuverlässiger sein und hat das Potenzial, die Gleichmäßigkeit des Verkehrsflusses zu verbessern und Staus auf der Straße zu reduzieren.
  • FCW-Systeme sind dazu ausgelegt, den Fahrer vor einer Gefahr zu warnen, so dass der Fahrer Korrekturmaßnahmen ergreifen kann. FCW-Systeme verwenden eine nach vorne gerichtete Kamera und/oder einen oder mehrere RADARSensor(en) 1160, die mit einem dedizierten Prozessor, DSP, FPGA und/oder ASIC gekoppelt sind, der bzw. das elektrisch mit einer Fahrerrückmeldung gekoppelt ist, wie beispielsweise eine Anzeige-, einer Lautsprecher- und/oder einer Schwingungskomponente. FCW-Systeme können eine Warnung auslösen, z.B. in Form eines Tons, einer visuellen Warnung, einer Vibration und/oder einem schnellen Bremsimpuls.
  • AEB-Systeme erfassen eine drohende Vorauskollision mit einem anderen Fahrzeug oder einem anderen Objekt und können automatisch die Bremsen betätigen, falls der Fahrer innerhalb eines bestimmten Zeit- oder Entfernungsparameters keine Korrekturmaßnahmen ergreift. AEB-Systeme können nach vorne gerichtete Kamera(s) und/oder RADAR-Sensor(en) 1160 verwenden, die mit einem dedizierten Prozessor, DSP, FPGA und/oder ASIC gekoppelt sind. Wenn das AEB-System eine Gefahr erkennt, warnt es typisch zunächst den Fahrer, Korrekturmaßnahmen zur Vermeidung der Kollision zu ergreifen, und kann das AEB-System dann, wenn der Fahrer keine Korrekturmaßnahmen ergreift, automatisch die Bremsen betätigen, um die Auswirkungen der vorhergesagten Kollision zu verhindern oder zumindest zu mildern. AEB-Systeme können Techniken wie beispielsweise dynamische Bremsunterstützung und/oder unfallimminentes Bremsen beinhalten.
  • LDW-Systeme liefern visuelle, akustische und/oder taktile Warnungen, wie beispielsweise Lenkrad- oder Sitzvibrationen, um den Fahrer zu warnen, wenn das Fahrzeug 102 Fahrbahnmarkierungen überquert. Ein LDW-System wird nicht aktiviert, wenn der Fahrer durch Aktivieren eines Blinkers ein absichtliches Verlassen der Fahrspur anzeigt. LDW-Systeme können nach vorne gerichtete Kameras verwenden, die mit einem speziellen Prozessor, DSP, FPGA und/oder ASIC gekoppelt sind, der bzw. das elektrisch mit der Fahrerrückmeldung gekoppelt ist, wie beispielsweise einer Anzeige-, Lautsprecher- und/oder Schwingungskomponente.
  • LKA-Systeme sind eine Variante der LDW-Systeme. LKA-Systeme stellen Lenkeingaben oder ein Bremsen bereit, um das Fahrzeug 102 zu korrigieren, falls das Fahrzeug 102 beginnt, die Fahrspur zu verlassen.
  • BSW-Systeme erfassen und warnen den Fahrer von Fahrzeugen in einem toten Winkel eines Fahrzeugs. BSW-Systeme können einen visuellen, akustischen und/oder taktilen Alarm auslösen, um anzuzeigen, dass ein Einfahren in oder ein Wechseln von Fahrspuren unsicher ist. Das System kann eine zusätzliche Warnung ausgeben, wenn der Fahrer einen Blinker benutzt. BSW-Systeme können rückwärts gerichtete Kamera(s) und/oder RADAR-Sensor(en) 1160 verwenden, die mit einem dedizierten Prozessor, DSP, FPGA und/oder ASIC gekoppelt sind, der bzw. das elektrisch mit der Fahrerrückmeldung, wie beispielsweise einer Anzeige-, Lautsprecher- und/oder Schwingungskomponente, gekoppelt ist.
  • RCTW-Systeme können eine visuelle, akustische und/oder taktile Benachrichtigung bereitstellen, wenn ein Objekt außerhalb des Rückfahrkamerabereichs erfasst wird, wenn das Fahrzeug 102 rückwärtsfährt. Einige RCTW-Systeme beinhalten AEB, um sicherzustellen, dass die Fahrzeugbremsen betätigt werden, um einen Unfall zu vermeiden. RCTW-Systeme können einen oder mehrere nach hinten gerichtete RADAR-Sensor(en) 1160 verwenden, die mit einem speziellen Prozessor, DSP, FPGA und/oder ASIC gekoppelt sind, der elektrisch mit der Fahrerrückmeldung, wie beispielsweise einer Anzeige-, Lautsprecher- und/oder Schwingungskomponente, gekoppelt ist.
  • Konventionelle ADAS-Systeme können zu falsch positiven Ergebnissen neigen, die für einen Fahrer lästig und störend sein können, aber in der Regel nicht katastrophal sind, da die ADAS-Systeme den Fahrer warnen und es dem Fahrer ermöglichen, zu entscheiden, ob eine Sicherheitsbedingung tatsächlich vorliegt, und entsprechend zu handeln. Bei einem autonomen Fahrzeug 102 muss jedoch das Fahrzeug 102 bei widersprüchlichen Ergebnissen selbst entscheiden, ob es das Ergebnis von einem primären Computer oder einem sekundären Computer (z.B. einer ersten Steuereinrichtung 1136 oder einer zweiten Steuereinrichtung 1136) berücksichtigt. Beispielsweise kann das ADAS-System 1138 in einigen Ausführungsformen ein Backup- und/oder Sekundärcomputer zum Liefern von Wahrnehmungsinformationen an ein Rationalitätsmodul des Backup-Computers sein.. Der Rationalitätsmonitor des Backup-Computers kann eine redundante, diverse Software auf Hardwarekomponenten ausführen, um Fehler in der Wahrnehmung und dynamische Fahraufgaben zu erkennen. Ausgaben aus dem ADAS-System 1138 können an eine übergeordnete MCU geliefert werden. Falls Ausgaben des primären Computers und des sekundären Computers miteinander in Konflikt stehen, muss die übergeordnete MCU bestimmen, wie der Konflikt zu lösen ist, um einen sicheren Betrieb zu gewährleisten.
  • In einigen Beispielen kann der primäre Computer dazu konfiguriert sein, der übergeordneten MCU einen Vertrauenswert zu liefern, der das Vertrauen des primären Computers in das gewählte Ergebnis anzeigt. Falls der Vertrauenswert einen Schwellenwert überschreitet, kann die übergeordnete MCU der Richtung des primären Computers folgen, unabhängig davon, ob der sekundäre Computer ein widersprüchliches oder inkonsistentes Ergebnis liefert. Wenn der Vertrauenswert den Schwellenwert nicht erreicht und wenn der primäre und der sekundäre Computer unterschiedliche Ergebnisse anzeigen (z.B. den Konflikt), kann die übergeordnete MCU zwischen den Computern vermitteln, um das geeignete Ergebnis zu bestimmen.
  • Die übergeordnete MCU kann dazu konfiguriert sein, ein oder mehrere neuronale(s) Netzwerk(e) zu betreiben, die dazu trainiert und konfiguriert sind, zumindest teilweise basierend auf Ausgaben des primären Computers und des sekundären Computers Bedingungen zu bestimmen, unter welchen der sekundäre Computer Fehlalarme liefert. Folglich kann/können das/die neuronale(n) Netzwerk(e) in der übergeordneten MCU lernen, wann die Ausgabe des sekundären Computers vertrauenswürdig ist und wann nicht. Beispielsweise dann, wenn der sekundäre Computer ein RADAR-basiertes FCW-System ist, kann ein neuronales Netzwerk in der übergeordneten MCU lernen, wann das FCW-System metallische Objekte identifiziert, die tatsächlich keine Gefahren sind, wie beispielsweise ein Drainagerost oder eine Schachtabdeckung, die einen Alarm auslöst. Ähnlich kann dann, wenn der sekundäre Computer ein kamerabasiertes LDW-System ist, ein neuronales Netzwerk in der übergeordneten MCU lernen, das LDW zu übersteuern, wenn Radfahrer oder Fußgänger anwesend sind und das Verlassen einer Spur tatsächlich das sicherste Manöver ist. In Ausführungsformen, die ein oder mehrere neuronale Netzwerke beinhalten, die auf der übergeordneten MCU ausgeführt werden, kann die übergeordnete MCU zumindest eines einer DLA oder GPU beinhalten, die für den Betrieb des oder der neuronalen Netzwerk(e) mit zugehörigem Speicher geeignet ist. In bevorzugten Ausführungsformen kann die übergeordnete MCU das/die SoCs umfassen und/oder als eine Komponente des/der SoC(s) 1104 enthalten sein.
  • In anderen Beispielen kann das ADAS-System 1138 einen sekundären Computer beinhalten, der die ADAS-Funktionalität unter Verwendung traditioneller Regeln der Computer Vision durchführt. Als solches kann der sekundäre Computer klassische Computer Vision-Regeln (if-then) verwenden, und kann das Vorhandensein eines oder mehrerer neuronale(n/r) Netzwerk(s/e) in der übergeordneten MCU die Zuverlässigkeit, Sicherheit und Leistung verbessern. Beispielsweise machen die diverse Implementierung und die absichtliche Nicht-Identität das Gesamtsystem fehlertoleranter, insbesondere gegenüber Fehlern, die durch die Funktionalität von Software (oder der Software-Hardware-Schnittstelle) verursacht werden. Falls beispielsweise ein Softwarefehler oder ein Fehler in der auf dem primären Computer ausgeführten Software vorliegt und der nicht identische Softwarecode, der auf dem sekundären Computer ausgeführt wird, das gleiche Gesamtergebnis liefert, kann die übergeordnete MCU eine größere Sicherheit haben, dass das Gesamtergebnis korrekt ist, und verursacht der Fehler in Software oder Hardware auf dem primären Computer keinen wesentlichen Fehler.
  • In einigen Beispielen kann die Ausgabe des ADAS-Systems 1138 in den Wahrnehmungsblock des primären Computers und/oder in den dynamischen Fahraufgabenblock des primären Computers eingespeist werden. Wenn das ADAS-System 1138 beispielsweise eine Vorausunfallwarnung aufgrund eines sich unmittelbar voraus befindenden Objekts anzeigt, kann der Wahrnehmungsblock diese Informationen verwenden, wenn er Objekte identifiziert. In anderen Beispielen kann der sekundäre Computer über sein eigenes neuronales Netzwerk verfügen, welches trainiert ist und somit das Risiko von Fehlalarmen reduziert, wie hierin beschrieben.
  • Das Fahrzeug 102 kann ferner das Infotainment-SoC 1130 (z.B. ein fahrzeuginternes Infotainmentsystem (IVI)) beinhalten. Obwohl es als ein SoC dargestellt und beschrieben ist, ist das Infotainmentsystem möglicherweise kein SoC und kann zwei oder mehr diskrete Komponenten beinhalten. Das Infotainment-SoC 1130 kann eine Kombination aus Hard- und Software beinhalten, die dazu verwendet werden kann, um Audio (z.B. Musik, einen persönlichen digitalen Assistenten, Navigationsanweisungen, Nachrichten, Radio, usw.), Video (z.B. TV, Filme, Streaming, usw.), Telefon (z.B. Freisprechfunktion), Netzwerkkonnektivität (z.B. LTE, WiFi usw.) und/oder Informationsdienste (z.B. Navigationssysteme, Rückfahrhilfen, ein Radiodatensystem, fahrzeugbezogene Informationen wie beispielsweise Kraftstoffstand, Gesamtfahrstrecke, Bremsflüssigkeitsstand, Ölstand, Tür auf/zu, Luftfilterinformationen usw.) für das Fahrzeug 102 bereitzustellen. Beispielsweise kann das Infotainment-SoC 1130 Radios, einen Diskettenspieler, Navigationssysteme, einen Videospieler, USB- und Bluetooth-Konnektivität, einen Car Computer, In-Car-Entertainment, WiFi, Lenkrad-Audiosteuerungen, eine Freisprechfunktion, eine Heads-Up-Anzeige (HUD), eine HMI-Anzeige 1134, ein Telematikgerät, ein Bedienfeld (z.B. zum Steuern von und/oder Interagieren mit verschiedenen Komponenten, Funktionen und/oder Systemen) und/oder andere Komponenten beinhalten. Das Infotainment-SoC 1130 kann ferner dazu verwendet werden, einem oder mehreren Benutzer(n) des Fahrzeugs Informationen (z.B. visuell und/oder akustisch) zur Verfügung zu stellen, wie beispielsweise Informationen aus dem ADAS-System 1138, Autonomfahrinformationen wie beispielsweise geplante Fahrzeugmanöver, Trajektorien, Umgebungsinformationen (z.B. Kreuzungsinformationen, Fahrzeuginformationen, Straßeninformationen usw.) und/oder andere Informationen.
  • Das Infotainment-SoC 1130 kann GPU-Funktionalität beinhalten. Das Infotainment-SoC 1130 kann über den Bus 1102 (z.B. CAN-Bus, Ethernet, usw.) mit anderen Vorrichtungen, Systemen und/oder Komponenten des Fahrzeugs 102 kommunizieren. In einigen Beispielen kann das Infotainment-SoC 1130 derart mit einer übergeordneten MCU gekoppelt sein, dass die GPU des Infotainmentsystems einige Selbstfahrfunktionen ausführen kann, falls die primäre(n) Steuereinrichtung(en) 1136 (z.B. der primäre und/oder der Backup-Computer des Fahrzeugs 102) ausfallen. In einem solchen Beispiel kann das Infotainment-SoC 1130 das Fahrzeug 102 in einen Chauffeur-in-sicheren-Stopp-Modus versetzen, wie hierin beschrieben.
  • Das Fahrzeug 102 kann ferner ein Kombiinstrument 1132 beinhalten (z.B. ein digitales Armaturenbrett, ein elektronisches Kombiinstrument, eine digitale Instrumententafel usw.). Das Kombiinstrument 1132 kann eine Steuereinrichtung und/oder einen Supercomputer (z.B. eine diskrete Steuereinrichtung oder einen Supercomputer) beinhalten. Das Kombiinstrument 1132 kann eine Reihe von Instrumenten beinhalten, wie beispielsweise einen Tachometer, einen Kraftstoffstand, einen Öldruck, einen Drehzahlmesser, einen Kilometerzähler, einen Blinker, eine Schaltpositionsanzeige, eine oder mehrere Sicherheitsgurtwarnleuchte(n), eine oder mehrere Feststellbremswarnleuchte(n), eine oder mehrere Motorstörungsleuchte(n), Airbag-(SRS)-Systeminformationen, Beleuchtungssteuerungen, Sicherheitssystemsteuerungen, Navigationsinformationen usw. In einigen Beispielen können Informationen angezeigt werden und/oder von dem Infotainment-SoC 1130 und dem Kombiinstrument 1132 gemeinsam genutzt werden. Mit anderen Worten kann das Kombiinstrument 1132 als Teil des Infotainment-SoC 1130 enthalten sein, oder umgekehrt.
  • 11 D ist ein Systemdiagramm für die Kommunikation zwischen einem oder mehreren Cloud-basierten Server(n) und dem beispielhaften autonomen Fahrzeug 102 von 11A, gemäß einigen Ausführungsformen der Erfindung. Das Autonomfahrzeugsystem 100 kann einen oder mehrere Server 104, ein oder mehrere Netzwerk(e) 1190 und Fahrzeuge, einschließlich des Fahrzeugs 102, beinhalten. Der/die Server 104 kann/können eine Vielzahl von GPUs 1184(A)-1184(H) (hierin kollektiv als GPUs 1184 bezeichnet), PCIe-Switches 1182(A)-1182(H) (hierin kollektiv als PCIe-Switches 1182 bezeichnet) und/oder CPUs 1180(A)-1180(B) (hierin kollektiv als CPUs 1180 bezeichnet) beinhalten. Die GPUs 1184, die CPUs 1180 und die PCIe-Switches können mit Hochgeschwindigkeitsverbindungen wie, beispielsweise und ohne darauf beschränkt zu sein, den von NVIDIA entwickelten NVLink-Schnittstellen 1188 und/oder PCIe-Verbindungen 1186 verbunden sein. In einigen Beispielen sind die GPUs 1184 über NVLink und/oder NVSwitch-SoC verbunden, und sind die GPUs 1184 und die PCIe-Switches 1182 über PCIe-Verbindungen verbunden. Obwohl acht GPUs 1184, zwei CPUs 1180 und zwei PCIe-Switches dargestellt sind, soll dies nicht beschränkend sein. Abhängig von der Ausführungsform kann jeder der Server 104 eine beliebige Anzahl von GPUs 1184, CPUs 1180 und/oder PCIe-Switches beinhalten. Beispielsweise kann/können der/die Server 104 jeweils acht, sechzehn, zweiunddreißig und/oder mehr GPUs 1184 beinhalten.
  • Der/die Server 104 kann/können über das/die Netzwerk(e) 1190 und von den Fahrzeugen Bilddaten empfangen, die für Bilder repräsentativ sind, die unerwartete oder geänderte Straßenverhältnisse zeigen, wie beispielsweise kürzlich begonnene Straßenarbeiten. Der/die Server 104 kann/können über das/die Netzwerk(e) 1190 und an die Fahrzeuge neuronale Netzwerke 1192, aktualisierte neuronale Netzwerke 1192 und/oder Karteninformationen 1194 übertragen, einschließlich von Informationen über den Verkehr und Straßenzustände. Die Aktualisierungen der Karteninformationen 1194 können Aktualisierungen für die HD-Karte 1122 beinhalten, wie beispielsweise Informationen über Baustellen, Schlaglöcher, Umleitungen, Überschwemmungen und/oder andere Hindernisse. In einigen Beispielen können die neuronalen Netzwerke 1192, die aktualisierten neuronalen Netzwerke 1192 und/oder die Karteninformationen 1194 aus neuem Training und/oder Erfahrungen, die in von einer beliebigen Anzahl von Fahrzeugen in der Umgebung empfangenen Daten repräsentiert sind, hervorgegangen sein, und/oder zumindest teilweise auf in einem Rechenzentrum (z.B. unter Verwendung des/der Server 104 und/oder anderer Server) durchgeführtem Training basieren.
  • Der/die Server 104 kann/können dazu verwendet werden, Modelle maschinellen Lernens (z.B. neuronale Netzwerke) basierend auf Trainingsdaten zu trainieren. Die Trainingsdaten können von den Fahrzeugen generiert werden, und/oder können in einer Simulation (z.B. unter Verwendung einer Spiel-Engine) erzeugt werden. In einigen Beispielen werden die Trainingsdaten getaggt bzw. markiert (z.B. wenn das neuronale Netzwerk von überwachtem Lernen profitiert) und/oder einer anderen Vorverarbeitung unterzogen, während in anderen Beispielen die Trainingsdaten nicht markiert bzw. getaggt und/oder vorverarbeitet werden (z.B. wenn das neuronale Netzwerk kein überwachtes Lernen erfordert). Sobald die Modelle maschinellen Lernens trainiert sind, können die Modelle maschinellen Lernens von den Fahrzeugen verwendet werden (z.B. über das/die Netzwerk(e) 1190 an die Fahrzeuge übertragen werden), und/oder können die Modelle maschinellen Lernens von dem/den Server(n) 104 dazu verwendet werden, die Fahrzeuge aus der Ferne zu überwachen.
  • In einigen Beispielen kann/können der/die Server 104 Daten von den Fahrzeugen empfangen und die Daten auf aktuelle neuronale Echtzeit-Netzwerke für intelligente Echtzeit-Inferenzierung anwenden. Der/die Server 104 kann/können Deep-Learning-Supercomputer und/oder dedizierte KI-Computer beinhalten, die von GPU(s) 1184 betrieben werden, wie beispielsweise DGX- und DGX-Station-Maschinen, die von NVIDIA entwickelt wurden. In einigen Beispielen kann/können der/die Server 104 jedoch eine Deep-Learning-Infrastruktur beinhalten, die nur CPUbetriebene Rechenzentren verwendet.
  • Die Deep-Learning-Infrastruktur des/der Server 104 kann in der Lage sein, schnell und in Echtzeit zu inferenzieren, und kann diese Fähigkeit nutzen, um den Zustand der Prozessoren, der Software und/oder der zugehörigen Hardware in dem Fahrzeug 102 zu bewerten und zu überprüfen. Beispielsweise kann die Deep-Learning-Infrastruktur regelmäßige Aktualisierungen von dem Fahrzeug 102 erhalten, wie beispielsweise eine Folge von Bildern und/oder Objekten, die das Fahrzeug 102 in dieser Folge von Bildern (z.B. durch Computer-Vision und/oder andere Techniken zur Klassifizierung von Lernobjekten) lokalisiert hat. Die Deep Learning-Infrastruktur kann ihr eigenes neuronales Netzwerk betreiben, um die Objekte zu identifizieren und mit den vom Fahrzeug 102 identifizierten Objekten zu vergleichen, und dann, wenn die Ergebnisse nicht übereinstimmen und die Infrastruktur zu dem Schluss kommt, dass die KI in dem Fahrzeug 102 fehlfunktioniert, kann/können der/die Server 104 ein Signal an das Fahrzeug 102 senden, das einen ausfallsicheren Computer des Fahrzeugs 102 anweist, die Steuerung zu übernehmen, die Fahrgäste zu benachrichtigen und ein sicheres Parkmanöver abzuschließen.
  • Zur Inferenzierung kann/können der/die Server 104 die GPU(s) 1184 und einen oder mehrere programmierbare Inferenzbeschleuniger (z.B. NVIDIAs TensorRT 3) beinhalten. Die Kombination aus GPU-betriebenen Servern und Inferenzbeschleunigung kann eine Echtzeit-Reaktionsfähigkeit ermöglichen. In anderen Beispielen, z. B. dann, wenn Leistung weniger kritisch ist, können Server, die von CPUs, FPGAs und anderen Prozessoren betrieben werden, zur Inferenzierung verwendet werden.
  • Beispielhafte Rechenvorrichtung
  • 12 ist ein Blockdiagramm einer beispielhaften Rechenvorrichtung 1200, die zur Verwendung bei der Implementierung einiger Ausführungsformen der Erfindung geeignet ist. Die Rechenvorrichtung 1100 kann einen Bus 1202 beinhalten, der direkt oder indirekt die folgenden Vorrichtungen koppelt: Speicher 1204, eine oder mehrere Zentralverarbeitungseinheiten (CPUs) 1206, eine oder mehrere Grafikverarbeitungseinheiten (GPUs) 1208, eine Kommunikationsschnittstelle 1210, Ein-/Ausgabe (I/O)-Ports 1212, Eingabe-/Ausgabe-Komponenten 1214, eine Stromversorgung 1216 und eine oder mehrere Präsentationskomponenten 1218 (z.B. Anzeige(n)).
  • Obwohl die verschiedenen Blöcke von 12 als über den Bus 1202 mit Leitungen verbunden dargestellt sind, ist dies nicht beschränkend und dient nur der Übersichtlichkeit. Beispielsweise kann in einigen Ausführungsformen eine Präsentationskomponente 1218, wie beispielsweise eine Anzeigevorrichtung, als eine I/O-Komponente 1214 betrachtet werden (z.B. wenn die Anzeige ein Touchscreen ist). Als weiteres Beispiel können die CPUs 1206 und/oder die GPUs 1208 Speicher beinhalten (z.B. kann der Speicher 1204 für eine Speichervorrichtung zusätzlich zu dem Speicher der GPUs 1208, der CPUs 1206 und/oder anderer Komponenten repräsentativ sein). Mit anderen Worten ist die Rechenvorrichtung von 12 lediglich illustrativ. Es wird nicht zwischen Kategorien wie „Arbeitsstation“, „Server“, „Laptop“, „Desktop“, „Tablet“, „Client-Vorrichtung “, „mobile Vorrichtung“, „Handheld-Vorrichtung“, „Spielkonsole“, „elektronische Steuereinheit (ECU)“, „Virtual Reality-System“ und/oder anderen Geräte- oder Systemtypen unterschieden, wie sie alle im Rahmen der Computervorrichtung von 12 denkbar sind.
  • Der Bus 1202 kann einen oder mehrere Busse repräsentieren, wie beispielsweise einen Adressbus, einen Datenbus, einen Steuerbus oder eine Kombination derselben. Der Bus 1202 kann einen oder mehrere Bustypen beinhalten, wie beispielsweise einen Industrie-Standard-Architektur (ISA)-Bus, einen erweiterten Industrie-Standard-Architektur (EISA)-Bus, einen Video Electronics Standards Association (VESA)-Bus, einen Peripheral Component Interconnect (PCI)-Bus, einen Peripheral Component Interconnect Express (PCIe)-Bus und/oder eine andere Art von Bus.
  • Der Speicher 1204 kann beliebige einer Vielzahl von computerlesbaren Medien beinhalten. Die computerlesbaren Medien können beliebige verfügbare Medien sein, auf die von der Computervorrichtung 1200 zugegriffen werden kann. Die computerlesbaren Medien können sowohl flüchtige als auch nichtflüchtige Medien sowie wechselbare und nicht wechselbare Medien beinhalten. Beispielsweise und nicht beschränkend können die computerlesbaren Medien Computer-Speichermedien und Kommunikationsmedien umfassen.
  • Die Computer-Speichermedien können sowohl flüchtige als auch nichtflüchtige Medien und/oder entfernbare und nicht entfernbare Medien beinhalten, die in einem beliebigen Verfahren oder einer beliebigen Technologie zur Speicherung von Informationen, wie beispielsweise computerlesbaren Anweisungen, Datenstrukturen, Programmmodulen und/oder anderen Datentypen, implementiert sind. Beispielsweise kann der Speicher 1204 computerlesbare Anweisungen (z.B. solche, die ein oder mehrere Programm(e) und/oder ein oder mehrere Programmelement(e), wie beispielsweise ein Betriebssystem, darstellen) speichern. Computer-Speichermedien können unter anderem RAM, ROM, EEPROM, Flash-Speicher oder andere Speichertechnologien, CD-ROM, Digitale Versatile Disk (DVD) oder andere optische Plattenspeicher, Magnetkassetten, Magnetbänder, Magnetplattenspeicher oder andere magnetische Speichervorrichtungen oder jedes andere Medium, das zum Speichern der gewünschten Informationen verwendet werden kann und auf das von der Computervorrichtung 1200 zugegriffen werden kann, beinhalten. Wie hierin verwendet, umfassen Computerspeichermedien keine Signale per se.
  • Die Kommunikationsmedien können computerlesbare Anweisungen, Datenstrukturen, Programmmodule und/oder andere Datentypen in einem modulierten Datensignal, wie beispielsweise einer Trägerwelle oder einem anderen Transportmechanismus, verkörpern und beinhalten beliebige Informationen ausliefernde Medien. Der Begriff „moduliertes Datensignal“ kann sich auf ein Signal beziehen, bei dem eine oder mehrere seiner Eigenschaften derart festgelegt oder geändert sind, dass Informationen in dem Signal kodiert sind. Als Beispiel und nicht beschränkend können die Kommunikationsmedien drahtgebundene Medien wie beispielsweise ein drahtgebundenes Netzwerk oder eine direktverdrahtete Verbindung sowie drahtlose Medien wie akustische, HF-, Infrarot- und andere drahtlose Medien beinhalten. Kombinationen aus beliebigem des Vorstehenden sollten ebenfalls im Rahmen computerlesbarer Medien liegen.
  • Die CPU(s) 1206 können dazu konfiguriert sein, die computerlesbaren Anweisungen auszuführen, um eine oder mehrere Komponenten der Computervorrichtung 1200 zu steuern, um eine oder mehrere der hierin beschriebenen Verfahren und/oder Prozesse auszuführen. Die CPU(s) 1206 kann/können jeweils einen oder mehrere Kerne (z.B. ein, zwei, vier, acht, acht, achtundzwanzig, zweiundsiebzig usw.) beinhalten, die in der Lage sind, eine Vielzahl von Software-Threads gleichzeitig zu verarbeiten. Die CPU(s) 1206 kann/können jede Art von Prozessor beinhalten und kann/können je nach Art der implementierten Computervorrichtung 1200 verschiedene Arten von Prozessoren beinhalten (z.B. Prozessoren mit weniger Kernen für mobile Geräte und Prozessoren mit mehr Kernen für Server). Je nach Typ der Rechenvorrichtung 1200 kann der Prozessor beispielsweise ein ARM-Prozessor sein, der unter Verwendung von Reduced Instruction Set Computing (RISC) implementiert ist, oder ein x86-Prozessor, der unter Verwendung von Complex Instruction Set Computing (CISC) implementiert ist. Die Rechenvorrichtung 1200 kann eine oder mehrere CPUs 1206 zusätzlich zu einem oder mehreren Mikroprozessoren oder zusätzliche Co-Prozessoren, wie beispielsweise mathematische Co-Prozessoren, beinhalten.
  • Die GPU(s) 1208 kann/können von der Computervorrichtung 1200 dazu verwendet werden, Grafiken (z.B. 3D-Grafiken) zu rendern. Die GPU(s) 1208 können Hunderte oder Tausende von Kernen beinhalten, die in der Lage sind, Hunderte oder Tausende von Software-Threads gleichzeitig zu verarbeiten. Die GPU(s) 1208 kann Pixeldaten für Ausgabebilder im Ansprechen auf Rendering-Befehle (z.B. Rendering-Befehle von der/den CPU(s) 1206, die über eine Host-Schnittstelle empfangen werden) erzeugen. Die GPU(s) 1208 können Grafikspeicher, wie beispielsweise Anzeigespeicher, zum Speichern von Pixeldaten beinhalten. Der Anzeigespeicher kann als Teil des Speichers 1204 eingebunden sein. Die GPU(s) 1208 können zwei oder mehr GPU(s) beinhalten, die parallel (z.B. über eine Verbindung) arbeiten. In Kombination kann jede GPU 1208 Pixeldaten für verschiedene Abschnitte eines Ausgabebilds oder für verschiedene Ausgabebilder (z.B. eine erste GPU für ein erstes Bild und eine zweite GPU für ein zweites Bild) erzeugen. Jede GPU kann ihren eigenen Speicher beinhalten, oder kann sich Speicher mit anderen GPUs teilen.
  • In Beispielen, in denen die Computervorrichtung 1200 die GPU(s) 1208 nicht beinhaltet, kann/können die CPU(s) 1206 zum Rendern von Grafiken verwendet werden.
  • Die Kommunikationsschnittstelle 1210 kann einen oder mehrere Empfänger, Sender und/oder Sender-Empfänger beinhalten, die es der Rechenvorrichtung 1200 ermöglichen, mit anderen Rechenvorrichtungen über ein elektronisches Kommunikationsnetzwerk, einschließlich drahtgebundener und/oder drahtloser Kommunikation, zu kommunizieren. Die Kommunikationsschnittstelle 1210 kann Komponenten und Funktionen beinhalten, um Kommunikation über ein beliebiges einer Anzahl von verschiedenen Netzwerken, wie beispielsweise drahtlose Netzwerke (z.B. Wi-Fi, Z-Wave, Bluetooth, Bluetooth, Bluetooth LE, ZigBee, usw.), drahtgebundene Netzwerke (z.B. Kommunikation über Ethernet), Low-Power-Weitbereichsnetze (z.B. LoRaWAN, SigFox, usw.) und/oder das Internet zu ermöglichen.
  • Die I/O-Ports 1212 können es der Computervorrichtung 1200 ermöglichen, logisch mit anderen Vorrichtungen, einschließlich der I/O-Komponenten 1214, der Präsentationskomponente(n) 1218 und/oder anderer Komponenten, von denen einige in die Computervorrichtung 1200 eingebaut (z.B. integriert) sein können, gekoppelt zu sein. Veranschaulichende I/O-Komponenten 1214 beinhalten ein Mikrofon, eine Maus, eine Tastatur, einen Joystick, ein Gamepad, einen Game Controller, eine Satellitenschüssel, einen Scanner, einen Drucker, eine drahtlose Vorrichtung, usw. Die I/O-Komponenten 1214 können eine natürliche Benutzerschnittstelle (NUI) bereitstellen, die Luftgesten, Sprache oder andere physiologische Eingaben, die von einem Benutzer erzeugt werden, verarbeitet. In einigen Fällen können Eingaben zur weiteren Verarbeitung an ein geeignetes Netzwerkelement übertragen werden. Eine NUI kann jede beliebige Kombination aus Spracherkennung, Styluserkennung, Gesichtserkennung, biometrischer Erkennung, Gestenerkennung sowohl auf dem Bildschirm als auch neben dem Bildschirm, Luftgesten, Kopf- und Augen-Nachverfolgung und Berührungserfassung (wie nachstehend näher beschrieben) in Verbindung mit einer Anzeige der Computervorrichtung 1200 implementieren. Die Rechenvorrichtung 1200 kann Tiefenkameras beinhalten, wie beispielsweise stereoskopische Kamerasysteme, Infrarotkamerasysteme, RGB-Kamerasysteme, Touchscreen-Technologie und Kombinationen davon, zur Gestenerfassung und -erkennung. Darüber hinaus kann die Rechenvorrichtung 1200 Beschleunigungssensoren oder Gyroskope (z.B. als Teil einer Trägheitsmesseinheit (IMU)) beinhalten, die die Erfassung von Bewegungen ermöglichen. In einigen Beispielen kann die Ausgabe der Beschleunigungssensoren oder Gyroskope von der Rechenvorrichtung 1200 dazu verwendet werden, immersive Augmented Reality oder Virtual Reality zu rendern.
  • Die Stromversorgung 1216 kann eine fest verdrahtete Stromversorgung, eine Batteriestromversorgung oder eine Kombination derselben beinhalten. Die Stromversorgung 1216 kann die Rechenvorrichtung 1200 mit Strom versorgen, um den Betrieb der Komponenten der Rechenvorrichtung 1200 zu ermöglichen.
  • Die Präsentationskomponente(n) 1218 kann/können eine Anzeige (z.B. einen Monitor, einen Touchscreen, einen Fernsehbildschirm, eine Heads-up-Anzeige (HUD), andere Anzeigetypen oder eine Kombination davon), Lautsprecher und/oder andere Präsentationskomponenten beinhalten. Die Präsentationskomponente(n) 1218 kann/können Daten von anderen Komponenten (z.B. den GPU(s) 1208, den CPU(s) 1206 usw.) empfangen und die Daten (z.B. als Bild, Video, Ton usw.) ausgeben.
  • Die Erfindung kann im allgemeinen Kontext von Computercode oder maschinentauglichen Anweisungen, einschließlich computerausführbarer Anweisungen, wie beispielsweise Programmmodulen, die von einem Computer oder einer anderen Maschine, wie beispielsweise einem Assistenten für personenbezogene Daten oder einem anderen tragbaren Gerät, ausgeführt werden, beschrieben werden. Allgemein beziehen sich Programmodule, einschließlich von Routinen, Programme, Objekte, Komponenten, Datenstrukturen usw., auf Code, der bestimmte Aufgaben ausführt oder bestimmte abstrakte Datentypen implementiert. Die Erfindung kann in einer Vielzahl von Systemkonfigurationen praktiziert werden, einschließlich von tragbaren Geräten, Unterhaltungselektronik, Universalcomputer, spezialisierteren Computervorrichtungen usw. Die Erfindung kann auch in verteilten Computerumgebungen praktiziert werden, in denen Aufgaben von entfernten Verarbeitungsvorrichtungen, die über ein Kommunikationsnetzwerk verbunden sind, ausgeführt werden.
  • Wie hierin verwendet sollte eine Angabe von „und/oder“ in Bezug auf zwei oder mehr Elemente so interpretiert werden, dass nur ein Element oder eine Kombination von Elementen gemeint ist. Beispielsweise kann „Element A, Element B und/oder Element C“ nur Element A, nur Element B, nur Element C, Element A und Element B, Element A und Element C, Element B und Element C oder Elemente A, B und C beinhalten. Darüber hinaus kann „zumindest eines von Element A oder Element B“ zumindest eines von Element A, zumindest eines von Element B oder zumindest eines von Element A und zumindest eines von Element B beinhalten. Weiterhin kann „zumindest eines von Element A und Element B“ zumindest eines von Element A, zumindest eines von Element B oder zumindest eines von Element A und zumindest eines von Element B beinhalten.
  • Der Gegenstand der Erfindung ist hierin spezifisch beschrieben, um gesetzlichen Anforderungen zu entsprechen. Die Beschreibung selbst soll jedoch den Umfang dieser Erfindung nicht einschränken. Vielmehr haben die Erfinder ins Auge gefasst, dass der beanspruchte Gegenstand auch auf andere Weise verkörpert werden könnte, um unterschiedliche Schritte oder Kombinationen von Schritten ähnlich zu den in diesem Dokument beschriebenen in Verbindung mit anderen gegenwärtigen oder zukünftigen Technologien einzubeziehen. Obwohl die Begriffe „Schritt“ und/oder „Block“ hierin verwendet werden können, um verschiedene Elemente verwendeter Verfahren zu konnotieren, sind die Begriffe nicht als irgendeine bestimmte Reihenfolge zwischen oder unter hierin offenbarten Schritten implizierend zu interpretieren, so lange nicht und ausnahmsweise die Reihenfolge einzelner Schritte ausdrücklich beschrieben wird.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 16101232 [0224]

Claims (20)

  1. Verfahren, umfassend: Bestimmen eines aktuell beanspruchten Satzes von Punkten, der für ein Volumen in einer Umgebung repräsentativ ist, das von einem Fahrzeug zu einem Zeitpunkt eingenommen wird, basierend zumindest teilweise auf einer Größe, einem Position und einer Orientierung des Fahrzeugs; Erzeugen einer oder mehrerer fahrzeugbelegter Bewegungsbahnen, die für erste zukünftig beanspruchte Sätze von Punkten des Fahrzeugs in der Umgebung repräsentativ sind, falls das Fahrzeug eine erste Sicherheitsprozedur zu diesem Zeitpunkt implementieren würde, basierend zumindest teilweise auf einer oder mehreren Geschwindigkeiten des Fahrzeugs zu diesem Zeitpunkt und der ersten Sicherheitsprozedur für das Fahrzeug; Erfassen eines Kreuzungspunkts zwischen der einen oder den mehreren fahrzeugbelegten Bewegungsbahnen und einer oder mehreren objektbelegten Bewegungsbahnen basierend zumindest teilweise auf einem Vergleichen der einen oder mehreren fahrzeugbelegten Bewegungsbahnen mit der einen oder mehreren objektbelegten Bewegungsbahnen, wobei die eine oder die mehreren objektbelegten Bewegungsbahnen repräsentativ sind für zweite zukünftig beanspruchte Sätze eines Objekts in der Umgebung, falls das Objekt eine zweite, dem Objekt zugeordnete Sicherheitsprozedur zu diesem Zeitpunkt implementieren würde; Berechnen eines ersten Sicherheitspotenzials, das dem Fahrzeug, das die erste Sicherheitsprozedur implementiert, und dem Objekt, das die zweite Sicherheitsprozedur implementiert, zugeordnet ist, wobei das erste Sicherheitspotenzial für den Kreuzungspunkt repräsentativ ist; und Ausführen, basierend zumindest teilweise auf dem Kreuzungspunkt, einer der ersten Sicherheitsprozedur oder einer alternativen Prozedur, die dann, wenn sie von dem Fahrzeug implementiert wird, wenn das Objekt die zweite Sicherheitsprozedur implementiert, dazu bestimmt ist, ein zweites Sicherheitspotenzial aufzuweisen, das als eine geringere Wahrscheinlichkeit für eine Kollision zwischen dem Fahrzeug und dem Objekt als das erste Sicherheitspotenzial habend berechnet wurde.
  2. Verfahren nach Anspruch 1, ferner umfassend ein Bestimmen der Geschwindigkeit, der Orientierung und der Position des Fahrzeugs, basierend zumindest teilweise auf Sensordaten, die von einem oder mehreren Sensoren des Fahrzeugs empfangen wurden, wobei der eine oder die mehreren Sensoren eines oder mehreres beinhalten von: einem GNSS (Global Navigation Satellite System)-Sensor; einer Kamera; einem Beschleunigungsmesser; einem Trägheitssensor; einem Gyrosensor; einem Kompass; einem Reifenvibrationssensor; einem Mikrofon; einem Lenksensor oder einem Drehzahlgeber.
  3. Verfahren nach Anspruch 1, ferner umfassend ein Bestimmen eines Satzes von Funktionen, die einem Steuerungsrichtlinie entsprechen, das für die erste Sicherheitsprozedur für das Fahrzeug repräsentativ ist, durch: Bestimmen von Steuerparametern zum Lenken, Bremsen und Beschleunigen für das Fahrzeug; Identifizieren eines Fahrzeugzustandsziels der ersten Sicherheitsprozedur; Analysieren von Sensordaten, die von einem oder mehreren Sensoren des Fahrzeugs empfangen werden, um Positionen, Orientierungen und Geschwindigkeiten von Objekten in der Umgebung zu bestimmen; und zumindest teilweise basierend auf den Steuerparametern und den Positionen, den Orientierungen und Geschwindigkeiten der Objekte, Bestimmen des Satzes von Funktionen, um das Fahrzeug zu dem Fahrzeugzustandsziel zu führen.
  4. Verfahren nach Anspruch 1, ferner umfassend ein Bestimmen der Größe des Fahrzeugs durch: Identifizieren einer Fahrzeuggröße des Fahrzeugs; und Anpassen einer vordefinierten Form um das Fahrzeug herum, basierend zumindest teilweise auf zumindest einem der Fahrzeuggröße oder des Fahrzeugtyps, wobei die Größe von der vordefinierten Form ist.
  5. Verfahren nach Anspruch 4, wobei das Bestimmen der Größe des Fahrzeugs ferner das Identifizieren einer Sicherheitsmarge umfasst, und wobei die vordefinierte Form die Sicherheitsmarge beinhaltet.
  6. Verfahren nach Anspruch 1, ferner umfassend ein Bestimmen der objektbelegten Bewegungsbahn für das Objekt durch Bestimmen zumindest einer Objektgeschwindigkeit, einer Objektorientierung und zumindest einem von einer Objektposition, einer Objektgröße oder einer Objektform des Objekts in der Umgebung, basierend zumindest teilweise auf Sensordaten, die von einem oder mehreren Sensoren des Fahrzeugs empfangen wurden, wobei der eine oder die mehreren Sensoren eines oder mehrere beinhalten von: einem GNSS (Global Navigation Satellite System)-Sensor; einer Fernbereichkamera; einer Stereokamera; einer Infrarotkamera; einer Surroundkamera; einer Weitwinkelkamera; einer Mittelbereichkamera; einem LIDAR-Sensor; einem Ultraschallsensor; einem Infrarotsensor; einem Radarsensor; oder einer Funkantenne.
  7. Verfahren nach Anspruch 1, wobei jeder erste zukünftig beanspruchte Satz der ersten zukünftig beanspruchten Sätze repräsentativ ist für ein jeweiliges Volumen in der Umgebung, die von dem Fahrzeug zu einem jeweiligen zukünftigen Zeitpunkt in Anspruch genommen werden würde.
  8. Verfahren, umfassend: Bestimmen eines aktuell beanspruchten Satzes von Punkten, der für einen Bereich in der Umgebung repräsentativ ist, der von einem Fahrzeug zu einem Zeitpunkt eingenommen wird, basierend zumindest teilweise auf einem Zustand des Fahrzeugs, wobei der Zustand eine Position und eine Geschwindigkeit des Fahrzeugs und zumindest eines einer Größe, einer Form oder eines Typs des Fahrzeugs beinhaltet; Erzeugen einer fahrzeugbelegten Bewegungsbahn, die für erste zukünftig beanspruchte Sätze des Fahrzeugs in der Umgebung repräsentativ ist, falls das Fahrzeug eine Sicherheitsprozedur zu diesem Zeitpunkt implementieren würde, basierend zumindest teilweise auf dem Zustand und der Sicherheitsprozedur für das Fahrzeug; Vergleichen der fahrzeugbelegten Bewegungsbahn mit objektbelegten Bewegungsbahnen, die Objekten in der Umgebung zugeordnet sind, um zu erfassen, ob irgendwelche virtuellen Kreuzungspunkte zwischen der fahrzeugbelegten Bewegungsbahn und einer oder mehreren der objektbelegten Bewegungsbahnen auftreten; und bei Erfassen eines virtuellen Kreuzungspunkts Implementieren eines ersten Satzes von durch die Sicherheitsprozedur definierten Steuerungen oder eines zweiten Satzes von Steuerungen, die durch eine alternative Prozedur definiert sind, die im Vergleich zu der Sicherheitsprozedur als eine geringere Wahrscheinlichkeit für ein Auftreten eines realen Kreuzungspunkts zwischen dem Fahrzeug und einem Objekt der dem virtuellen Kreuzungspunkt zugeordneten Objekte aufweisend bestimmt wurde.
  9. Verfahren nach Anspruch 8, wobei das Implementieren des ersten Satzes von Steuerungen oder des zweiten Satzes von Steuerungen umfasst: Berechnen eines ersten Sicherheitspotenzials, das für eine erste Wahrscheinlichkeit des realen Kreuzungspunkts repräsentativ ist, basierend zumindest teilweise auf dem ersten Satz von Steuerungen, der für die Sicherheitsprozedur repräsentativ ist; Berechnen eines zweiten Sicherheitspotenzials, das für eine zweite Wahrscheinlichkeit des realen Kreuzungspunktes repräsentativ ist, basierend zumindest teilweise auf dem zweiten Satz von Steuerungen, der für die alternative Prozedur repräsentativ ist; Vergleichen des ersten Sicherheitspotenzials mit dem zweiten Sicherheitspotenzial; und basierend zumindest teilweise auf dem Vergleichen: bei einem Bestimmen, dass die zweite Wahrscheinlichkeit größer als die erste Wahrscheinlichkeit ist, Implementieren des ersten Satzes von Steuerungen; oder bei einem Bestimmen, dass die zweite Wahrscheinlichkeit gleich oder kleiner als die erste Wahrscheinlichkeit ist, Implementieren des ersten Satzes von Steuerungen oder des zweiten Satzes von Steuerungen.
  10. Verfahren nach Anspruch 8, wobei die Zeit eine aktuelle Zeit plus eine geschätzte Latenz ist, wobei die geschätzte Latenz vordefiniert ist oder basierend zumindest teilweise auf historischen Daten, die dem Fahrzeug zugeordnet sind, bestimmt wird.
  11. Verfahren nach Anspruch 8, ferner umfassend ein Erzeugen der objektbelegten Bewegungsbahnen durch: Bestimmen von Objektzuständen für jedes der Objekte in der Umgebung zu dem Zeitpunkt basierend zumindest teilweise auf Sensordaten, die von einem oder mehreren Sensoren des Fahrzeugs empfangen wurden, wobei jeder Objektzustand für eine jeweilige Position, Orientierung und Geschwindigkeit eines jeweiligen Objekts repräsentativ ist; Identifizieren von Objektsicherheitsprozeduren für jedes der Objekte; und Erzeugen der objektbelegten Bewegungsbahnen basierend zumindest teilweise auf den Objektzuständen und den Objektsicherheitsprozeduren.
  12. Verfahren nach Anspruch 8, ferner umfassend ein Bestimmen der Objekte in der Umgebung durch: Analysieren der Sensordaten zum Identifizieren wahrgenommener Objekte basierend zumindest teilweise auf Sensordaten, die von einem oder mehreren Sensoren des Fahrzeugs erzeugt wurden; Analysieren zumindest einer der Sensordaten und Kartendaten zum Bestimmen von Variablen in der Umgebung, wobei die Variablen zumindest eines von Kreuzungen, verdeckten Objekten oder Ampeln beinhalten; und Identifizieren von nicht wahrgenommenen Objekten basierend zumindest teilweise auf den Variablen, wobei die wahrgenommenen Objekte und die nicht wahrgenommenen Objekte die Objekte sind.
  13. Verfahren nach Anspruch 8, ferner umfassend: Bestimmen, während des Implementierens des ersten Satzes von Steuerungen oder des zweiten Satzes von Steuerungen, dass eine aktualisierte fahrzeugbelegte Bewegungsbahn eine aktualisierte objektbelegte Bewegungsbahn nicht länger schneidet; und Beenden des Implementierens des ersten Satzes von Steuerungen oder des zweiten Satzes von Steuerungen.
  14. Verfahren nach Anspruch 8, wobei die fahrzeugbelegte Bewegungsbahn repräsentativ für die zukünftig beanspruchten Sätze des Fahrzeugs in der Umgebung ist, falls das Fahrzeug die Sicherheitsprozedur zu diesem Zeitpunkt über einen Bereich von Bremsprofilen der Sicherheitsprozedur implementieren würde, wobei der Bereich von Bremsprofilen ein erstes Bremsprofil und ein zweites Bremsprofil, das sich von dem ersten Bremsprofil unterscheidet, beinhaltet.
  15. Verfahren nach Anspruch 8, wobei das Vergleichen der fahrzeugbelegten Bewegungsbahn mit den objektbelegten Bewegungsbahnen, die den Objekten in der Umgebung zugeordnet sind, ein Bestimmen beinhaltet, ob irgendwelche ersten Kanten, die der fahrzeugbelegten Bewegungsbahn entsprechen, irgendwelche zweiten Kanten schneiden, die den objektbelegten Bewegungsbahnen entsprechen.
  16. Verfahren nach Anspruch 8, wobei das Vergleichen der fahrzeugbelegten Bewegungsbahn mit den objektbelegten Bewegungsbahnen, die den Objekten in der Umgebung zugeordnet sind, ein Bestimmen beinhaltet, ob sich ein Scheitelpunkt der fahrzeugbelegten Bewegungsbahn mit einer Kante irgendeiner der objektbelegten Bewegungsbahnen schneidet.
  17. Verfahren nach Anspruch 8, wobei das Vergleichen der fahrzeugbelegten Bewegungsbahn mit den objektbelegten Bewegungsbahnen, die den Objekten in der Umgebung zugeordnet sind, ein Bestimmen beinhaltet, ob sich ein Scheitelpunkt irgendeiner der objektbelegten Bewegungsbahnen mit einer Kante der fahrzeugbelegten Bewegungsbahn schneidet.
  18. Verfahren, umfassend: basierend zumindest teilweise auf einem Fahrzeugzustand eines Fahrzeugs zu einem Zeitpunkt und einer ersten Sicherheitsprozedur für das Fahrzeug, Erzeugen einer fahrzeugbelegten Bewegungsbahn, die für erste Punkte in einer von dem Fahrzeug belegten Umgebung repräsentativ ist, falls das Fahrzeug die erste Sicherheitsprozedur zu diesem Zeitpunkt implementieren würde; basierend zumindest teilweise auf einem Objektzustand eines Objekts zu dem Zeitpunkt und einer zweiten Sicherheitsprozedur für das Objekt, Erzeugen einer objektbelegten Bewegungsbahn, die für zweite Punkte in der von dem Objekt belegten Umgebung repräsentativ ist, falls das Objekt die zweite Sicherheitsprozedur zu diesem Zeitpunkt implementieren würde; Bestimmen, dass zumindest einer der ersten Punkte in den zweiten Punkten enthalten ist; Berechnen eines ersten Sicherheitspotenzials, das dem Fahrzeug, das die erste Sicherheitsprozedur implementiert, und dem Objekts, das die zweite Sicherheitsprozedur implementiert, zugeordnet ist; Berechnen eines zweiten Sicherheitspotenzials, das dem Fahrzeug, das eine gegenüber der ersten Sicherheitsprozedur andere alternative Prozedur zu der Zeitpunkt implementiert, und dem Objekt, das die zweite Sicherheitsprozedur implementiert, zugeordnet ist; und Ausführen der alternativen Prozedur basierend zumindest teilweise auf einer Bestimmung, dass gegenüber dem ersten Sicherheitspotenzial das zweite Sicherheitspotenzial mit einer geringeren Wahrscheinlichkeit verbunden ist, eine Kollision zwischen dem Fahrzeug und dem Objekt zu verursachen.
  19. Verfahren nach Anspruch 18, wobei das Berechnen des zweiten Sicherheitspotenzials ein Durchführen einer Störungsanalyse umfasst zum Bestimmen von Sicherheitspotenzialen, die einer Vielzahl von Prozeduren für das Fahrzeug, einschließlich des alternativen Verfahrens, zugeordnet sind.
  20. Verfahren nach Anspruch 18, ferner umfassend: basierend zumindest teilweise auf dem Fahrzeugzustand des Fahrzeugs zu dem Zeitpunkt und der alternativen Prozedur für das Fahrzeug, Erzeugen einer alternativen fahrzeugbelegten Bewegungsbahn, die für dritte Punkte in der von dem Fahrzeug eingenommenen Umgebung repräsentativ ist, falls das Fahrzeug das alternative Verfahren zu dem Zeitpunkt durchführen würde, wobei das Berechnen des zweiten Sicherheitspotenzials ein Bestimmen umfasst, ob zumindest einer der dritten Punkte in den zweiten Punkten enthalten ist.
DE112019000065.9T 2018-02-02 2019-02-01 Sicherheitsprozeduranalyse zur hindernisvermeidung in einem autonomen fahrzeug Pending DE112019000065T5 (de)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201862625351P 2018-02-02 2018-02-02
US62/625,351 2018-02-02
US201862760916P 2018-11-13 2018-11-13
US62/760,916 2018-11-13
US201862768064P 2018-11-15 2018-11-15
US62/768,064 2018-11-15
US16/265,780 US11079764B2 (en) 2018-02-02 2019-02-01 Safety procedure analysis for obstacle avoidance in autonomous vehicles
PCT/US2019/016418 WO2019152888A1 (en) 2018-02-02 2019-02-01 Safety procedure analysis for obstacle avoidance in autonomous vehicle
US16/265,780 2019-02-01

Publications (1)

Publication Number Publication Date
DE112019000065T5 true DE112019000065T5 (de) 2020-03-05

Family

ID=67475511

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019000065.9T Pending DE112019000065T5 (de) 2018-02-02 2019-02-01 Sicherheitsprozeduranalyse zur hindernisvermeidung in einem autonomen fahrzeug

Country Status (4)

Country Link
US (4) US11079764B2 (de)
CN (1) CN110352153B (de)
DE (1) DE112019000065T5 (de)
WO (1) WO2019152888A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020109875A1 (de) 2020-04-08 2021-10-14 Technische Universität Darmstadt Vorrichtung zur Abschätzung einer Fahrzeit bis zu Zusammentreffen
US11402844B2 (en) * 2019-07-29 2022-08-02 Honda Motor Co., Ltd. Vehicle control apparatus, vehicle control method, and storage medium

Families Citing this family (209)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10656285B2 (en) * 2014-12-08 2020-05-19 Trusted Positioning, Inc. Method for positioning a mobile terminal at the moment when a trigger event occurs
US12038765B2 (en) * 2016-08-02 2024-07-16 Transportation Ip Holdings, Llc Vehicle control system and method
US10252717B2 (en) * 2017-01-10 2019-04-09 Toyota Jidosha Kabushiki Kaisha Vehicular mitigation system based on wireless vehicle data
WO2018176000A1 (en) 2017-03-23 2018-09-27 DeepScale, Inc. Data synthesis for autonomous control systems
US20210166568A1 (en) * 2017-06-16 2021-06-03 FLIR Belgium BVBA Collision avoidance systems and methods
MY189451A (en) * 2017-07-20 2022-02-14 Nissan Motor Vehicle travel control method and vehicle travel control device
US11157441B2 (en) 2017-07-24 2021-10-26 Tesla, Inc. Computational array microprocessor system using non-consecutive data formatting
US10671349B2 (en) 2017-07-24 2020-06-02 Tesla, Inc. Accelerated mathematical engine
US11893393B2 (en) 2017-07-24 2024-02-06 Tesla, Inc. Computational array microprocessor system with hardware arbiter managing memory requests
US11409692B2 (en) 2017-07-24 2022-08-09 Tesla, Inc. Vector computational unit
US20190079526A1 (en) * 2017-09-08 2019-03-14 Uber Technologies, Inc. Orientation Determination in Object Detection and Tracking for Autonomous Vehicles
KR102026697B1 (ko) * 2017-09-21 2019-09-30 엘지전자 주식회사 주행 시스템 및 차량
CN109840448A (zh) * 2017-11-24 2019-06-04 百度在线网络技术(北京)有限公司 用于无人驾驶车辆的信息输出方法和装置
US11561791B2 (en) 2018-02-01 2023-01-24 Tesla, Inc. Vector computational unit receiving data elements in parallel from a last row of a computational array
CN110352153B (zh) 2018-02-02 2024-07-19 辉达公司 自主车辆中用于障碍物躲避的安全程序分析
US11789449B2 (en) 2018-02-09 2023-10-17 Nvidia Corporation Controlling autonomous vehicles using safe arrival times
US11995551B2 (en) 2018-02-14 2024-05-28 Nvidia Corporation Pruning convolutional neural networks
CN111133447B (zh) 2018-02-18 2024-03-19 辉达公司 适于自主驾驶的对象检测和检测置信度的方法和系统
WO2019168869A1 (en) 2018-02-27 2019-09-06 Nvidia Corporation Real-time detection of lanes and boundaries by autonomous vehicles
WO2019178548A1 (en) 2018-03-15 2019-09-19 Nvidia Corporation Determining drivable free-space for autonomous vehicles
CN112896190A (zh) 2018-03-20 2021-06-04 御眼视觉技术有限公司 用于导航主车辆的系统、方法及计算机可读介质
WO2019182974A2 (en) 2018-03-21 2019-09-26 Nvidia Corporation Stereo depth estimation using deep neural networks
US10877152B2 (en) * 2018-03-27 2020-12-29 The Mathworks, Inc. Systems and methods for generating synthetic sensor data
CN112041908A (zh) * 2018-04-27 2020-12-04 上海趋视信息科技有限公司 监控交通标志违规的系统和方法
DE102018207102A1 (de) * 2018-05-08 2019-11-14 Robert Bosch Gmbh Verfahren zur Ermittlung der Trajektorienfolgegenauigkeit
US11966838B2 (en) 2018-06-19 2024-04-23 Nvidia Corporation Behavior-guided path planning in autonomous machine applications
US11215999B2 (en) 2018-06-20 2022-01-04 Tesla, Inc. Data pipeline and deep learning system for autonomous driving
JP6939723B2 (ja) * 2018-07-02 2021-09-22 株式会社デンソー 衝突判定装置
DE102018211240A1 (de) * 2018-07-07 2020-01-09 Robert Bosch Gmbh Verfahren zum Klassifizieren einer Relevanz eines Objekts
US12054204B2 (en) * 2018-07-12 2024-08-06 Steering Solutions Ip Holding Corporation Rack force estimation for steering systems
US11361457B2 (en) 2018-07-20 2022-06-14 Tesla, Inc. Annotation cross-labeling for autonomous control systems
US11636333B2 (en) 2018-07-26 2023-04-25 Tesla, Inc. Optimizing neural network structures for embedded systems
US11287814B2 (en) * 2018-08-07 2022-03-29 GM Global Technology Operations LLC Lane change detection system and method for an autonomous vehicle
WO2020035728A2 (en) 2018-08-14 2020-02-20 Mobileye Vision Technologies Ltd. Systems and methods for navigating with safe distances
US10479356B1 (en) 2018-08-17 2019-11-19 Lyft, Inc. Road segment similarity determination
US10942030B2 (en) 2018-08-17 2021-03-09 Lyft, Inc. Road segment similarity determination
US11562231B2 (en) 2018-09-03 2023-01-24 Tesla, Inc. Neural networks for embedded devices
US20200074230A1 (en) 2018-09-04 2020-03-05 Luminar Technologies, Inc. Automatically generating training data for a lidar using simulated vehicles in virtual space
US11155259B2 (en) * 2018-09-13 2021-10-26 Honda Motor Co., Ltd. System and method for egocentric-vision based future vehicle localization
AU2019357615B2 (en) 2018-10-11 2023-09-14 Tesla, Inc. Systems and methods for training machine models with augmented data
US11196678B2 (en) 2018-10-25 2021-12-07 Tesla, Inc. QOS manager for system on a chip communications
US11827241B2 (en) * 2018-10-29 2023-11-28 Motional Ad Llc Adjusting lateral clearance for a vehicle using a multi-dimensional envelope
US11648951B2 (en) 2018-10-29 2023-05-16 Motional Ad Llc Systems and methods for controlling actuators based on load characteristics and passenger comfort
US11260876B2 (en) * 2018-11-05 2022-03-01 Robert Bosch Gmbh Inter-vehicle sensor validation using senso-fusion network
CN113039563B (zh) 2018-11-16 2024-03-12 辉达公司 学习生成用于训练神经网络的合成数据集
US10843694B2 (en) * 2018-11-19 2020-11-24 Toyota Motor Engineering & Manufacturing North America, Inc. Vehicle height detection and environmental warning system
US11010907B1 (en) * 2018-11-27 2021-05-18 Zoox, Inc. Bounding box selection
US10936902B1 (en) 2018-11-27 2021-03-02 Zoox, Inc. Training bounding box selection
US11816585B2 (en) 2018-12-03 2023-11-14 Tesla, Inc. Machine learning models operating at different frequencies for autonomous vehicles
US11537811B2 (en) 2018-12-04 2022-12-27 Tesla, Inc. Enhanced object detection for autonomous vehicles based on field view
KR102569134B1 (ko) * 2018-12-18 2023-08-22 모셔널 에이디 엘엘씨 머신 러닝을 이용한 모션 계획을 사용한 차량의 동작
KR102279405B1 (ko) * 2018-12-26 2021-07-19 바이두닷컴 타임즈 테크놀로지(베이징) 컴퍼니 리미티드 자율 주행 차량의 고속 계획을 위한 다항식 피팅 기반의 기준선 평활화 방법
US11610117B2 (en) 2018-12-27 2023-03-21 Tesla, Inc. System and method for adapting a neural network model on a hardware platform
US11170299B2 (en) 2018-12-28 2021-11-09 Nvidia Corporation Distance estimation to objects and free-space boundaries in autonomous machine applications
WO2020140049A1 (en) 2018-12-28 2020-07-02 Nvidia Corporation Distance to obstacle detection in autonomous machine applications
WO2020140047A1 (en) 2018-12-28 2020-07-02 Nvidia Corporation Distance to obstacle detection in autonomous machine applications
US11214268B2 (en) * 2018-12-28 2022-01-04 Intel Corporation Methods and apparatus for unsupervised multimodal anomaly detection for autonomous vehicles
JP7256982B2 (ja) 2018-12-28 2023-04-13 スズキ株式会社 車両の走行制御装置
US11656620B2 (en) * 2018-12-31 2023-05-23 Luminar, Llc Generating environmental parameters based on sensor data using machine learning
US11127292B2 (en) * 2019-01-18 2021-09-21 GM Global Technology Operations LLC Methods and apparatus for detetermining lane-level static and dynamic information
US10997461B2 (en) 2019-02-01 2021-05-04 Tesla, Inc. Generating ground truth for machine learning from time series elements
US11150664B2 (en) 2019-02-01 2021-10-19 Tesla, Inc. Predicting three-dimensional features for autonomous driving
WO2020163390A1 (en) 2019-02-05 2020-08-13 Nvidia Corporation Driving lane perception diversity and redundancy in autonomous driving applications
US11567514B2 (en) 2019-02-11 2023-01-31 Tesla, Inc. Autonomous and user controlled vehicle summon to a target
DE102019202026A1 (de) * 2019-02-15 2020-08-20 Zf Friedrichshafen Ag Verfahren und Steuereinrichtung zur Fahrzeugkollisionsvermeidung
US10956755B2 (en) 2019-02-19 2021-03-23 Tesla, Inc. Estimating object properties using visual image data
JP7205768B2 (ja) * 2019-03-08 2023-01-17 スズキ株式会社 車両の走行制御装置
WO2020185779A1 (en) 2019-03-11 2020-09-17 Nvidia Corporation Intersection detection and classification in autonomous machine applications
JP7147651B2 (ja) * 2019-03-22 2022-10-05 トヨタ自動車株式会社 物体認識装置及び車両制御システム
US11155258B2 (en) * 2019-03-25 2021-10-26 GM Global Technology Operations LLC System and method for radar cross traffic tracking and maneuver risk estimation
JP7248478B2 (ja) * 2019-03-28 2023-03-29 本田技研工業株式会社 車両制御装置、端末装置、サーバ装置、車両、車両制御システム及び車両制御方法
US10953873B2 (en) * 2019-03-29 2021-03-23 Intel Corporation Extension to safety protocols for autonomous vehicle operation
US11226624B2 (en) * 2019-04-11 2022-01-18 Motorola Solutions, Inc. System and method for enabling a 360-degree threat detection sensor system to monitor an area of interest surrounding a vehicle
US11327507B2 (en) * 2019-04-12 2022-05-10 Waymo Llc Exception handling for autonomous vehicles
KR20210151107A (ko) * 2019-04-12 2021-12-13 볼보 트럭 코퍼레이션 굴절식 차량의 허용 가능한 차량 상태 공간을 결정하는 방법
US11472291B2 (en) * 2019-04-25 2022-10-18 Motional Ad Llc Graphical user interface for display of autonomous vehicle behaviors
GB2588983B (en) 2019-04-25 2022-05-25 Motional Ad Llc Graphical user interface for display of autonomous vehicle behaviors
KR20200133920A (ko) * 2019-05-21 2020-12-01 현대자동차주식회사 인공신경망 기반의 투사정보 인식 장치 및 그 방법
JP7227072B2 (ja) * 2019-05-22 2023-02-21 日立Astemo株式会社 車両制御装置
US11214253B2 (en) * 2019-05-24 2022-01-04 Toyota Jidosha Kabushiki Kaisha Longitudinal motion control of connected and automated vehicles
US10713950B1 (en) * 2019-06-13 2020-07-14 Autonomous Roadway Intelligence, Llc Rapid wireless communication for vehicle collision mitigation
US11928557B2 (en) 2019-06-13 2024-03-12 Lyft, Inc. Systems and methods for routing vehicles to capture and evaluate targeted scenarios
US11449475B2 (en) 2019-06-28 2022-09-20 Lyft, Inc. Approaches for encoding environmental information
US11157007B2 (en) 2019-06-28 2021-10-26 Lyft, Inc. Approaches for encoding environmental information
US10625748B1 (en) * 2019-06-28 2020-04-21 Lyft, Inc. Approaches for encoding environmental information
US10838061B1 (en) * 2019-07-16 2020-11-17 Blackmore Sensors & Analytics, LLC. Method and system for enhanced velocity resolution and signal to noise ratio in optical phase-encoded range detection
US10956776B2 (en) 2019-08-06 2021-03-23 Alibaba Group Holding Limited 2D convolutional accelerator that generates 3D results
US11161502B2 (en) * 2019-08-13 2021-11-02 Zoox, Inc. Cost-based path determination
US11194939B2 (en) 2019-08-16 2021-12-07 Uatc, Llc Hardware in loop testing and generation of latency profiles for use in simulation
WO2021034802A1 (en) 2019-08-22 2021-02-25 Argo AI, LLC Systems and methods for trajectory based safekeeping of vehicles
US11788861B2 (en) 2019-08-31 2023-10-17 Nvidia Corporation Map creation and localization for autonomous driving applications
CN115376363B (zh) * 2019-09-04 2023-12-01 赵婷婷 用于控制运载工具的系统、方法
US20200019177A1 (en) * 2019-09-24 2020-01-16 Intel Corporation Cognitive robotic systems and methods with fear based action/reaction
US11541882B2 (en) * 2019-09-24 2023-01-03 Volvo Car Corporation Low-impact collision detection
JP7393730B2 (ja) 2019-09-26 2023-12-07 スズキ株式会社 車両の走行制御装置
CN114630734B (zh) * 2019-09-30 2024-07-26 西门子股份公司 具有专用硬件加速的支持机器学习的视觉伺服
US11788846B2 (en) 2019-09-30 2023-10-17 Lyft, Inc. Mapping and determining scenarios for geographic regions
US11726492B2 (en) * 2019-10-02 2023-08-15 Zoox, Inc. Collision avoidance perception system
US11994866B2 (en) 2019-10-02 2024-05-28 Zoox, Inc. Collision avoidance perception system
US11754408B2 (en) * 2019-10-09 2023-09-12 Argo AI, LLC Methods and systems for topological planning in autonomous driving
US11315431B2 (en) * 2019-10-09 2022-04-26 Uatc, Llc Systems and methods for autonomous vehicle controls
US11273806B2 (en) * 2019-10-17 2022-03-15 Ford Global Technologies, Llc Enhanced collision mitigation
US20210114625A1 (en) * 2019-10-18 2021-04-22 WeRide Corp. System and method for autonomous collision avoidance
US12039785B2 (en) 2019-10-23 2024-07-16 Lyft, Inc. Approaches for encoding environmental information
US11816900B2 (en) 2019-10-23 2023-11-14 Lyft, Inc. Approaches for encoding environmental information
US11420630B2 (en) 2019-10-24 2022-08-23 Zoox, Inc. Trajectory modifications based on a collision zone
US11643073B2 (en) 2019-10-24 2023-05-09 Zoox, Inc. Trajectory modifications based on a collision zone
JP7469022B2 (ja) * 2019-10-29 2024-04-16 ファナック株式会社 ロボットシステム
CN110796242A (zh) * 2019-11-01 2020-02-14 广东三维家信息科技有限公司 神经网络模型推理方法、装置、电子设备及可读介质
US11693415B2 (en) * 2019-11-06 2023-07-04 Waymo Llc Predicting cut-in probabilities of surrounding agents
CN110794839B (zh) * 2019-11-07 2022-04-29 中国第一汽车股份有限公司 一种异形路口的自动驾驶控制方法及车辆
CN110687797B (zh) * 2019-11-11 2022-04-19 湖南大学 一种基于位置和姿态的自适应mpc泊车横向控制方法
CN110775056B (zh) * 2019-11-25 2021-10-15 苏州智加科技有限公司 基于雷达探测的车辆行驶方法、装置、终端及介质
JP2021086552A (ja) * 2019-11-29 2021-06-03 三菱電機株式会社 情報処理装置、表示方法、及び表示プログラム
US11608062B2 (en) * 2019-12-02 2023-03-21 Nissan Motor Co., Ltd. Vehicle control method and vehicle control device
US11609576B2 (en) * 2019-12-05 2023-03-21 Baidu Usa Llc Emergency vehicle audio detection
KR102304018B1 (ko) * 2019-12-10 2021-09-23 주식회사 라이드플럭스 자율주행 차량의 충돌 방지 방법, 장치 및 컴퓨터프로그램
WO2021118809A1 (en) * 2019-12-11 2021-06-17 Nvidia Corporation Surface profile estimation and bump detection for autonomous machine applications
US11860634B2 (en) * 2019-12-12 2024-01-02 Baidu Usa Llc Lane-attention: predicting vehicles' moving trajectories by learning their attention over lanes
RU2757234C2 (ru) * 2019-12-25 2021-10-12 Общество с ограниченной ответственностью "Яндекс Беспилотные Технологии" Способ и система для вычисления данных для управления работой беспилотного автомобиля
CN111186437B (zh) * 2019-12-25 2021-07-30 北京三快在线科技有限公司 一种车辆轨迹的风险确定方法及装置
CN111178286B (zh) * 2019-12-31 2023-09-12 智车优行科技(上海)有限公司 姿态轨迹预测方法、装置及电子设备
US11687778B2 (en) 2020-01-06 2023-06-27 The Research Foundation For The State University Of New York Fakecatcher: detection of synthetic portrait videos using biological signals
CN113160547B (zh) * 2020-01-22 2023-02-03 华为技术有限公司 一种自动驾驶方法及相关设备
DE102020200911B3 (de) * 2020-01-27 2020-10-29 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Erkennen von Objekten in einer Umgebung eines Fahrzeugs
US11605298B2 (en) * 2020-01-29 2023-03-14 Toyota Motor Engineering & Manufacturing North America, Inc. Pedestrian navigation based on vehicular collaborative computing
CN111175733B (zh) * 2020-02-05 2022-04-29 北京小马慧行科技有限公司 车身的角度的识别方法及装置、存储介质、处理器
DE102020001083A1 (de) * 2020-02-20 2021-08-26 Man Truck & Bus Se Sensorvorrichtung zur Umfelderfassung für ein Kraftfahrzeug
WO2021171049A1 (ja) * 2020-02-24 2021-09-02 日産自動車株式会社 車両制御方法及び車両制御装置
US11702101B2 (en) 2020-02-28 2023-07-18 International Business Machines Corporation Automatic scenario generator using a computer for autonomous driving
US11644331B2 (en) 2020-02-28 2023-05-09 International Business Machines Corporation Probe data generating system for simulator
US11814080B2 (en) 2020-02-28 2023-11-14 International Business Machines Corporation Autonomous driving evaluation using data analysis
JP7383532B2 (ja) * 2020-03-12 2023-11-20 本田技研工業株式会社 制御装置及び車両
CN111753623B (zh) * 2020-03-12 2024-03-05 北京京东乾石科技有限公司 一种运动物体的检测方法、装置、设备及存储介质
EP3886076A1 (de) * 2020-03-27 2021-09-29 Aptiv Technologies Limited Warnsystem für ein host-kraftfahrzeug
US11364883B2 (en) * 2020-03-27 2022-06-21 Nvidia Corporation Leveraging rear-view sensors for automatic emergency braking in autonomous machine applications
JP7036857B2 (ja) * 2020-03-27 2022-03-15 本田技研工業株式会社 車両及びその制御装置
US11995989B2 (en) * 2020-03-31 2024-05-28 Gm Cruise Holdings Llc Visualization of planned autonomous vehicle behavior
CN111645682B (zh) * 2020-04-20 2021-12-28 长城汽车股份有限公司 一种巡航控制方法、系统及车辆
WO2021216154A1 (en) * 2020-04-21 2021-10-28 Inrix, Inc. Travel speed prediction
US20210341926A1 (en) * 2020-04-29 2021-11-04 Gm Cruise Holdings Llc Dynamic tire rotation during collision
KR20210135389A (ko) * 2020-05-04 2021-11-15 현대자동차주식회사 장애물 인식 장치, 그를 포함하는 차량 시스템 및 그 방법
WO2021226921A1 (en) * 2020-05-14 2021-11-18 Harman International Industries, Incorporated Method and system of data processing for autonomous driving
US12077190B2 (en) 2020-05-18 2024-09-03 Nvidia Corporation Efficient safety aware path selection and planning for autonomous machine applications
US11465619B2 (en) * 2020-05-27 2022-10-11 Zoox, Inc. Vehicle collision avoidance based on perturbed object trajectories
CN113799794B (zh) * 2020-06-16 2023-05-09 华为技术有限公司 车辆纵向运动参数的规划方法和装置
CN113903184A (zh) * 2020-06-22 2022-01-07 奥迪股份公司 车辆状态显示方法、装置、车载电子设备及车辆
WO2021263028A1 (en) * 2020-06-24 2021-12-30 Airmar Technology Corporation Underwater camera with sonar fusion
CN111857135A (zh) * 2020-06-30 2020-10-30 北京百度网讯科技有限公司 用于车辆的避障方法、装置、电子设备和计算机存储介质
CN111966092A (zh) * 2020-07-21 2020-11-20 北京三快在线科技有限公司 无人车的控制方法、装置、存储介质、电子设备和无人车
DE102020210376A1 (de) * 2020-08-14 2022-02-17 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Steuern eines Hardware-Agenten in einer Steuersituation mit mehreren Hardware-Agenten
CN112172806B (zh) * 2020-08-31 2022-03-22 恒大新能源汽车投资控股集团有限公司 车辆状态的调整装置、方法和电子设备
US20220063666A1 (en) * 2020-09-01 2022-03-03 Motional Ad Llc Scoring autonomous vehicle trajectories using reasonable crowd data
DE102020125095B4 (de) * 2020-09-25 2024-02-29 Volocopter Gmbh Verfahren zum Betreiben eines Fluggeräts, Flugsteuerungsvorrichtung für ein Fluggerät und Fluggerät mit mehreren Antriebseinheiten
US11731661B2 (en) 2020-10-01 2023-08-22 Argo AI, LLC Systems and methods for imminent collision avoidance
US11618444B2 (en) 2020-10-01 2023-04-04 Argo AI, LLC Methods and systems for autonomous vehicle inference of routes for actors exhibiting unrecognized behavior
JP7334702B2 (ja) * 2020-10-02 2023-08-29 トヨタ自動車株式会社 サービス管理装置
US11521394B2 (en) * 2020-10-09 2022-12-06 Motional Ad Llc Ground plane estimation using LiDAR semantic network
CN114379574B (zh) * 2020-10-20 2023-10-31 沃尔沃汽车公司 用于车辆的对象提醒设备、系统和方法
US11978266B2 (en) 2020-10-21 2024-05-07 Nvidia Corporation Occupant attentiveness and cognitive load monitoring for autonomous and semi-autonomous driving applications
US20220122363A1 (en) * 2020-10-21 2022-04-21 Motional Ad Llc IDENTIFYING OBJECTS USING LiDAR
US11603095B2 (en) 2020-10-30 2023-03-14 Zoox, Inc. Collision avoidance planning system
US20220135075A1 (en) * 2020-11-02 2022-05-05 Nvidia Corporation Safety decomposition architecture for autonomous machine applications
US11794732B2 (en) * 2020-11-05 2023-10-24 Zoox, Inc. Allocation of safety system resources based on probability of intersection
DE102020214033A1 (de) * 2020-11-09 2022-05-12 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Steuern einer Sicherheitseinrichtung eines Fahrzeugs und Sicherheitssystem für ein Fahrzeug
DE102020214031A1 (de) * 2020-11-09 2022-05-12 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Steuern einer Sicherheitseinrichtung eines Fahrzeugs und Sicherheitssystem für ein Fahrzeug
EP4001042B1 (de) 2020-11-23 2024-07-17 Aptiv Technologies AG System und verfahren zur vorhersage von strassenkollisionen mit einem host-fahrzeug
US20220171397A1 (en) * 2020-12-02 2022-06-02 The Boeing Company Computing device and method for tracking movement of objects
US11912302B2 (en) * 2020-12-21 2024-02-27 Zoox, Inc. Autonomous control engagement
US11738777B2 (en) 2020-12-21 2023-08-29 Zoox, Inc. Dynamic autonomous control engagement
WO2022140063A1 (en) * 2020-12-21 2022-06-30 Zoox, Inc. Autonomous control engagement
KR20220095317A (ko) * 2020-12-29 2022-07-07 현대자동차주식회사 차량
US11960009B2 (en) 2020-12-30 2024-04-16 Zoox, Inc. Object contour determination
WO2022146623A1 (en) * 2020-12-30 2022-07-07 Zoox, Inc. Collision avoidance using an object contour
US12030522B2 (en) * 2020-12-30 2024-07-09 Zoox, Inc. Collision avoidance using an object contour
US20220212694A1 (en) * 2021-01-07 2022-07-07 Argo AI, LLC Methods and systems for generating a longitudinal plan for an autonomous vehicle based on behavior of uncertain road users
US11724641B2 (en) 2021-01-26 2023-08-15 Ford Global Technologies, Llc Hazard condition warning for package delivery operation
US12030485B2 (en) 2021-01-28 2024-07-09 Motional Ad Llc Vehicle operation using maneuver generation
US20220234618A1 (en) * 2021-01-28 2022-07-28 Motional Ad Llc Homotopic-based planner for autonomous vehicles
EP4309019A4 (de) * 2021-03-15 2024-07-24 Motional Ad Llc Trajektorienprüfer
EP4068241A1 (de) * 2021-03-30 2022-10-05 Siemens Industry Software NV Fahrerassistenzsystem und verfahren zur steuerung von autonomen fahrzeugen
US20220315047A1 (en) * 2021-03-30 2022-10-06 Honda Research Institute Europe Gmbh Method, system and vehicle with an uncertainty-based lane positioning control
CN113968245A (zh) * 2021-04-15 2022-01-25 上海丰豹商务咨询有限公司 适用于协同式自动驾驶系统的车载智能单元和控制方法
US20220340149A1 (en) * 2021-04-21 2022-10-27 Nvidia Corporation End-to-end evaluation of perception systems for autonomous systems and applications
EP4082853A1 (de) * 2021-04-28 2022-11-02 KNORR-BREMSE Systeme für Nutzfahrzeuge GmbH Auswertungsvorrichtung zur auswertung einer bahnhypothese für ein fahrzeug
US11783708B2 (en) 2021-05-10 2023-10-10 Ford Global Technologies, Llc User-tailored roadway complexity awareness
US11851054B2 (en) * 2021-06-18 2023-12-26 Zoox, Inc. Active prediction based on object trajectories
KR20230005556A (ko) * 2021-07-01 2023-01-10 현대모비스 주식회사 충돌 경고 장치 및 그것을 포함하는 차량
US20230142674A1 (en) * 2021-07-23 2023-05-11 Zoox, Inc. Radar data analysis and concealed object detection
US12085935B2 (en) * 2021-07-30 2024-09-10 Waymo Llc Open door reconstruction for sensor simulation
US12043289B2 (en) 2021-08-17 2024-07-23 Argo AI, LLC Persisting predicted objects for robustness to perception issues in autonomous driving
CN113682321A (zh) * 2021-08-24 2021-11-23 蔚来汽车科技(安徽)有限公司 用于在汽车电子系统中转移车辆控制权的方法和装置
CN113762473B (zh) * 2021-08-25 2024-04-12 江苏大学 一种基于多时空图的复杂场景行车风险预测方法
EP4140842B1 (de) * 2021-08-26 2024-06-05 Aptiv Technologies AG Verfahren und systeme zur steuerung eines fahrzeugs
CN114170789B (zh) * 2021-10-20 2023-06-20 南京理工大学 基于时空图神经网络的智能网联车换道决策建模方法
CN116151496A (zh) * 2021-11-16 2023-05-23 南宁富联富桂精密工业有限公司 自动导引车调度方法、电子装置及存储介质
US20230166759A1 (en) * 2021-12-01 2023-06-01 Toyota Research Institute, Inc. Systems and methods for improving localization accuracy by sharing dynamic object localization information
CN113978457B (zh) * 2021-12-24 2022-05-03 深圳佑驾创新科技有限公司 一种碰撞风险预测方法及装置
FR3132482B1 (fr) * 2022-02-04 2024-08-16 Renault Sas Procédé de détection de danger dans l’environnement d’un véhicule automobile
CN114187764B (zh) * 2022-02-16 2022-05-13 深圳佑驾创新科技有限公司 一种针对vru穿行场景的碰撞危险度快速检测方法
US20230347880A1 (en) * 2022-04-29 2023-11-02 Zoox, Inc. Systems and methods for determining buffer regions
US20240126811A1 (en) * 2022-05-19 2024-04-18 Nvidia Corporation Neural networks to indicate data dependencies
US20230419830A1 (en) * 2022-06-27 2023-12-28 Zoox, Inc. Determining right of way
CN114859374B (zh) * 2022-07-11 2022-09-09 中国铁路设计集团有限公司 基于无人机激光点云和影像融合的新建铁路交叉测量方法
CN115092136B (zh) * 2022-07-27 2023-09-12 广州小鹏自动驾驶科技有限公司 车速规划方法、装置、车辆及存储介质
WO2024035738A1 (en) * 2022-08-09 2024-02-15 Motional Ad Llc Methods and systems for obstacle representation
DE102022128153A1 (de) * 2022-10-25 2024-04-25 Bayerische Motoren Werke Aktiengesellschaft Verfahren und System zum Koordinieren von autonomen Fahrzeugen in wenigstens einem Verkehrsbereich
FR3142426A1 (fr) * 2022-11-25 2024-05-31 Renault S.A.S Procédé de freinage d’urgence d’un véhicule automobile.
CN116129392B (zh) * 2023-04-17 2023-07-14 北京集度科技有限公司 车道线横向完整性的识别方法、设备及存储介质

Family Cites Families (111)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6393362B1 (en) 2000-03-07 2002-05-21 Modular Mining Systems, Inc. Dynamic safety envelope for autonomous-vehicle collision avoidance system
US7852462B2 (en) 2000-05-08 2010-12-14 Automotive Technologies International, Inc. Vehicular component control methods based on blind spot monitoring
JP4159794B2 (ja) 2001-05-02 2008-10-01 本田技研工業株式会社 画像処理装置及び方法
JP4818609B2 (ja) 2002-08-21 2011-11-16 ジェンテックス コーポレイション 外部車両照明の自動制御のための画像取得及び処理方法
US7068815B2 (en) 2003-06-13 2006-06-27 Sarnoff Corporation Method and apparatus for ground detection and removal in vision systems
US7409295B2 (en) * 2004-08-09 2008-08-05 M/A-Com, Inc. Imminent-collision detection system and process
JP2006189325A (ja) 2005-01-06 2006-07-20 Aisin Aw Co Ltd 車両の現在地情報管理装置
US8164628B2 (en) 2006-01-04 2012-04-24 Mobileye Technologies Ltd. Estimating distance to an object using a sequence of images recorded by a monocular camera
EP2383679A1 (de) 2006-12-06 2011-11-02 Mobileye Technologies Limited Detektion und Erkennung von Verkehrszeichen
JP4462333B2 (ja) 2007-11-13 2010-05-12 株式会社デンソー 走行支援装置
CN102067180B (zh) 2008-04-14 2014-07-09 谷歌公司 使用虚拟表面摇摄
US8352112B2 (en) 2009-04-06 2013-01-08 GM Global Technology Operations LLC Autonomous vehicle management
KR101717787B1 (ko) 2010-04-29 2017-03-17 엘지전자 주식회사 디스플레이장치 및 그의 음성신호 출력 방법
KR101225626B1 (ko) 2010-07-19 2013-01-24 포항공과대학교 산학협력단 차선 인식 시스템 및 방법
EP2562060B1 (de) * 2011-08-22 2014-10-01 Honda Research Institute Europe GmbH Verfahren und System zur Vorhersage des Bewegungsverhaltens eines Zielverkehrsobjekts
US9489635B1 (en) 2012-11-01 2016-11-08 Google Inc. Methods and systems for vehicle perception feedback to classify data representative of types of objects and to request feedback regarding such classifications
CN104424466B (zh) 2013-08-21 2018-05-15 佳能株式会社 对象检测方法、对象检测设备及图像拾取设备
US9373057B1 (en) 2013-11-01 2016-06-21 Google Inc. Training a neural network to detect objects in images
EP2950175B1 (de) 2014-05-27 2021-03-31 dSPACE digital signal processing and control engineering GmbH Verfahren und Vorrichtung zum Testen eines Steuergerätes
DE102014212898A1 (de) * 2014-07-03 2016-01-07 Robert Bosch Gmbh Verfahren zum Ermitteln einer Notfall-Trajektorie und Verfahren zum teilautomatisierten oder automatisierten Führen eines Ego-Fahrzeugs
WO2016130719A2 (en) * 2015-02-10 2016-08-18 Amnon Shashua Sparse map for autonomous vehicle navigation
US9811756B2 (en) 2015-02-23 2017-11-07 Mitsubishi Electric Research Laboratories, Inc. Method for labeling images of street scenes
US11630800B2 (en) 2015-05-01 2023-04-18 Nvidia Corporation Programmable vision accelerator
EP3295422B1 (de) 2015-05-10 2020-01-01 Mobileye Vision Technologies Ltd. Strassenprofile entlang eines prognostizierten weges
US9934688B2 (en) * 2015-07-31 2018-04-03 Ford Global Technologies, Llc Vehicle trajectory determination
US10002471B2 (en) * 2015-09-30 2018-06-19 Ants Technology (Hk) Limited Systems and methods for autonomous vehicle navigation
US9751506B2 (en) * 2015-10-27 2017-09-05 GM Global Technology Operations LLC Algorithms for avoiding automotive crashes at left and right turn intersections
US9983591B2 (en) 2015-11-05 2018-05-29 Ford Global Technologies, Llc Autonomous driving at intersections based on perception data
DE102016220945A1 (de) 2015-11-06 2017-05-11 Ford Global Technologies, Llc Verfahren und Vorrichtung zum Unterstützen eines Manövriervorganges eines Kraftfahrzeuges
DE102015221920A1 (de) 2015-11-09 2017-05-11 Bayerische Motoren Werke Aktiengesellschaft Verfahren, Computerprogrammprodukt, Vorrichtung, und Fahrzeug umfassend die Vorrichtung zum Steuern einer Trajektorienplanung eines Egofahrzeugs
US10800455B2 (en) 2015-12-17 2020-10-13 Ford Global Technologies, Llc Vehicle turn signal detection
DE102015226762B4 (de) 2015-12-28 2024-04-25 Robert Bosch Gmbh Verfahren zur Korrektur mindestens eines Kollisionsparameters und korrespondierendes integriertes Sicherheitssystem für ein Fahrzeug
US10134278B1 (en) 2016-01-22 2018-11-20 State Farm Mutual Automobile Insurance Company Autonomous vehicle application
US9996771B2 (en) 2016-02-15 2018-06-12 Nvidia Corporation System and method for procedurally synthesizing datasets of objects of interest for training machine-learning models
US9802599B2 (en) 2016-03-08 2017-10-31 Ford Global Technologies, Llc Vehicle lane placement
JP6575818B2 (ja) 2016-03-25 2019-09-18 パナソニックIpマネジメント株式会社 運転支援方法およびそれを利用した運転支援装置、自動運転制御装置、車両、運転支援システム、プログラム
US9701307B1 (en) * 2016-04-11 2017-07-11 David E. Newman Systems and methods for hazard mitigation
US10032067B2 (en) 2016-05-28 2018-07-24 Samsung Electronics Co., Ltd. System and method for a unified architecture multi-task deep learning machine for object recognition
CN106114507B (zh) 2016-06-21 2018-04-03 百度在线网络技术(北京)有限公司 用于智能车辆的局部轨迹规划方法和装置
WO2018005441A2 (en) 2016-06-27 2018-01-04 Mobileye Vision Technologies Ltd. Controlling host vehicle based on detected parked vehicle characteristics
CN109643125B (zh) 2016-06-28 2022-11-15 柯尼亚塔有限公司 用于训练自动驾驶系统的逼真的3d虚拟世界创造与模拟
EP3492581A4 (de) 2016-07-26 2020-02-05 Kaneka Corporation Transformant, der ein pha-copolymer mit einer 3hh-einheit produziert, und verfahren zur herstellung des pha
GB2553782B (en) 2016-09-12 2021-10-20 Niantic Inc Predicting depth from image data using a statistical model
US10127670B2 (en) 2016-09-27 2018-11-13 Xactware Solutions, Inc. Computer vision systems and methods for detecting and modeling features of structures in images
US10053091B2 (en) 2016-10-25 2018-08-21 Baidu Usa Llc Spring system-based change lane approach for autonomous vehicles
US10289469B2 (en) 2016-10-28 2019-05-14 Nvidia Corporation Reliability enhancement utilizing speculative execution systems and methods
US20180136332A1 (en) 2016-11-15 2018-05-17 Wheego Electric Cars, Inc. Method and system to annotate objects and determine distances to objects in an image
US20180158244A1 (en) 2016-12-02 2018-06-07 Ayotle Virtual sensor configuration
CN110062934B (zh) 2016-12-02 2023-09-01 谷歌有限责任公司 使用神经网络确定图像中的结构和运动
CN106740457A (zh) 2016-12-07 2017-05-31 镇江市高等专科学校 基于bp神经网络模型的车辆换道决策方法
US10268200B2 (en) 2016-12-21 2019-04-23 Baidu Usa Llc Method and system to predict one or more trajectories of a vehicle based on context surrounding the vehicle
US10137896B2 (en) 2016-12-30 2018-11-27 Baidu Usa Llc Method and system for operating autonomous driving vehicles using graph-based lane change guide
US10859395B2 (en) 2016-12-30 2020-12-08 DeepMap Inc. Lane line creation for high definition maps for autonomous vehicles
US10691847B2 (en) 2017-01-13 2020-06-23 Sap Se Real-time damage determination of an asset
US20210129868A1 (en) 2017-02-06 2021-05-06 Vayavision Sensing Ltd. Computer aided driving
MX2019009397A (es) 2017-02-10 2019-12-05 Nissan North America Inc Gestion operacional de vehiculo autonomo que incluye operar una instancia de modelo de proceso de decision de markov parcialmente observable.
US11288595B2 (en) 2017-02-14 2022-03-29 Groq, Inc. Minimizing memory and processor consumption in creating machine learning models
US10906583B2 (en) 2017-03-03 2021-02-02 Continental Automotive Systems, Inc. Autonomous trailer hitching using neural network
US10209718B2 (en) 2017-03-14 2019-02-19 Starsky Robotics, Inc. Vehicle sensor system and method of use
US10139831B2 (en) 2017-03-17 2018-11-27 Denso International America, Inc. Vehicle system and vehicle controller for controlling vehicle
US11899669B2 (en) 2017-03-20 2024-02-13 Carnegie Mellon University Searching of data structures in pre-processing data for a machine learning classifier
KR102406507B1 (ko) 2017-03-27 2022-06-10 현대자동차주식회사 딥러닝 기반 자율주행 차량 제어 장치, 그를 포함한 시스템 및 그 방법
US10460180B2 (en) 2017-04-20 2019-10-29 GM Global Technology Operations LLC Systems and methods for visual classification with region proposals
US10108867B1 (en) 2017-04-25 2018-10-23 Uber Technologies, Inc. Image-based pedestrian detection
US10372141B2 (en) 2017-05-24 2019-08-06 Uber Technologies, Inc. Systems and methods for controlling autonomous vehicles that provide a vehicle service to users
EP3616422B1 (de) 2017-05-26 2021-02-17 Google LLC Maschinengelerntes modellsystem
US20180349746A1 (en) 2017-05-31 2018-12-06 Uber Technologies, Inc. Top-View Lidar-Based Object Detection
US10310087B2 (en) 2017-05-31 2019-06-04 Uber Technologies, Inc. Range-view LIDAR-based object detection
US10346888B2 (en) 2017-06-16 2019-07-09 Uber Technologies, Inc. Systems and methods to obtain passenger feedback in response to autonomous vehicle driving events
US11214273B2 (en) 2017-06-23 2022-01-04 Nvidia Corporation Method of using a single controller (ECU) for a fault-tolerant/fail-operational self-driving system
US10007269B1 (en) 2017-06-23 2018-06-26 Uber Technologies, Inc. Collision-avoidance system for autonomous-capable vehicle
US20180373980A1 (en) 2017-06-27 2018-12-27 drive.ai Inc. Method for training and refining an artificial intelligence
US10579063B2 (en) 2017-07-21 2020-03-03 Uatc, Llc Machine learning for predicting locations of objects perceived by autonomous vehicles
US11188794B2 (en) * 2017-08-10 2021-11-30 Intel Corporation Convolutional neural network framework using reverse connections and objectness priors for object detection
US10339669B2 (en) 2017-08-22 2019-07-02 Here Global B.V. Method, apparatus, and system for a vertex-based evaluation of polygon similarity
US11487988B2 (en) 2017-08-31 2022-11-01 Ford Global Technologies, Llc Augmenting real sensor recordings with simulated sensor data
KR102026697B1 (ko) * 2017-09-21 2019-09-30 엘지전자 주식회사 주행 시스템 및 차량
US10579897B2 (en) 2017-10-02 2020-03-03 Xnor.ai Inc. Image based object detection
US10997491B2 (en) 2017-10-04 2021-05-04 Huawei Technologies Co., Ltd. Method of prediction of a state of an object in the environment using an action model of a neural network
US10599546B1 (en) 2017-10-25 2020-03-24 Uatc, Llc Autonomous vehicle testing systems and methods
US20190129831A1 (en) 2017-10-27 2019-05-02 Uber Technologies, Inc. Autonomous Vehicle Simulation Testing Systems and Methods
US10580158B1 (en) 2017-11-03 2020-03-03 Zoox, Inc. Dense depth estimation of image data
JP7346401B2 (ja) * 2017-11-10 2023-09-19 エヌビディア コーポレーション 安全で信頼できる自動運転車両のためのシステム及び方法
US11017550B2 (en) 2017-11-15 2021-05-25 Uatc, Llc End-to-end tracking of objects
US11062461B2 (en) 2017-11-16 2021-07-13 Zoox, Inc. Pose determination from contact points
US10762396B2 (en) 2017-12-05 2020-09-01 Utac, Llc Multiple stage image based object detection and recognition
CN110574371B (zh) * 2017-12-08 2021-12-21 百度时代网络技术(北京)有限公司 使用硬件加速器的立体摄像机深度确定
US20190179979A1 (en) 2017-12-13 2019-06-13 Uber Technologies, Inc. Simulated Sensor Testing
US11042163B2 (en) * 2018-01-07 2021-06-22 Nvidia Corporation Guiding vehicles through vehicle maneuvers using machine learning models
US11150663B2 (en) 2018-01-26 2021-10-19 Nvidia Corporation Detection of hazardous driving using machine learning
CN110352153B (zh) * 2018-02-02 2024-07-19 辉达公司 自主车辆中用于障碍物躲避的安全程序分析
US11789449B2 (en) * 2018-02-09 2023-10-17 Nvidia Corporation Controlling autonomous vehicles using safe arrival times
US11995551B2 (en) 2018-02-14 2024-05-28 Nvidia Corporation Pruning convolutional neural networks
CN111133447B (zh) 2018-02-18 2024-03-19 辉达公司 适于自主驾驶的对象检测和检测置信度的方法和系统
US10816978B1 (en) 2018-02-22 2020-10-27 Msc.Software Corporation Automated vehicle artificial intelligence training based on simulations
WO2019168869A1 (en) 2018-02-27 2019-09-06 Nvidia Corporation Real-time detection of lanes and boundaries by autonomous vehicles
US10157331B1 (en) 2018-03-08 2018-12-18 Capital One Services, Llc Systems and methods for image preprocessing to improve accuracy of object recognition
WO2019178548A1 (en) 2018-03-15 2019-09-19 Nvidia Corporation Determining drivable free-space for autonomous vehicles
WO2019178506A1 (en) 2018-03-15 2019-09-19 Modular Mining Systems, Inc. Projected zone overlap
US10776985B2 (en) 2018-03-17 2020-09-15 Nvidia Corporation Reflection denoising in ray-tracing applications
CN112896190A (zh) 2018-03-20 2021-06-04 御眼视觉技术有限公司 用于导航主车辆的系统、方法及计算机可读介质
WO2019182974A2 (en) 2018-03-21 2019-09-26 Nvidia Corporation Stereo depth estimation using deep neural networks
WO2019191313A1 (en) 2018-03-27 2019-10-03 Nvidia Corporation Remote operation of vehicles using immersive virtual reality environments
US11467590B2 (en) * 2018-04-09 2022-10-11 SafeAI, Inc. Techniques for considering uncertainty in use of artificial intelligence models
CN112204633B (zh) 2018-05-31 2021-11-09 北美日产公司 概率性对象跟踪和预测框架
US11370423B2 (en) * 2018-06-15 2022-06-28 Uatc, Llc Multi-task machine-learned models for object intention determination in autonomous driving
US10885698B2 (en) 2018-08-10 2021-01-05 Nvidia Corporation Method for programmable timeouts of tree traversal mechanisms in hardware
US10942030B2 (en) * 2018-08-17 2021-03-09 Lyft, Inc. Road segment similarity determination
US10625748B1 (en) * 2019-06-28 2020-04-21 Lyft, Inc. Approaches for encoding environmental information
JP2021024423A (ja) 2019-08-05 2021-02-22 本田技研工業株式会社 車両制御装置、車両制御方法、およびプログラム
US11966673B2 (en) 2020-03-13 2024-04-23 Nvidia Corporation Sensor simulation and learning sensor models with generative machine learning methods

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11402844B2 (en) * 2019-07-29 2022-08-02 Honda Motor Co., Ltd. Vehicle control apparatus, vehicle control method, and storage medium
DE102020109875A1 (de) 2020-04-08 2021-10-14 Technische Universität Darmstadt Vorrichtung zur Abschätzung einer Fahrzeit bis zu Zusammentreffen

Also Published As

Publication number Publication date
US11079764B2 (en) 2021-08-03
CN110352153B (zh) 2024-07-19
US20210325892A1 (en) 2021-10-21
US20190243371A1 (en) 2019-08-08
US11604470B2 (en) 2023-03-14
CN110352153A (zh) 2019-10-18
US11966228B2 (en) 2024-04-23
US20240174219A1 (en) 2024-05-30
US20230124848A1 (en) 2023-04-20
WO2019152888A1 (en) 2019-08-08

Similar Documents

Publication Publication Date Title
DE112019000065T5 (de) Sicherheitsprozeduranalyse zur hindernisvermeidung in einem autonomen fahrzeug
DE112021000422T5 (de) Vorhersage künftiger Trajektorien in Umgebungen mit mehreren Aktoren für autonome Maschinenanwendungen
DE112021000216T5 (de) Verhaltensplanung für autonome Fahrzeuge
DE112020006404T5 (de) Planung und steuerung von spurwechseln in autonomen maschinenapplikationen
DE102020117792A1 (de) Wirksames einsetzen von hindernis- und spurerkennungen, um spurzuweisungen für objekte in einer umgebung zu bestimmen
DE112021000135T5 (de) Sensorfusion für anwendungen autonomer maschinen durch maschinelles lernen
DE102021121558A1 (de) Auf neuronalen netzen basierende bestimmung der blickrichtung unter verwendung räumlicher modelle
DE102021126254A1 (de) Überwachen der Aufmerksamkeit und der kognitiven Belastung der Insassen für autonome und halbautonome Fahranwendungen
DE112020002126T5 (de) Erkennung von kreuzungsposen in autonomen maschinenanwendungen
DE112019000279T5 (de) Steuern autonomer fahrzeuge anhand sicherer ankunftszeiten
DE112019006484T5 (de) Detektion von abständen zu hindernissen in autonomen maschinenanwendungen
DE112020001897T5 (de) Trainieren neuronaler Netze unter Verwendung von Grundwahrheitsdaten, die mit Karteninformationen ergänzt wurden, für autonome Maschinenanwendungen
DE102021117456A1 (de) Systeme und verfahren zur risikobewertung und gerichteten warnung bei fussgängerüberwegen
DE112019000048T5 (de) Bestimmung eines befahrbaren freiraums für autonome fahrzeuge
DE112020002166T5 (de) Simulation realistischer testdaten aus transformierten sensordaten der realen welt für autonome maschinenanwendungen
DE112021001994T5 (de) Modellbasiertes bestärkendes lernen zur verhaltensvorhersage in autonomen systemen und anwendungen
DE112020006410T5 (de) Dreidimensionale kreuzungsstrukturvorhersage für anwendungen zum autonomen fahren
DE112020003043T5 (de) Erkennung und klassifizierung von kreuzungsregionen für autonome maschinenanwendungen
DE102022112748A1 (de) Verwendung von ankunftszeitpunkten und sicherheitsprozedurenin bewegungsplanungstrajektorien für autonome fahrzeuge
DE112020006181T5 (de) Blickbestimmung mit blendung als eingabe
DE102022121121A1 (de) Objektverfolgung unter Verwendung von LiDAR-Daten für autonome Maschinenanwendungen
DE102022119206A1 (de) Verhaltensplanung für autonome Fahrzeuge in Vorfahrtszenarien
DE102022126537A1 (de) Codierung von Vorfahrtsszenarien für autonome Systeme
DE102023120759A1 (de) Adaptive cruise control using future trajectory prediction for autonomous systems and applications
DE102020130749A1 (de) System zum maschinellen lernen zur blickbestimmung mit adaptiver gewichtung von eingaben

Legal Events

Date Code Title Description
R012 Request for examination validly filed