DE102021132737A1 - Manöverrealisator auf abtastbasis - Google Patents

Manöverrealisator auf abtastbasis Download PDF

Info

Publication number
DE102021132737A1
DE102021132737A1 DE102021132737.7A DE102021132737A DE102021132737A1 DE 102021132737 A1 DE102021132737 A1 DE 102021132737A1 DE 102021132737 A DE102021132737 A DE 102021132737A DE 102021132737 A1 DE102021132737 A1 DE 102021132737A1
Authority
DE
Germany
Prior art keywords
constraints
time constraints
location
space
vehicle
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
DE102021132737.7A
Other languages
English (en)
Inventor
Emilio Frazzoli
Juraj Kabzan
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.)
Motional AD LLC
Original Assignee
Motional AD LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motional AD LLC filed Critical Motional AD LLC
Publication of DE102021132737A1 publication Critical patent/DE102021132737A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3407Route searching; Route guidance specially adapted for specific applications
    • G01C21/3415Dynamic re-routing, e.g. recalculating the route when the user deviates from calculated route or after detecting real-time traffic data or accidents
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0015Planning or execution of driving tasks specially adapted for safety
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0011Planning or execution of driving tasks involving control alternatives for a single driving scenario, e.g. planning several paths to avoid obstacles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • 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
    • B60W30/0956Predicting travel path or likelihood of collision the prediction being responsive to traffic or environmental parameters
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/10Path keeping
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/14Adaptive cruise control
    • B60W30/143Speed control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • B60W40/06Road conditions
    • B60W40/072Curvature of the road
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/10Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to vehicle motion
    • B60W40/105Speed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/10Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to vehicle motion
    • B60W40/107Longitudinal acceleration
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0013Planning or execution of driving tasks specially adapted for occupant comfort
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/165Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/17Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems
    • G06N5/047Pattern matching networks; Rete networks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0019Control system elements or transfer functions
    • B60W2050/0028Mathematical models, e.g. for simulation
    • B60W2050/0031Mathematical model of the vehicle
    • B60W2050/0033Single-track, 2D vehicle model, i.e. two-wheel bicycle model
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0043Signal treatments, identification of variables or parameters, parameter estimation or state estimation
    • B60W2050/005Sampling
    • 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
    • B60W2554/00Input parameters relating to objects
    • B60W2554/80Spatial relation or speed relative to objects
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2554/00Input parameters relating to objects
    • B60W2554/80Spatial relation or speed relative to objects
    • B60W2554/804Relative longitudinal 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
    • B60W2720/00Output or target parameters relating to overall vehicle dynamics
    • B60W2720/10Longitudinal speed
    • B60W2720/103Speed profile
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2720/00Output or target parameters relating to overall vehicle dynamics
    • B60W2720/10Longitudinal speed
    • B60W2720/106Longitudinal acceleration
    • 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
    • B60W2754/00Output or target parameters relating to objects
    • B60W2754/10Spatial relation or speed relative to objects
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2754/00Output or target parameters relating to objects
    • B60W2754/10Spatial relation or speed relative to objects
    • B60W2754/20Lateral distance
    • 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
    • B60W2754/00Output or target parameters relating to objects
    • B60W2754/10Spatial relation or speed relative to objects
    • B60W2754/30Longitudinal distance

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Traffic Control Systems (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

Aufgenommen sind Ausführungsformen für einen Manöverrealisator auf Abtastbasis. In einer Ausführungsform umfasst ein Verfahren: Erhalten, unter Verwendung mindestens eines Prozessors, einer Manöverbeschreibung für ein Fahrzeug, wobei die Manöverbeschreibung eine Vereinigung von dynamischen Standort-Zeit-Randbedingungen und Standort-Raum-Zeit-Randbedingungen für das Fahrzeug beschreibt, wobei die dynamischen Standort-Zeit-Randbedingungen zeitlich parametrisiert sind und die dynamischen Standort-Raum-Zeit-Randbedingungen örtlich und zeitlich parametrisiert sind; Abtasten, unter Verwendung des mindestens einen Prozessors, der dynamischen Standort-Zeit-Randbedingungen und der dynamischen Standort-Raum-Zeit-Randbedingungen; Lösen, unter Verwendung des mindestens einen Prozessors, einer Optimierungsaufgabe unter Verwendung einer Kostenfunktion der abgetasteten dynamischen Standort-Zeit-Randbedingungen, der abgetasteten dynamischen Standort-Raum-Zeit-Randbedingungen und eines Bewegungsmodells; und Generieren, unter Verwendung des mindestens einen Prozessors, einer Trajektorie auf Grundlage der gelösten Optimierungsaufgabe, wobei die Trajektorie die von der Manöverbeschreibung auferlegten dynamischen Standort-Zeit-Randbedingungen und dynamischen Standort-Raum-Zeit-Randbedingungen erfüllt.

Description

  • VERWANDTE ANMELDUNG
  • Diese Anmeldung beansprucht die Priorität der vorläufigen US-Patentanmeldung Nr. 63/142,871 , angemeldet am 28. Januar 2021, deren Inhalt hierin unter Bezugnahme eingebunden ist.
  • GEBIET DER ERFINDUNG
  • Die folgende Beschreibung betrifft Routenplaner für autonome Fahrzeuge.
  • STAND DER TECHNIK
  • Autonome Fahrzeuge verwenden in ihren Softwarestapeln einen Routenplaner, um Trajektoriekandidaten für das autonome Fahrzeug im Rahmen verschiedener Szenarien zu generieren. Der Planer verwendet Sensordaten und den physischen Zustand (z. B. Position, Geschwindigkeit, Fahrtrichtung), um mögliche Trajektorien für das Fahrzeug zu generieren, um eine Kollision mit Akteuren (z. B. anderen Fahrzeugen, Fußgängern) in der Nähe des autonomen Fahrzeugs zu vermeiden. Der Planer berücksichtigt beim Ermitteln, welchen Trajektoriekandidaten das Fahrzeug in einem bestimmten Szenario nehmen sollte, üblicherweise die Verletzung von Verkehrsregeln und möglicherweise anderer Fahrregeln (z. B. Sicherheit, Ethik, lokale Kultur, Passagierkomfort, Zuvorkommenheit, Leistung usw.). Dementsprechend ist es wünschenswert, geplante Trajektorien im Rahmen einer großen Vielfalt an Szenarien auszuwerten, die in der Realität eintreten können.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Es werden Techniken für einen Manöverrealisator auf Abtastbasis bereitgestellt.
  • In einer Ausführungsform umfasst ein Verfahren: Erhalten, unter Verwendung mindestens eines Prozessors, einer Manöverbeschreibung für ein Fahrzeug, wobei die Manöverbeschreibung eine Vereinigung von dynamischen Standort-Zeit-Randbedingungen und Standort-Raum-Zeit-Randbedingungen für das Fahrzeug beschreiben, wobei die dynamischen Standort-Zeit-Randbedingungen zeitlich parametrisiert sind und die dynamischen Standort-Raum-Zeit-Randbedingungen örtlich und zeitlich parametrisiert sind; Abtasten, unter Verwendung des mindestens einen Prozessors, der dynamischen Standort-Zeit-Randbedingungen und der dynamischen Standort-Raum-Zeit-Randbedingungen; Lösen, unter Verwendung des mindestens einen Prozessors, einer Optimierungsaufgabe unter Verwendung einer Kostenfunktion der abgetasteten dynamischen Standort-Zeit-Randbedingungen, der abgetasteten dynamischen Standort-Raum-Zeit-Randbedingungen und eines Bewegungsmodells; und Generieren, unter Verwendung des mindestens einen Prozessors, einer Trajektorie auf Grundlage der gelösten Optimierungsaufgabe, wobei die Trajektorie die von der Manöverbeschreibung auferlegten dynamischen Standort-Zeit-Randbedingungen und dynamischen Standort-Raum-Zeit-Randbedingungen erfüllt.
  • In einer Ausführungsform beinhalten die dynamischen Standort-Raum-Zeit-Randbedingungen verzerrende Entscheidungen explizit.
  • In einer Ausführungsform ist das Bewegungsmodell ein kinematisches Fahrradmodell.
  • In einer Ausführungsform ist das Lösen kontinuierlich und iterativ.
  • In einer Ausführungsform konvergiert das kontinuierliche und iterative Lösen, wenn die optimierte Trajektorie die dynamischen Standort-Zeit- und Standort-Raum-Zeit-Randbedingungen ohne Abtasten erfüllt.
  • In einer Ausführungsform maximiert die Trajektorie Komfortrandbedingungen, die dem Fahrzeug auferlegt wurden.
  • In einer Ausführungsform umfasst das Verfahren ferner: Lösen, unter Verwendung des mindestens einen Prozessors, einer longitudinalen Geschwindigkeitsoptimierungsaufgabe, um zu ermitteln, wo mit dem Abtasten der dynamischen Standort-Zeit- und dynamischen Standort-Raum-Zeit-Randbedingungen zu beginnen ist.
  • In einer Ausführungsform beinhaltet die longitudinale Geschwindigkeitsoptimierungsaufgabe statische Geschwindigkeitsprofilrandbedingungen und Manöver-Standort-Zeit-Randbedingungen.
  • In einer Ausführungsform schränken die statischen Geschwindigkeitsprofilrandbedingungen eine maximale laterale Beschleunigung des Fahrzeugs durch Berücksichtigen einer Pfadkrümmung ein.
  • In einer Ausführungsform stellt das Lösen der longitudinalen Geschwindigkeitsoptimierungsaufgabe eine anfängliche Schätzung von Beschleunigung und Geschwindigkeit zum Lösen der Optimierungsaufgabe bereit.
  • In einer Ausführungsform umfasst das Verfahren ferner: Initiieren, unter Verwendung eines Steuerschaltkreises, eines Manövers durch das Fahrzeug auf Grundlage der Trajektorie.
  • In einer Ausführungsform weist ein nicht transitorisches computerlesbares Speichermedium darauf gespeicherte Anweisungen auf, die bei Ausführung durch mindestens einen Prozessor den mindestens einen Prozessor veranlassen, die oben aufgeführten Verfahren durchzuführen.
  • In einer Ausführungsform umfasst ein Fahrzeug: mindestens einen Prozessor; ein nicht transitorisches computerlesbares Speichermedium mit darauf gespeicherten Anweisungen, die bei Ausführung durch den mindestens einen Prozessor den mindestens einen Prozessor veranlassen, die oben aufgeführten Verfahren durchzuführen.
  • Eine oder mehrere der offenbarten Ausführungsformen bieten einen oder mehrere der folgenden Vorteile. Der Manöverrealisator auf Abtastbasis generiert eine Trajektorie, die die dynamischen Standort-Zeit- und Standort-Raum-Zeit-Randbedingungen erfüllt, die durch eine Homotopie auferlegt sind, und maximiert gleichzeitig einen Passagierkomfort. Die Trajektorie wird durch Lösen einer Optimierungsaufgabe unter Verwendung einer Kostenfunktion auf dynamischen Standort-Zeit- und Standort-Raum-Zeit-Randbedingungen, eines Bewegungsmodells und Passagierkomfort-Randbedingungen generiert. Verzerrende Entscheidungen werden in den dynamischen Standort-Raum-Zeit-Randbedingungen ausgeführt, auch wenn sich Akteure außerhalb des vorhergesagten Horizonts befinden. Standort-Zeit-Randbedingungen werden zeitlich parametrisiert, wobei entsprechende Zeitschritte einer kontinuierlichen und iterativen Optimierung ohne Informationsverlust verwendet werden können, d. h. keine Näherungen. Für gut gestellte Aufgaben kann eine einzige Iteration der Optimierung ausreichen, um eine Trajektorie zu generieren, die die dynamischen Standort-Zeit- und Standort-Raum-Zeit-Randbedingungen erfüllt, die durch die Homotopie und Passagierkomfort-Randbedingungen auferlegt sind.
  • Das Auferlegen von übereinanderliegenden Standort- und räumlichen Randbedingungen führt zu einer vollständigen Manöverbeschreibung, die kontinuierlich entlang ihres definierten Zeithorizonts abgetastet werden kann, was die Architektur des Planungssystems stark vereinfacht. Es besteht keine Notwendigkeit für weitere Entscheidungen und Abstandsrandbedingungen werden direkt als eine kontinuierliche Funktion dargestellt, die für die Optimierung verwendet werden kann.
  • Diese und andere Gesichtspunkte, Merkmale und Implementierungen können als Verfahren, Einrichtungen, Systeme, Komponenten, Programmprodukte, Mittel oder Schritte zur Durchführung einer Funktion und auf andere Arten ausgedrückt werden. Diese und andere Gesichtspunkte, Eigenschaften und Implementationen werden aus den folgenden Beschreibungen einschließlich der Ansprüche ersichtlich.
  • Figurenliste
    • 1 zeigt ein Beispiel eines autonomen Fahrzeugs (AV) mit autonomen Fähigkeiten nach einer oder mehreren Ausführungsformen.
    • 2 veranschaulicht eine beispielhafte „Cloud“-Rechenumgebung nach einer oder mehreren Ausführungsformen.
    • 3 veranschaulicht ein Computersystem nach einer oder mehreren Ausführungsformen.
    • 4 veranschaulicht eine beispielhafte Architektur für ein AV nach einer oder mehreren Ausführungsformen.
    • 5 ist ein Blockdiagramm eines Routenplanungssystems nach einer Ausführungsform.
    • 6 veranschaulicht eine beispielhafte Homotopie für ein Fahrszenario, wobei ein Fahrzeug aufgrund eines Hindernisses in seiner Bahn die Spur wechseln muss, nach einer oder mehreren Ausführungsformen.
    • 7A und 7B veranschaulichen eine Manöverbeschreibung bzw. räumliche Randbedingungen nach einer oder mehreren Ausführungsformen.
    • 8 veranschaulicht eine beispielhafte modellprädiktive regelungsähnliche (MPC-ähnliche) Formulierung für ein Kollisionsvermeidungsmanöver nach einer oder mehreren Ausführungsformen.
    • 9 veranschaulicht Abtast-Standort-Zeit-Randbedingungen nach einer oder mehreren Ausführungsformen.
    • 10 veranschaulicht Abtast-Raum-Standort-Zeit-Randbedingungen nach einer oder mehreren Ausführungsformen.
    • 11 veranschaulicht eine beispielhafte longitudinale Realisierung nach einer oder mehreren Ausführungsformen.
    • 12A ist eine beispielhafte Manöverbeschreibung für ein beispielhaftes Fahrszenario, das zwei Akteure involviert, nach einer oder mehreren Ausführungsformen.
    • 12B veranschaulicht Beschleunigungs- und Geschwindigkeitsprofile für das beispielhafte Fahrszenario nach einer oder mehreren Ausführungsformen.
    • 12C ist eine Vogelperspektive (BEV) des beispielhaften Fahrszenarios nach einer oder mehreren Ausführungsformen.
    • 13 ist ein Ablaufdiagramm eines Prozesses zum Abtasten von dynamischen Standort-Zeit- und Standort-Raum-Zeit-Randbedingungen nach einer oder mehreren Ausführungsformen.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In der folgenden Beschreibung sind zum Zwecke der Erläuterung zahlreiche spezifische Einzelheiten dargelegt, um ein umfassendes Verständnis der vorliegenden Erfindung bereitzustellen. Es ist jedoch offensichtlich, dass die vorliegende Erfindung ohne diese spezifischen Details verwirklicht werden kann. In anderen Fällen werden gut bekannte Strukturen und Einrichtungen in Blockdiagrammform gezeigt, um zu vermeiden, dass die vorliegende Erfindung unnötig verschleiert wird.
  • In den Zeichnungen sind zur leichteren Beschreibung spezifische Anordnungen oder Reihenfolgen von schematischen Elementen gezeigt, wie beispielsweise solche, die Vorrichtungen, Module, Anweisungsblöcke und Datenelemente darstellen. Fachleute sollten jedoch verstehen, dass die spezifische Reihenfolge oder Anordnung der schematischen Elemente in den Zeichnungen nicht implizieren soll, dass eine bestimmte Reihenfolge oder Abfolge der Verarbeitung oder Trennung von Prozessen erforderlich ist. Ferner soll die Aufnahme eines schematischen Elements in eine Zeichnung nicht implizieren, dass ein solches Element in allen Ausführungsformen erforderlich ist oder dass die durch ein solches Element repräsentierten Merkmale in einigen Ausführungsformen möglicherweise nicht in andere Elemente aufgenommen oder mit diesen kombiniert werden.
  • In den Zeichnungen, in denen Verbindungselemente wie durchgezogene oder gestrichelte Linien oder Pfeile verwendet werden, um eine Verbindung, Beziehung oder Assoziation zwischen oder unter zwei oder mehr anderen schematischen Elementen darzustellen, soll das Fehlen derartiger Verbindungselemente ferner nicht implizieren, dass keine Verbindung, Beziehung oder Assoziation bestehen kann. Anders ausgedrückt sind einige Verbindungen, Beziehungen oder Zuordnungen zwischen Elementen in den Zeichnungen nicht gezeigt, um die Offenbarung nicht zu verschleiern. Außerdem wird zur einfacheren Veranschaulichung ein einzelnes Verbindungselement verwendet, um mehrere Verbindungen, Beziehungen oder Assoziationen zwischen Elementen darzustellen. Wo beispielsweise ein Verbindungselement eine Kommunikation von Signalen, Daten oder Anweisungen repräsentiert, sollte Fachleuten klar sein, dass ein derartiges Element einen oder mehrere Signalpfade (z. B. einen Bus) repräsentiert, je nach Bedarf, um die Kommunikation zu bewirken.
  • Bezug wird nun im Detail auf Ausführungsformen genommen werden, von denen Beispiele in den begleitenden Zeichnungen dargestellt sind. In der folgenden detaillierten Beschreibung werden zahlreiche spezifische Details dargelegt, um ein gründliches Verständnis der verschiedenen beschriebenen Ausführungsformen zu vermitteln. Es wird jedoch Durchschnittsfachleuten klar sein, dass die verschiedenen beschriebenen Ausführungsformen ohne diese spezifischen Details praktiziert werden können. In anderen Fällen wurden bekannte Verfahren, Prozeduren, Komponenten, Schaltkreise und Netzwerke nicht im Detail beschrieben, um Aspekte der Ausführungsformen nicht unnötig zu verschleiern.
  • Im Folgenden werden mehrere Merkmale beschrieben, die jeweils unabhängig voneinander oder mit einer beliebigen Kombination anderer Merkmale verwendet werden können. Jedoch kann jedes einzelne Merkmal keines der oben diskutierten Probleme behandeln oder könnte nur eines der oben diskutierten Probleme behandeln. Einige der oben erörterten Probleme können durch keines der hierin beschriebenen Merkmale vollständig behandelt werden. Obwohl Überschriften bereitgestellt werden, können Informationen, die sich auf eine bestimmte Überschrift beziehen, aber nicht in dem Abschnitt mit dieser Überschrift zu finden sind, auch an anderer Stelle in dieser Beschreibung gefunden werden. Ausführungsformen werden hierin in Übereinstimmung mit der folgenden Gliederung beschrieben:
    1. 1. Allgemeiner Überblick
    2. 2. Systemüberblick
    3. 3. Architektur eines autonomen Fahrzeugs
    4. 4. Manöverrealisator auf Abtastbasis
  • Allgemeiner Überblick
  • Es werden Techniken für einen Manöverrealisator auf Abtastbasis bereitgestellt. Der Manöverrealisator auf Abtastbasis kann Teil einer Routenplanungssystemarchitektur für autonome Fahrzeuge sein, wie in 5 gezeigt. Mit einer gegebenen Manöverbeschreibung berechnet der Manöverrealisator in Echtzeit eine oder mehrere Realisierungen (z. B. hierin nachfolgend auch als „Trajektorien“ bezeichnet) des AV auf Grundlage der Fähigkeiten des AV und AV-Bewegungsrandbedingungen. Die Ausgabe des Realisators ist eine kontinuierliche Trajektorie, die repräsentiert, wie sich das AV in naher Zukunft (z. B. den nächsten 10 ms) bewegen wird. In einer Ausführungsform wird ein Manöver als eine Vereinigung von Standort-Zeit (z. B. einer befahrbaren Fläche) und Standort-Raum-Zeit-Randbedingungen (z. B. longitudinalem und lateralem Freiraum) beschrieben.
  • Mit einem gegebenen Bewegungsmodell (z. B. einem kinematischen Fahrradmodell), dynamischen Standort-Zeit-Randbedingungen und Standort-Raum-Zeit-Randbedingungen und einer Zielfunktion, löst der Realisator eine initialisierungsabhängige Optimierungsaufgabe am Bewegungsmodell und den Randbedingungen iterativ und kontinuierlich. Da die Optimierung zeitlich direkt diskretisiert ist, ermöglicht die Optimierung eine Abtastung von Standort-Zeit-Randbedingungen ohne Informationsverlust, d. h. keine Näherungen.
  • In einer Ausführungsform sind die Standort-Raum-Zeit-Randbedingungen durch zwei Variablen parametrisiert: Standort entlang einer Basistrajektorie und Zeit. Da bei der ersten Iteration der Optimierung nicht bekannt ist, wo Standortpunkte abzutasten sind, wird zuerst eine schnelle initialisierungsabhängige Punktmasse-Longitudinalgeschwindigkeit-Optimierungsaufgabe gelöst, die Profilrandbedingungen für Passagierkomfort und Homotopie-Standort-Zeit-Randbedingungen enthält (hierin nachfolgend auch als „anfängliche Optimierung“ bezeichnet). Zusätzlich zu einer Abtastnäherung wird auch eine anfängliche Schätzung für die Optimierungslösung berechnet.
  • Nach der anfänglichen Optimierung wird die iterative Optimierung unter Verwendung der anfänglichen Schätzung aus der anfänglichen Optimierung gelöst, und enthält Standort-Randbedingungen, räumliche Randbedingungen, das Bewegungsmodell und Komfortziele (z. B. Maxima für Beschleunigung/Abbremsen und Geschwindigkeit). In einer Ausführungsform konvergiert die iterative Optimierung, wenn die resultierende Trajektorie alle angegebenen Randbedingungen ohne Abtasten erfüllt. Aufgrund der anfänglichen Optimierung kann eine einzige Iteration der Optimierung ausreichen, um eine Trajektorie zu generieren, die die durch die Manöverbeschreibung und Komfortrandbedingungen auferlegten Randbedingungen für gut gestellte Aufgaben erfüllt.
  • Unter Verwendung der vorgenannten Optimierungen werden mehrere AV-Trajektorien berechnet, die die dynamischen und physischen Randbedingungen des AV erfüllen. Die Trajektorien können einem Trajektoriebewertungsgenerator bereitgestellt werden, der ein oder mehrere Regelwerke, ein oder mehrere Maschinenlernmodelle und/oder ein oder mehrere Sicherheitsmanövermodelle verwendet, um die Trajektorien auszuwerten (z. B. zu bewerten), und danach die Ergebnisse der Auswertung verwendet, um eine Trajektorie auszuwählen, die die Regeln in dem einen oder den mehreren Regelwerken am besten erfüllt.
  • Die ausgewählte Trajektorie wird zeitlich parametrisiert und in eine Nachverfolgungssteuerung eingeben, die eine MPC-ähnliche Formulierung mit Randbedingungen für die Steuerungseingaben und Zustände implementiert, die der Nachverfolgungssteuerung ermöglicht, eine exakte gewünschte Position des AV zu einem bestimmten Zeitpunkt abzufragen.
  • Systemüberblick
  • 1 zeigt ein Beispiel eines autonomen Fahrzeugs 100 mit autonomen Fähigkeiten.
  • Wie hierin verwendet, bezeichnet der Begriff „autonome Fähigkeit“ eine Funktion, ein Merkmal oder eine Möglichkeit, die einem Fahrzeug ermöglicht, teilweise oder vollständig ohne menschliche Intervention in Echtzeit betrieben zu werden, einschließlich unter anderem autonome Fahrzeuge, stark autonome Fahrzeuge und bedingt autonome Fahrzeuge.
  • Wie hierin verwendet, ist ein autonomes Fahrzeug (AV) ein Fahrzeug, das autonome Fähigkeiten besitzt.
  • Wie hierin verwendet, beinhaltet „Fahrzeug“ Transportmittel für Güter oder Menschen. Beispielsweise Autos, Busse, Züge, Flugzeuge, Drohnen, LKWs, Boote, Schiffe, U-Boote, Luftschiffe, Motorräder, Fahrräder usw. Ein fahrerloses Auto ist ein Beispiel eines Fahrzeugs.
  • Wie hierin verwendet, bezeichnet „Trajektorie“ einen Pfad oder eine Route, um ein AV von einer ersten Raumzeitposition zu einer zweiten Raumzeitposition zu betreiben. In einer Ausführungsform wird die erste Raumzeitposition als die anfängliche oder Startposition bezeichnet und die zweite Raumzeitposition wird als der Zielpunkt, die endgültige Position, das Ziel, die Zielposition oder Zielstandort bezeichnet. In einigen Beispielen besteht eine Trajektorie aus einem oder mehreren Segmenten (z. B. Straßenabschnitten) und jedes Segment besteht aus einem oder mehreren Blöcken (z. B. Abschnitten einer Fahrspur oder Kreuzung). In einer Ausführungsform entsprechen die Raumzeitpositionen realen Positionen. Beispielsweise sind die Raumzeitpositionen Abhol- oder Abladepositionen zum Abholen bzw. Aufnehmen oder Absetzen bzw. Abladen von Personen oder Gütern.
  • Wie hierin verwendet, bezeichnet „Realisierung“ eine Trajektorie, die vom hierin beschriebenen Manöverrealisator auf Abtastbasis generiert wird.
  • Ein „Manöver“ ist eine Änderung in Position, Geschwindigkeit oder Lenkwinkel (Fahrtrichtung) eines AV. Alle Manöver sind Trajektorien, aber nicht alle Trajektorien sind Manöver. Eine AV-Trajektorie, wobei sich das AV auf einem geraden Pfad mit einer konstanten Geschwindigkeit fortbewegt, ist beispielsweise kein Manöver.
  • Wie hierin verwendet, beinhaltet bzw. beinhalten „Sensor(en)“ eine oder mehrere Hardwarekomponenten, die Informationen über die den Sensor umgebende Umgebung erkennen. Einige der Hardwarekomponenten können Sensorkomponenten (z. B. Bildsensoren, biometrische Sensoren), Sende- und/oder Empfangskomponenten (z. B. Laser- oder Funkfrequenzwellensender und -empfänger), elektronische Komponenten wie Analog-digitalWandler, eine Datenspeichervorrichtung (wie ein RAM und/oder einen nichtflüchtigen Speicher), Software- oder Firmwarekomponenten und Datenverarbeitungskomponenten wie einen ASIC (anwendungsspezifischen integrierten Schaltkreis), einen Mikroprozessor und/oder einen Mikrocontroller enthalten.
  • Wie hierin verwendet, ist eine „Straße“ eine physische Fläche, die von einem Fahrzeug durchquert werden kann, und kann einem benannten Durchgang (z. B. einer Stadtstraße, einer Autobahn usw.) entsprechen oder kann einem nicht benannten Durchgang (z. B. einer Haus- oder Bürozufahrt, einem Parkplatzabschnitt, einem Abschnitt eines leeren Grundstücks, einem Feldweg in einem ländlichen Gebiet usw.) entsprechen. Da einige Fahrzeuge (z. B. Allrad-Pick-ups, Geländewagen usw.) eine Vielfalt von physischen Flächen durchqueren können, die nicht eigens für Fahrzeugfortbewegung ausgelegt sind, kann eine „Straße“ eine physische Fläche sein, die nicht formal durch irgendeine Gemeinde oder eine andere Regierungs- oder Verwaltungseinrichtung als Durchgang definiert ist.
  • Wie hierin verwendet, ist eine „Spur“ ein Teil einer Straße, der von einem Fahrzeug durchquert werden kann und kann dem Großteil oder der Gesamtheit des Raums zwischen Spurmarkierungen entsprechen oder kann nur einem Teil (z. B. weniger als 50 %) des Raums zwischen Spurmarkierungen entsprechen. Beispielsweise könnte eine Straße mit weit beabstandeten Spurmarkierungen zwei oder mehr Fahrzeuge zwischen den Markierungen aufnehmen, sodass ein Fahrzeug das andere überholen kann, ohne die Spurmarkierungen zu durchqueren, und könnte deshalb als eine Spur aufweisend interpretiert werden, die enger als der Raum zwischen den Spurmarkierungen ist, oder als zwei Spuren zwischen den Spurmarkierungen aufweisend interpretiert werden. Eine Spur könnte auch bei Fehlen von Spurmarkierungen interpretiert werden. Beispielsweise kann eine Spur auf Grundlage von physischen Merkmalen einer Umgebung definiert werden, z. B. Steinen und Bäumen entlang eines Durchgangs in einem ländlichen Gebiet.
  • Wie hierin verwendet, ist ein „Regelwerk“ eine Datenstruktur, die eine Prioritätsstruktur an einer Menge von Regeln implementiert, die auf Grundlage ihrer relativen Wichtigkeit angeordnet sind, wobei für eine bestimmte Regel in der Prioritätsstruktur die Regel(n) mit niedrigerer Priorität in der Struktur als die bestimmte Regel in der Prioritätsstruktur eine niedrigere Wichtigkeit als die bestimmte Regel aufweisen. Mögliche Prioritätsstrukturen enthalten unter anderem: hierarchische Strukturen (z. B. eine gesamte Reihenfolge oder teilweise Reihenfolge der Regeln), nicht hierarchische Strukturen (z. B. ein Gewichtungssystem für die Regeln) oder eine hybride Prioritätsstruktur, bei der Teilmengen von Regeln hierarchisch sind, aber Regeln innerhalb jeder Teilmenge nicht hierarchisch sind. Regeln können Verkehrsregeln, Sicherheitsregeln, Ethikregeln, Regeln der lokalen Kultur, Passagierkomfortregeln und beliebige andere Regeln enthalten, die verwendet werden können, um eine Trajektorie eines Fahrzeugs auszuwerten, die von einer beliebigen Quelle (z. B. Menschen, Text, Vorschriften, Websites) bereitgestellt wird.
  • Wie hierin verwendet, bezeichnet ein „Egofahrzeug“ oder „Ego“ ein virtuelles Fahrzeug oder AV mit virtuellen Sensoren zum Erkennen einer virtuellen Umgebung, das zum Beispiel von einem Planer eingesetzt wird, um die Route des virtuellen AV in der virtuellen Umgebung zu planen.
  • „Eines oder mehrere“ enthält eine Funktion, die von einem Element durchgeführt wird, eine Funktion, die von mehr als einem Element durchgeführt wird, z. B. auf verteilte Weise, mehrere Funktionen, die von einem Element durchgeführt werden, mehrere Funktionen, die von mehreren Elementen durchgeführt werden, oder eine beliebige Kombination von Obigem.
  • Obwohl hierin in einigen Fällen die Ausdrücke erste(r), zweite(r) usw. verwendet werden können, um verschiedene Elemente zu beschreiben, versteht sich auch, dass diese Elemente nicht durch diese Ausdrücke beschränkt sein sollten. Diese Ausdrücke werden nur verwendet, um ein Element von einem anderen zu unterscheiden. Zum Beispiel könnte ein erster Kontakt als ein zweiter Kontakt bezeichnet werden und gleichermaßen könnte ein zweiter Kontakt als ein erster Kontakt bezeichnet werden, ohne vom Umfang der verschiedenen beschriebenen Ausführungsformen abzuweichen. Der erste Kontakt und der zweite Kontakt sind beide Kontakte, aber sie sind nicht derselbe Kontakt.
  • Die bei der Beschreibung der verschiedenen hierin beschriebenen Ausführungsformen verwendete Terminologie dient lediglich dem Zweck des Beschreibens bestimmter Ausführungsformen und soll nicht einschränkend sein. Wie in der Beschreibung der verschiedenen beschriebenen Ausführungsformen und der angefügten Patentansprüche verwendet, sollen die Singularformen „ein“, „eine“ und „der“, „die“, „das“ die Pluralformen ebenfalls enthalten, sofern der Zusammenhang nicht eindeutig etwas anderes angibt. Es ist auch klar, dass sich der Begriff „und/oder“, wie hierin verwendet, auf jegliche und alle möglichen Kombinationen einer oder mehrerer der assoziierten aufgeführten Objekte bezieht und diese umfasst. Es ist ferner zu verstehen, dass die Begriffe „enthält“, „enthaltend“, „beinhaltet“ und/oder „beinhaltend“, wenn sie in dieser Beschreibung verwendet werden, das Vorhandensein von angegebenen Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen und/oder Komponenten spezifizieren, aber nicht die Anwesenheit oder das Hinzufügen von einem oder mehreren anderen Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen, Komponenten und/oder Gruppen davon ausschließen.
  • Wie hierin verwendet, soll der Begriff „falls“ optional abhängig vom Kontext als „wenn“ oder „bei“ oder „als Reaktion auf das Ermitteln“ oder „als Reaktion auf das Erkennen“ ausgelegt werden. Gleichermaßen wird die Phrase „falls ermittelt wird“ oder „falls [eine angegebene Bedingung oder ein angegebenes Ereignis] erkannt wird“ optional ausgelegt, „bei Ermitteln“ oder „als Reaktion auf ein Ermitteln“ oder „bei Erkennen [der angegebenen Bedingung oder des angegebenen Ereignisses]“ oder „als Reaktion auf ein Erkennen [der angegebenen Bedingung oder des angegebenen Ereignisses]“ zu bedeuten, abhängig vom Kontext.
  • Wie hierin verwendet, bezeichnet ein AV-System das AV zusammen mit der Anordnung von Hardware, Software, gespeicherten Daten und in Echtzeit generierten Daten, die die Operation des AV unterstützen. In einer Ausführungsform ist das AV-System im Inneren des AV eingebunden. In einer Ausführungsform ist das AV-System über mehrere Standorte verteilt. Beispielsweise ist etwas der Software des AV-Systems in einer einer Cloud-Rechenumgebung 300, die unten in Bezug auf 3 beschrieben ist, ähnlichen Cloud-Rechenumgebung implementiert.
  • Im Allgemeinen beschreibt dieses Dokument Technologien, die auf alle Fahrzeuge anwendbar sind, die eine oder mehrere autonome Fähigkeiten aufweisen, einschließlich vollständig autonomer Fahrzeuge, stark autonomer Fahrzeuge und bedingt autonomer Fahrzeuge, wie sogenannter Fahrzeuge der Stufe 5, Stufe 4 bzw. Stufe 3 (siehe die Norm J3016 von SAE International: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems, die hierin unter Bezugnahme in ihrer Gesamtheit aufgenommen ist, für weitere Details zur Klassifizierung von Autonomiestufen in Fahrzeugen). Die in diesem Dokument beschriebenen Technologien sind auch auf teilweise autonome Fahrzeuge und Fahrzeuge mit Fahrerassistenz anwendbar, wie sogenannte Fahrzeuge der Stufe 2 und Stufe 1 (siehe die Norm J3016 von SAE International: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems). In einer Ausführungsform können ein oder mehrere der Fahrzeugsysteme der Stufe 1, 2, 3, 4 und 5 bestimmte Fahrzeugoperationen (z. B. Lenken, Bremsen und Verwendung von Karten) unter bestimmten Betriebsbedingungen auf Grundlage einer Verarbeitung von Sensoreingaben automatisieren. Die in diesem Dokument beschriebenen Technologien können für Fahrzeuge in beliebigen Stufen vorteilhaft sein, von vollständig autonomen Fahrzeugen bis zu von Menschen betriebenen Fahrzeugen.
  • Auf 1 Bezug nehmend, betreibt ein AV-System 120 das AV 100 entlang einer Trajektorie 198 durch eine Umgebung 190 zu einem Ziel 199 (manchmal als Endposition bezeichnet), während es Objekte (z. B. natürliche Hindernisse 191, Fahrzeuge 193, Fußgänger 192, Fahrradfahrer und andere Hindernisse) vermeidet und die Verkehrsregeln (z. B. Betriebsregeln oder Fahrpräferenzen) einhält.
  • In einer Ausführungsform beinhaltet das AV-System 120 Vorrichtungen 101, die instrumentiert sind, um Betriebsbefehle von den Computerprozessoren 146 zu empfangen und auf diese zu reagieren. In einer Ausführungsform sind die Rechenprozessoren 146 dem unten in Bezug auf 3 beschriebenen Prozessor 304 ähnlich. Beispiele von Vorrichtungen 101 beinhalten eine Lenksteuerung 102, Bremsen 103, Getriebe, Gaspedal oder andere Beschleunigungssteuerungsmechanismen, Scheibenwischer, Seitentürschlösser, Fensterheber und Fahrtrichtungsanzeiger.
  • In einer Ausführungsform beinhaltet das AV-System 120 Sensoren 121 zum Messen oder Ableiten von Eigenschaften eines Zustands oder einer Bedingung des AV 100, wie der Position des AV, linearen Geschwindigkeit und Beschleunigung, Winkelgeschwindigkeit und -beschleunigung und Fahrtrichtung (z. B. einer Ausrichtung des führenden Endes des AV 100). Beispiele von Sensoren 121 sind ein Empfänger eines globalen Navigationssatellitensystems (GNSS), inertiale Messeinheiten (IMU), die sowohl lineare Beschleunigungen als auch Winkelgeschwindigkeiten des Fahrzeugs messen, Raddrehzahlsensoren zum Messen oder Abschätzen von Radschlupfverhältnissen, Radbremsdruck- oder Bremsdrehmomentsensoren, Motordrehmoment- oder Raddrehmomentsensoren und Lenkwinkel- und Winkelgeschwindigkeitssensoren.
  • In einer Ausführungsform beinhalten die Sensoren 121 auch Sensoren zum Erfassen oder Messen von Eigenschaften der Umgebung des AV. Beispielsweise monokulare oder Stereo-Videokameras 122 im sichtbaren Licht, Infrarot- oder thermale (oder beide) Spektren, LiDAR 123, RADAR, Ultraschallsensoren, Flugzeit(TOF)-Tiefensensoren, Geschwindigkeitssensoren, Temperatursensoren, Feuchtigkeitssensoren und Niederschlagsensoren.
  • In einer Ausführungsform beinhaltet das AV-System 120 eine Datenspeicherungseinheit 142 und einen Speicher 144 zum Speichern von Maschinenanweisungen, die mit den Computerprozessoren 146 oder von den Sensoren 121 gesammelten Daten assoziiert sind. In einer Ausführungsform ist die Datenspeicherungseinheit 142 einem ROM 308 oder einer Speicherungsvorrichtung 310 ähnlich, die unten in Bezug auf 3 beschrieben sind. In einer Ausführungsform ist der Speicher 144 einem Hauptspeicher 306 ähnlich, der unten beschrieben ist. In einer Ausführungsform speichern die Datenspeicherungseinheit 142 und der Speicher 144 historische, Echtzeit- und/oder prädiktive Informationen über die Umgebung 190. In einer Ausführungsform beinhalten die gespeicherten Informationen Karten, Fahrleistung, Verkehrsstauaktualisierungen oder Wetterbedingungen. In einer Ausführungsform werden Daten in Bezug auf die Umgebung 190 über einen Kommunikationskanal von einer entfernt angeordneten Datenbank 134 an das AV 100 übertragen.
  • In einer Ausführungsform beinhaltet das AV-System 120 Kommunikationsvorrichtungen 140 zum Kommunizieren von gemessenen oder abgeleiteten Eigenschaften von Zuständen und Bedingungen von anderen Fahrzeugen, wie Positionen, lineare und Winkelgeschwindigkeiten, lineare und Winkelbeschleunigungen und lineare und Winkel-Fahrtrichtungen, an das AV 100. Diese Vorrichtungen beinhalten Fahrzeug-zu-Fahrzeug(V2V)- und Fahrzeug-zu-Infrastruktur(V2I)-Kommunikationsvorrichtungen und Vorrichtungen für drahtlose Kommunikation über Punkt-zu-Punkt- oder Ad-hoc-Netzwerke oder beides. In einer Ausführungsform kommunizieren die Kommunikationsvorrichtungen 140 über das elektromagnetische Spektrum (einschließlich Funk- und optischer Kommunikationen) oder andere Medien (z. B. Luft und akustische Medien). Eine Kombination von Fahrzeug-zu-Fahrzeug(V2V)-, Fahrzeug-zu-Infrastruktur(V21)-Kommunikation (und in einigen Ausführungsformen eine oder mehrere anderer Arten von Kommunikation) wird manchmal als Fahrzeug-zu-Umwelt(V2X)-Kommunikation bezeichnet. V2X-Kommunikation entspricht üblicherweise einem oder mehreren Kommunikationsstandards zur Kommunikation mit, zwischen und unter autonomen Fahrzeugen.
  • In einer Ausführungsform beinhalten die Kommunikationsvorrichtungen 140 Kommunikationsschnittstellen. Beispielsweise verdrahtete, drahtlose, WiMAX-, WiFi-, Bluetooth-, Satelliten-, Mobilfunk-, optische, Nahfeld-, Infrarot- oder Funk-Schnittstellen. Die Kommunikationsschnittstellen übertragen Daten von einer entfernt angeordneten Datenbank 134 an das AV-System 120. In einer Ausführungsform ist die entfernt angeordnete Datenbank 134 in einer Cloud-Rechenumgebung 200 wie in 2 eingebettet. Die Kommunikationsschnittstellen 140 übertragen von den Sensoren 121 gesammelte Daten oder andere Daten in Verbindung mit dem Betrieb des AV 100 an die entfernt angeordnete Datenbank 134. In einer Ausführungsform übertragen die Kommunikationsschnittstellen 140 Informationen, die mit Teleoperationen verbunden sind, an das AV 100. In einigen Ausführungsformen kommuniziert das AV 100 mit anderen entfernten (z. B. „Cloud“-) Servern 136.
  • In einer Ausführungsform speichert und überträgt die entfernt angeordnete Datenbank 134 auch digitale Daten (z. B. die Daten wie Weg- und Straßenpositionen). Derartige Daten werden im Speicher 144 im AV 100 gespeichert oder an das AV 100 über einen Kommunikationskanal von der entfernt angeordneten Datenbank 134 übertragen.
  • In einer Ausführungsform speichert und überträgt die entfernt angeordnete Datenbank 134 historische Informationen über Fahreigenschaften (z. B. Geschwindigkeits- und Beschleunigungsprofile) von Fahrzeugen, die sich vorher entlang der Trajektorie 198 zu ähnlichen Tageszeiten fortbewegt haben. In einer Implementierung können derartige Daten im Speicher 144 im AV 100 gespeichert oder an das AV 100 über einen Kommunikationskanal von der entfernt angeordneten Datenbank 134 übertragen werden.
  • Rechenvorrichtungen 146, die im AV 100 angeordnet sind, generieren algorithmisch Steueraktionen auf Grundlage von sowohl Echtzeit-Sensordaten als auch vorherigen Informationen, was dem AV-System 120 ermöglicht, seine autonomen Fahrfähigkeiten auszuführen.
  • In einer Ausführungsform beinhaltet das AV-System 120 Computerperipheriegeräte 132, die zum Bereitstellen von Informationen und Warnungen an und zum Empfangen von Eingaben von einem Benutzer (z. B. einem Fahrgast oder einem entfernten Benutzer) des AV 100 an die Rechenvorrichtungen 146 gekoppelt sind. In einer Ausführungsform sind die Peripheriegeräte 132 der Anzeige 312, Eingabevorrichtung 314 und Cursorsteuerung 316 ähnlich, die unten in Bezug auf 3 besprochen werden. Die Kopplung ist drahtlos oder verdrahtet. Beliebige zwei oder mehr der Schnittstellenvorrichtungen können in eine einzige Vorrichtung integriert sein.
  • Beispielhafte Cloud-Rechenumgebung
  • 2 veranschaulicht eine beispielhafte „Cloud“-Rechenumgebung. Cloud-Rechnen ist ein Modell der Dienstbereitstellung zum Ermöglichen von bequemem Netzwerkzugriff auf Abruf auf einen gemeinsam genutzten Pool von konfigurierbaren Rechenressourcen (z. B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Speicher, Speicherung, Anwendungen, virtuelle Maschinen und Dienste). In typischen Cloud-Rechensystemen nehmen ein oder mehrere große Cloud-Rechenzentren die Maschinen auf, die verwendet werden, um die von der Cloud bereitgestellten Dienste zu liefern. Nun auf 2 Bezug nehmend beinhaltet die Cloud-Rechenumgebung 200 Cloud-Rechenzentren 204a, 204b und 204c, die über die Cloud 202 miteinander verbunden sind. Die Rechenzentren 204a, 204b und 204c stellen mit der Cloud 202 verbundenen Computersystemen 206a, 206b, 206c, 206d, 206e und 206f Cloud-Rechendienste bereit.
  • Die Cloud-Rechenumgebung 200 beinhaltet ein oder mehrere Cloud-Rechenzentren. Im Allgemeinen bezeichnet ein Cloud-Rechenzentrum, zum Beispiel das in 2 gezeigte Cloud-Rechenzentrum 204a, die physische Anordnung von Servern, die eine Cloud, zum Beispiel die in 2 gezeigte Cloud 202, oder einen bestimmten Abschnitt einer Cloud bilden. Beispielsweise sind Server physisch im Cloud-Rechenzentrum in Räume, Gruppen, Reihen und Racks angeordnet. Ein Cloud-Rechenzentrum weist eine oder mehrere Zonen auf, die einen oder mehrere Räume mit Servern beinhalten. Jeder Raum weist eine oder mehrere Reihen von Servern auf, und jede Reihe beinhaltet ein oder mehrere Racks. Jedes Rack beinhaltet einen oder mehrere individuelle Serverknoten. In einigen Implementierungen sind Server in Zonen, Räumen, Racks und/oder Reihen auf Grundlage physischer Infrastrukturanforderungen der Rechenzentrumsanlage, die Leistung, Energie, Temperatur-, Wärme- und/oder andere Anforderungen beinhalten, in Gruppen angeordnet. In einer Ausführungsform sind die Serverknoten dem in 3 beschriebenen Computersystem ähnlich. Das Rechenzentrum 204a weist viele Rechensysteme auf, die auf viele Racks verteilt sind.
  • Die Cloud 202 beinhaltet die Cloud-Rechenzentren 204a, 204b und 204c zusammen mit dem Netzwerk und Netzwerkressourcen (zum Beispiel Netzwerkgeräten, Knoten, Routern, Switches und Netzwerkkabeln), die die Cloud-Rechenzentren 204a, 204b und 204c verbinden und dabei helfen, den Zugriff der Rechensysteme 206a-f auf die Cloud-Rechendienste zu ermöglichen. In einer Ausführungsform repräsentiert das Netzwerk eine beliebige Kombination von einem oder mehreren lokalen Netzwerken, Fernnetzen oder Internet-Netzen, die unter Verwendung verdrahteter oder drahtloser Verknüpfungen gekoppelt sind, die unter Verwendung von terrestrischen oder Satellitenverbindungen eingesetzt sind. Über das Netzwerk ausgetauschte Daten werden unter Verwendung einer beliebigen Anzahl von Netzwerkschichtprotokollen übertragen, wie zum Beispiel dem Internetprotokoll (IP), Multiprotocol Label Switching (MPLS), Asynchronous Transfer Mode (ATM), Frame Relay usw. Ferner, in Ausführungsformen, bei denen das Netzwerk eine Kombination aus mehreren Subnetzwerken repräsentiert, werden unterschiedliche Netzwerkschichtprotokolle in jedem der zugrunde liegenden Subnetzwerke verwendet. In einigen Ausführungsformen repräsentiert das Netzwerk ein oder mehrere miteinander verbundene Internetzwerke, wie das öffentliche Internet.
  • Die Kunden der Rechensysteme 206a-f oder von Cloud-Rechendiensten sind durch Netzwerkverknüpfungen und Netzwerkadapter mit der Cloud 202 verbunden. In einer Ausführungsform sind die Rechensysteme 206a-f als verschiedene Rechenvorrichtungen implementiert, zum Beispiel Server, Desktops, Laptops, Tablet, Smartphones, Vorrichtungen des Internets der Dinge (IoT), autonome Fahrzeuge (einschließlich Autos, Drohnen, Shuttles, Züge, Busse usw.) und Verbraucherelektronik. In einer Ausführungsform sind die Rechensysteme 206a-f in oder als Teil von anderen Systemen implementiert.
  • Computersystem
  • 3 veranschaulicht ein Computersystem 300. In einer Implementierung ist das Computersystem 300 eine Rechenvorrichtung für Sonderzwecke. Die Rechenvorrichtung für Sonderzwecke ist fest verdrahtet, um die Techniken durchzuführen, oder enthält digitale elektronische Vorrichtungen, wie einen oder mehrere anwendungsspezifische integrierte Schaltkreise (ASICs) oder feldprogrammierbare Gatearrays (FPGAs), die persistent programmiert sind, um die Techniken durchzuführen, oder können einen oder mehrere Universal-Hardwareprozessoren enthalten, die programmiert sind, um die Techniken gemäß Programmanweisungen in Firmware, Speicher oder anderer Speicherung durchzuführen, oder eine Kombination. Derartige Rechenvorrichtungen für Sonderzwecke können auch maßgeschneiderte fest verdrahtete Logik, ASICs oder FPGAs mit maßgeschneiderter Programmierung kombinieren, um die Techniken zu erzielen. In verschiedenen Ausführungsformen sind die Rechenvorrichtungen für Sonderzwecke Desktop-Computersysteme, tragbare Computersysteme, handgehaltene Vorrichtungen, Netzwerkvorrichtungen oder eine beliebige andere Vorrichtung, die fest verdrahtete und/oder Programmlogik einbindet, um die Techniken zu implementieren.
  • In einer Ausführungsform beinhaltet das Computersystem 300 einen Bus 302 oder einen anderen Kommunikationsmechanismus zum Kommunizieren von Informationen und einen Hardwareprozessor 304, der mit einem Bus 302 gekoppelt ist, zum Verarbeiten von Informationen. Der Hardwareprozessor 304 ist beispielsweise ein Universal-Mikroprozessor. Das Computersystem 300 beinhaltet auch einen Hauptspeicher 306, wie einen Arbeitsspeicher mit wahlfreiem Zugriff (RAM) oder eine andere dynamische Speicherungsvorrichtung, die an den Bus 302 zum Speichern von Informationen und vom Prozessor 304 auszuführenden Anweisungen gekoppelt ist. In einer Implementierung wird der Hauptspeicher 306 zum Speichern temporärer Variablen oder anderer unmittelbarer Informationen während einer Ausführung von Anweisungen verwendet, die vom Prozessor 304 auszuführen sind. Derartige Anweisungen, wenn sie in nicht transitorischen Speichermedien gespeichert sind, die für den Prozessor 304 zugänglich sind, machen das Computersystem 300 zu einer Maschine mit Sonderzweck, die maßgeschneidert ist, um die in den Anweisungen angegebenen Operationen durchzuführen.
  • In einer Ausführungsform beinhaltet das Computersystem 300 ferner einen schreibgeschützten Speicher (ROM) 308 oder eine andere statische Speicherungsvorrichtung, die zum Speichern von statischen Informationen und Anweisungen für den Prozessor 304 an den Bus 302 gekoppelt ist. Eine Speicherungsvorrichtung 310, wie eine Magnetplatte, optische Platte, ein Festkörperlaufwerk oder ein dreidimensionaler Cross-Point-Speicher, ist vorgesehen und zum Speichern von Informationen und Anweisungen an den Bus 302 gekoppelt.
  • In einer Ausführungsform ist das Computersystem 300 über den Bus 302 an eine Anzeige 312 gekoppelt, wie eine Kathodenröhre (CRT), eine Flüssigkristallanzeige (LCD), eine Plasmaanzeige, eine Leuchtdiodenanzeige (LED-Anzeige) oder eine organische Leuchtdiodenanzeige (OLED-Anzeige) zum Anzeigen von Informationen für einen Computerbenutzer. Eine Eingabevorrichtung 314, einschließlich alphanumerischer und anderer Tasten, ist zum Kommunizieren von Informationen und Befehlsauswahlen an den Prozessor 304 an den Bus 302 gekoppelt. Eine weitere Art von Benutzereingabevorrichtung ist eine Cursorsteuerung 316, wie eine Maus, ein Trackball, ein Berührungsbildschirm oder Cursor-Richtungstasten, um Richtungsinformationen und Befehlsauswahlen an den Prozessor 304 zu kommunizieren und eine Cursorbewegung auf der Anzeige 312 zu steuern. Diese Eingabevorrichtung weist üblicherweise zwei Freiheitsgrade in zwei Achsen auf, einer ersten Achse (z. B. x-Achse) und einer zweiten Achse (z. B. y-Achse), die der Vorrichtung ermöglicht, Positionen in einer Ebene anzugeben.
  • Nach einer Ausführungsform werden die Techniken hierin vom Computersystem 300 als Reaktion darauf durchgeführt, dass der Prozessor 304 einen oder mehrere Sequenzen mit einer oder mehreren Anweisungen ausführt, die im Hauptspeicher 306 enthalten sind. Derartige Anweisungen werden von einem anderen Speichermedium, wie der Speicherungsvorrichtung 310 in den Hauptspeicher 306 gelesen. Die Ausführung der im Hauptspeicher 306 enthaltenen Anweisungssequenzen veranlasst den Prozessor 304, die hierin beschriebenen Prozessschritte durchzuführen. In alternativen Ausführungsformen wird festverdrahtete Verschaltung anstelle von oder in Kombination mit Softwareanweisungen verwendet.
  • Der Ausdruck „Speichermedien“, wie er hierin verwendet wird, bezeichnet alle nicht transitorischen Medien, die Daten und/oder Anweisungen speichern, die eine Maschine veranlassen, auf bestimmte Weise zu arbeiten. Derartige Speichermedien beinhalten nichtflüchtige Medien und/oder flüchtige Medien. Nichtflüchtige Medien beinhalten beispielsweise optische Platten, Magnetplatten, Festkörperlaufwerke oder dreidimensionalen Cross-Point-Speicher, wie die Speicherungsvorrichtungen 310. Flüchtige Medien beinhalten dynamischen Speicher, wie den Hauptspeicher 306. Übliche Formen von Speicherungsmedien beinhalten beispielsweise eine Diskette, eine flexible Platte, eine Festplatte, ein Festkörperlaufwerk, Magnetband oder ein beliebiges anderes magnetisches Datenspeicherungsmedium, eine CD-ROM, ein beliebiges anderes optisches Datenspeicherungsmedium, ein beliebiges physisches Medium mit Lochmustern, einen RAM, einen PROM und einen EPROM, einen FLASH-EPROM, einen NV-RAM oder einen beliebigen anderen Speicherchip oder eine Kassette.
  • Speicherungsmedien unterscheiden sich von Übertragungsmedien, können jedoch zusammen mit diesen verwendet werden. Übertragungsmedien nehmen am Transferieren von Informationen zwischen Speicherungsmedien teil. Übertragungsmedien beinhalten zum Beispiel Koaxialkabel, Kupferdraht und Faseroptik, einschließlich der Drähte, die den Bus 302 enthalten. Übertragungsmedien können auch die Form von akustischen oder Lichtwellen annehmen, wie diejenigen, die während Funkwellen- und Infrarotdatenkommunikationen generiert werden.
  • In einer Ausführungsform sind verschiedene Formen von Medien beim Übertragen einer oder mehrerer Sequenzen mit einer oder mehreren Anweisungen an den Prozessor 304 zur Ausführung involviert. Die Anweisungen werden beispielsweise anfänglich auf einer Magnetplatte oder einem Festkörperlaufwerk eines entfernten Computers getragen. Der entfernte Computer lädt die Anweisungen in seinen dynamischen Speicher und sendet die Anweisungen über eine Telefonleitung unter Verwendung eines Modems. Ein zum Computersystem 300 lokales Modem empfängt die Daten auf der Telefonleitung und verwendet einen Infrarotsender, um die Daten in ein Infrarotsignal umzuwandeln. Ein Infrarotdetektor empfängt die im Infrarotsignal übertragenen Daten und eine passende Schaltungsanordnung platziert die Daten auf dem Bus 302. Der Bus 302 überträgt die Daten an den Hauptspeicher 306, aus dem der Prozessor 304 die Anweisungen abruft und ausführt. Die vom Hauptspeicher 306 empfangenen Anweisungen können optional auf der Speicherungsvorrichtung 310 gespeichert werden, entweder vor oder nach Ausführung durch den Prozessor 304.
  • Das Computersystem 300 beinhaltet auch eine Kommunikationsschnittstelle 318, die an den Bus 302 gekoppelt ist. Die Kommunikationsschnittstelle 318 stellt eine Zweiwege-Datenkommunikationskopplung an eine Netzwerkverknüpfung 320 bereit, die mit einem lokalen Netzwerk 322 verbunden ist. Beispielsweise ist die Kommunikationsschnittstelle 318 eine Integriertes-Sprach-und-Datennetz(ISDN)-Karte, ein Kabelmodem oder ein Modem, um eine Datenkommunikationsverbindung mit einer entsprechenden Art von Telefonleitung bereitzustellen. Als ein weiteres Beispiel ist die Kommunikationsschnittstelle 318 eine lokale Netzwerk(LAN)-Karte, um eine Datenkommunikationsverbindung mit einem kompatiblen LAN bereitzustellen. In einigen Implementierungen sind auch drahtlose Verknüpfungen implementiert. In einer beliebigen derartigen Implementierung sendet und empfängt die Kommunikationsschnittstelle 318 elektrische, elektromagnetische oder optische Signale, die digitale Datenströme übertragen, die verschiedene Arten von Informationen repräsentieren.
  • Die Netzwerkverknüpfung 320 stellt üblicherweise eine Datenkommunikation durch ein oder mehrere Netzwerke an andere Datenvorrichtungen bereit. Beispielsweise bietet die Netzwerkverknüpfung 320 eine Verbindung mit einem Hostcomputer 324 oder einem Cloud-Rechenzentrum oder einem von einem Internetdienstanbieter (ISP) 326 betriebenen Gerät über das lokale Netzwerk 322. Der ISP 326 wiederum stellt über das weltweite Paketdatenkommunikationsnetzwerk, das heute üblicherweise als das „Internet“ 328 bezeichnet wird, Datenkommunikationsdienste bereit. Das lokale Netzwerk 322 und das Internet 328 verwenden beide elektrische, elektromagnetische oder optische Signale, die digitale Datenströme übertragen. Die Signale über die verschiedenen Netzwerke und die Signale auf der Netzwerkverknüpfung 320 und über die Kommunikationsschnittstelle 318, die die digitalen Daten an und vom Computersystem 300 übertragen, sind beispielhafte Formen von Übertragungsmedien. In einer Ausführungsform beinhaltet das Netzwerk 320 die Cloud 202 oder einen Teil der oben beschriebenen Cloud 202.
  • Das Computersystem 300 sendet Nachrichten und empfängt Daten, einschließlich Programmcode, über das bzw. die Netzwerk(e), die Netzwerkverknüpfung 320 und die Kommunikationsschnittstelle 318. In einer Ausführungsform empfängt das Computersystem 300 Code zum Verarbeiten. Der empfangene Code wird beim Empfangen vom Prozessor 304 ausgeführt und/oder in der Speicherungsvorrichtung 310 oder einem anderen nichtflüchtigen Speicher zur späteren Ausführung gespeichert.
  • Architektur eines autonomen Fahrzeugs
  • 4 zeigt eine beispielhafte Architektur 400 für ein autonomes Fahrzeug (z. B. das in 1 gezeigte AV 100). Die Architektur 400 beinhaltet ein Wahrnehmungsmodul 402 (das manchmal als ein Wahrnehmungsschaltkreis bezeichnet wird), ein Planungsmodul 404 (manchmal als ein Planungsschaltkreis bezeichnet), ein Steuermodul 406 (manchmal als ein Steuerschaltkreis bezeichnet), ein Lokalisierungsmodul 408 (manchmal als ein Lokalisierungsschaltkreis bezeichnet) und ein Datenbankmodul 410 (manchmal als ein Datenbankschaltkreis bezeichnet). Jedes Modul spielt beim Betrieb des AV 100 eine Rolle. Zusammen können die Module 402, 404, 406, 408 und 410 Teil des in 1 gezeigten AV-Systems 120 sein. In einigen Ausführungsformen sind beliebige der Module 402, 404, 406, 408 und 410 eine Kombination von Computersoftware (z. B. ausführbarer Code, der auf einem computerlesbaren Medium gespeichert ist) und Computerhardware (z. B. ein oder mehrere Mikroprozessoren, Mikrocontroller, anwendungsspezifische integrierte Schaltkreise [ASICs]), Hardwarespeichervorrichtungen, andere Arten von integrierten Schaltkreisen, andere Arten von Computerhardware oder eine Kombination von beliebigen oder allen diesen Dingen).
  • In Verwendung empfängt das Planungsmodul 404 Daten, die ein Ziel 412 repräsentieren, und ermittelt Daten, die eine Trajektorie 414 repräsentieren (die manchmal als eine Route bezeichnet wird), auf der sich das AV 100 fortbewegen kann, um das Ziel 412 zu erreichen (z. B. dort anzukommen). Damit das Planungsmodul 404 die Daten ermittelt, die die Trajektorie 414 repräsentieren, empfängt das Planungsmodul 404 Daten vom Wahrnehmungsmodul 402, dem Lokalisierungsmodul 408 und dem Datenbankmodul 410.
  • Das Wahrnehmungsmodul 402 identifiziert nahegelegene physische Objekte unter Verwendung eines oder mehrerer Sensoren 121, wie z. B. auch in 1 gezeigt. Die Objekte werden klassifiziert (z. B. in Typen wie Fußgänger, Fahrrad, Automobil, Verkehrszeichen usw. gruppiert) und eine Szenenbeschreibung einschließlich der klassifizierten Objekte 416 wird dem Planungsmodul 404 bereitgestellt.
  • Das Planungsmodul 404 empfängt auch Daten, die die AV-Position 418 repräsentieren, vom Lokalisierungsmodul 408. Das Lokalisierungsmodul 408 ermittelt die AV-Position unter Verwendung von Daten von den Sensoren 121 und Daten vom Datenbankmodul 410 (z. B. geografische Daten), um eine Position zu berechnen. Beispielsweise verwendet das Lokalisierungsmodul 408 Daten von einem GNSS-Empfänger und geografische Daten, um einen Längengrad und einen Breitengrad des AV zu berechnen. In einer Ausführungsform enthalten Daten, die vom Lokalisierungsmodul 408 verwendet werden, Karten mit hoher Präzision der geometrischen Eigenschaften der Fahrbahn, Karten, die Verbindungseigenschaften des Straßennetzes beschreiben, Karten, die die physischen Eigenschaften der Fahrbahn beschreiben (wie Verkehrsgeschwindigkeit, Verkehrsvolumen, die Anzahl von Fahr- und Fahrradspuren, Spurbreite, Verkehrsrichtung der Spuren oder Spurmarkierungstypen und -positionen oder Kombinationen davon), und Karten, die die räumlichen Positionen von Straßenmerkmalen wie Zebrastreifen, Verkehrszeichen oder andere Verkehrssignale verschiedener Typen beschreiben.
  • Das Steuermodul 406 empfängt die Daten, die die Trajektorie 414 repräsentieren, und die Daten, die die AV-Position 418 repräsentieren, und betreibt die Steuerfunktionen 420a-c (z. B. Lenken, Drosseln, Bremsen, Zünden) des AV auf eine Weise, die das AV 100 veranlasst, sich auf der Trajektorie 414 zum Ziel 412 fortzubewegen. Falls die Trajektorie 414 beispielsweise ein Abbiegen nach links enthält, betreibt das Steuermodul 406 die Steuerfunktionen 420a-c auf eine Weise, sodass der Lenkwinkel der Lenkfunktion das AV 100 veranlasst, nach links abzubiegen, und das Drosseln und Bremsen veranlasst das AV 100, anzuhalten und auf sich vorbei bewegende Fußgänger oder Fahrzeuge zu warten, bevor die Abbiegung erfolgt.
  • In einer Ausführungsform können beliebige der vorgenannten Module 402, 404, 406, 408 eine Anforderung an ein regelbasiertes Trajektorienvalidierungssystem 500 senden, um eine geplante Trajektorie zu validieren und eine Beurteilung der Trajektorie zu empfangen, wie ausführlicher in Bezug auf 5-13 beschrieben.
  • Manöverrealisator auf Abtastbasis
  • 5 ist ein Blockdiagramm eines Planungssystems 500 nach einer oder mehreren Ausführungsformen. Das System 500 enthält einen Routenplaner 501, einen Logikrandbedingungsgenerator 502, eine Homotopieextrahierungseinheit 503, einen Manöverrealisator auf Abtastbasis 504, einen Trajektoriebewertungsgenerator 505, eine Nachverfolgungssteuerung 506 und ein AV 507.
  • In einer Ausführungsform führt der Routenplaner 501 Folgendes durch: 1) Er empfängt einen Anfangs- und Endzustand für das AV 507; 2) plant eine gewünschte Sequenz von geometrischen Blöcken mit Straßendaten („Straßenblöcken“), die Spuren mit einem Spurenrouter bilden; 3) teilt die Route in Straßensegmente auf Grundlage eines Spurenwechsels auf, sodass ein Segment keinen Spurenwechsel enthält; 4) wählt Straßensegmente aus, in denen sich das AV 507 befindet, auf Grundlage des physischen Zustands des AV (der von einem dynamischen Weltmodell 508 erhalten wurde), der auf die Straßenblöcke projiziert ist; 5) extrahiert Ankerpfade für ausgewählte Straßensegmente (die als „erwünschter“ Anker markiert werden können, falls ein Spurenwechsel gewünscht wird); und 6) schneidet Ankerpfade auf Grundlage einer maximalen/minimalen Länge ab. Falls kein Spurwechsel erforderlich ist, wird der benachbarte Ankerpfad extrahiert und nur als „optional“ markiert, was bedeutet, dass das AV 507 die Spur verwenden kann, falls dies zur Kollisionsvermeidung erforderlich ist.
  • In einer Ausführungsform generiert der Routenplaner 501 eine grafische Darstellung der Betriebsumgebung des AV 507, des physischen Zustands des AV 507 auf Grundlage von Sensordaten (z. B. Geschwindigkeit, Position) und möglicher Ergebnisse. In einer Ausführungsform ist die grafische Darstellung ein Entscheidungsgraph, der eine Anzahl von Knoten enthält, wobei jeder Knoten einen Abtastwert des Entscheidungsraums für ein bestimmtes Fahrszenario für das AV 507 repräsentiert, wie zum Beispiel eine Vielzahl von Manövern, die mit anderen Fahrzeugen und Objekten und Umgebungsrandbedingungen (z. B. fahrbare Fläche, Spurmarkierungen) verbunden sind. Die Kanten des Entscheidungsgraphen repräsentieren unterschiedliche Trajektorien, die für das AV 507 für das bestimmte Fahrszenario verfügbar sind.
  • In einer Ausführungsform enthält der Logikrandbedingungsgenerator 502 ein Generieren von mindestens entweder „harten“ Randbedingungen und/oder „weichen“ Randbedingungen. Harte Randbedingungen sind logische Randbedingungen, die nicht verletzt werden dürfen, da, wenn sie verletzt werden, das AV mit einem anderen Objekt, wie einem Fußgänger kollidieren würde, der die Straße „regelwidrig“ überquert. Es ist anzumerken, dass harte Randbedingungen nicht bedeuten „kollidiere nicht“. Vielmehr kann eine harte Randbedingung beispielsweise eine Kombination von räumlichen und Geschwindigkeitsrandbedingungen sein, die zu einer Kollision führen können. Eine harte Randbedingung kann beispielsweise in Worten folgendermaßen ausgedrückt werden: „Falls sich das AV mit 30 Meilen pro Stunde in Spur A fortbewegt oder mit 2 Meilen pro Stunde/Sekunde in Spur B beschleunigt, wird es mit dem Fußgänger kollidieren.“ Daher lautet die formal ausgedrückte harte Randbedingung „nicht mit 30 Meilen pro Stunde in Spur A fortbewegen“ und „25 Meilen pro Stunde in Spur A nicht überschreiten“.
  • Weiche Randbedingungen sind Randbedingungen, denen das AV folgen sollte, die aber verletzt werden können, um zum Beispiel eine Fahrt zu einem Ziel abzuschließen oder um eine Kollision zu vermeiden. Einige Beispiele von „weichen“ Randbedingungen beinhalten unter anderem: Passagierkomfort-Randbedingungen und ein minimaler Schwellenwert für den lateralen Freiraum von einem Fußgänger, der die Straße („regelwidrig“) überquert, um sicherzustellen, dass der Fußgänger und der AV-Passagier sich beim Manövrieren des AV wohlfühlen. In einer Ausführungsform können weiche Randbedingungen in einem oder mehreren hierarchischen oder nicht hierarchischen Regelwerken ausgebildet sein. Weiche Randbedingungen können räumliche Randbedingungen enthalten, die sich mit der Zeit ändern (z. B. Spuren, die frei werden, wenn sich der Verkehr fortbewegt). Eine räumliche Randbedingung kann eine fahrbare Fläche sein.
  • In einigen Ausführungsformen werden unterschiedliche Randbedingungen unterschiedlich abgetastet. Die Homotopieextrahierungseinheit 503 kann zum Beispiel mit 10 Hz arbeiten und die Realisierungssuchvorgänge zum Generieren von Trajektorien können doppelt so schnell mit 20 Hz durchgeführt werden.
  • In einer Ausführungsform generiert die Homotopieextrahierungseinheit 503 eine Menge von möglichen Manövern für das AV. Anstatt Hypothesen über Ziele aufzustellen und danach das Ziel auszuwählen, das zu niedrigeren Kosten führt, stellt die Homotopieextrahierungseinheit 503 Hypothesen über aktive Randbedingungsmengen auf, als eine „Homotopie“ bezeichnet (unten definiert), und wählt dann die Randbedingungsmengen aus, die zu niedrigeren Kosten führen. Die Homotopieextrahierungseinheit 503 empfängt vom Routenplaner 501 einen Routenplan, der einen „Ankerpfad“ enthält. Der „Ankerpfad“ ist die beste Schätzung der Spur, in der sich das AV befindet, und ein optionaler Pfad (ein möglicherweise gewünschter Pfad), der vom AV beim Durchführen eines Spurenwechsels verwendet werden kann. In einer Ausführungsform enthält der Routenplan auch Randbedingungen in Bezug auf das Quadrat der Geschwindigkeit und räumliche Randbedingungen, die entlang des Ankerpfads berechnet werden (z. B. mit einem Grenzengenerator berechnet werden).
  • Mit einem gegebenen Anfangszustand des AV 507, einem Endzustand des AV 507 auf dem Ankerpfad, einer Kartendarstellung und Vorhersagen von anderen Akteuren in der Szene findet die Homotopieextrahierungseinheit 503 alle ungefähr durchführbaren Manöver, die das AV durchführen kann. Es ist anzumerken, dass in diesem Kontext die resultierenden Manöver nicht dynamisch durchführbar sein können, aber die Homotopieextrahierungseinheit 503 garantiert, dass die resultierende Randbedingungsmenge, die das Manöver beschreibt, keine leere Menge ist (auch unter Berücksichtigung des Platzbedarfs des AV). Ein AV-Manöver wird durch die Homotopie beschrieben, die ein einzigartiger Raum ist, wo ein beliebiger Pfad, der mit einem anfänglichen AV-Zustand beginnt und an einem AV-Endzustand endet, kontinuierlich deformiert werden kann. Um diese Manöver zu finden, iteriert die Homotopieextrahierungseinheit 503 über alle möglichen Entscheidungen, die das AV in Bezug auf andere Akteure vornehmen kann, z. B. auf der linken/rechten Seite überholen, vorher oder nachher überholen oder einfach hinten bleiben. Kurzum, eine Ausgabe der Homotopieextrahierungseinheit 503 beschreibt die raum-zeitliche Position des AV gegenüber einem Akteur. Obwohl dies eine rechnerisch aufwendige Suche sein kann, können aufgrund einer Menge an einfachen Prüfungen alle nicht machbaren Kombinationen eliminiert werden. Die Homotopieextrahierungseinheit 503 wird ausführlicher in der gleichzeitig anhängigen Anmeldung, Anwaltsaktenzeichen 46154-0261001, mit dem Titel „Homotopic-Based Planner for Autonomous Vehicles“, angemeldet am 7. Dezember 2021, beschrieben, die hierin in ihrer Gesamtheit unter Bezugnahme aufgenommen ist.
  • Um Randbedingungen beschreiben zu können, die repräsentieren, wo sich die anderen Akteure befinden und was eine Kollision des AV mit diesen Akteuren bedeutet, wird jeder Akteur in ein Standort-Zeit-Hindernis oder ein Standort-Raum-Zeit-Hindernis umgewandelt, wie in Bezug auf 7A und 7B beschrieben. Die Standort-Zeit-Randbedingung ist eine Randbedingung, die zeitlich parametrisiert ist, und die Standort-Raum-Zeit-Randbedingung ist eine Randbedingung, die sowohl örtlich als auch zeitlich parametrisiert ist.
  • In einer Ausführungsform werden die Realisierungssuchvorgänge 504a...504n durch den Manöverrealisator auf Abtastbasis 504 durchgeführt, um einen Satz von Trajektorien 1...N für alle extrahierten Homotopien zu generieren, die von der Homotopieextrahierungseinheit 503 bereitgestellt sind. Der Manöverrealisator auf Abtastbasis 504 findet eine Realisierung (hierin auch als eine Trajektorie bezeichnet), die die von einer Homotopie auferlegten Randbedingungen erfüllt und gleichzeitig den Passagierkomfort maximiert. Mit einer einzelnen gegebenen Homotopie generiert der Manöverrealisator auf Abtastbasis 504 eine dynamisch machbare Trajektorienrealisierung innerhalb dieser Homotopie. Der Manöverrealisator auf Abtastbasis 504 wird ausführlicher in Bezug auf 6-13 beschrieben. Beispielhafte Techniken zum Generieren von Manövern und/oder Trajektorien sind auch ausführlicher in der gleichzeitig anhängigen Anmeldung, Anwaltsaktenzeichen 46154-0316001, mit dem Titel „Vehicle Operation Using Maneuver Generation“, angemeldet am 7. Dezember 2021, beschrieben, die hierin in ihrer Gesamtheit unter Bezugnahme aufgenommen ist.
  • In einer Ausführungsform verwendet der Trajektoriebewertungsgenerator 505 ein oder mehrere Regelwerke, ein oder mehrere Maschinenlernmodelle 509 und/oder ein oder mehrere Sicherheitsmanövermodelle 510, um die Trajektorien 1...N auszuwerten, und verwendet danach die Bewertungen, um die Trajektorie auszuwählen, die die Regeln in dem einen oder den mehreren Regelwerken am besten erfüllt.
  • In einer Ausführungsform wird eine vordefinierte Kostenfunktion verwendet, um die Trajektoriebewertungen zu generieren. Beispielsweise kann eine totalgeordnete oder partiell geordnete hierarchische Kostenfunktion verwendet werden, um die Trajektorien zu bewerten. Die Kostenfunktion wird auf Metriken (z. B. boolesche Werte) angewandt, die mit der Verletzung und/oder Erfüllung einer Hierarchie von Regeln in einem oder mehreren Regelwerken auf Grundlage von Priorität oder relativer Bedeutung assoziiert sind. Eine beispielhafte Hierarchie von Regeln auf Prioritätsbasis lautet folgendermaßen (von oben nach unten): Kollisionsvermeidung (boolesch), Blockierung (boolesch), Endzustand in gewünschter Spur (boolesch), Spurwechsel (boolesch) und Passagierkomfort (double float). In diesem Beispiel ist jede von null verschiedene Prioritätsregel als boolesch definiert, um eine Überoptimierung von Kosten mit hoher Priorität zu vermeiden. Die wichtigste Regel oder Regel mit höchster Priorität ist Vermeiden einer Kollision, gefolgt vom Vermeiden einer Blockierung, gefolgt von Vermeiden eines Endzustands in einer gewünschten Spur, gefolgt von einem Spurwechsel, gefolgt von Komfortregeln (z. B. maximale Beschleunigung/Abbremsung). Diese beispielhaften Regeln sind vollständiger folgendermaßen beschrieben:
    • • Kollision: Ist auf TRUE gesetzt, falls es einen Zustand entlang der bewerteten Trajektorie gibt, wo der Platzbedarf des AV-Fahrzeugs mit dem Platzbedarf irgendeines anderen Akteurs kollidiert (sie werden z. B. als kollidierend angesehen, falls sich ihre Polygone schneiden).
    • • Blockierung: Eine Trajektorie wird als blockiert angesehen, falls die Endhomotopie den gewünschten Zielzustand nicht enthält und die Endgeschwindigkeit der Trajektorie unter einem angegebenen Schwellenwert liegt (z. B. 2 m/s).
    • • Endzustand in gewünschter Spur: Wird auf TRUE gesetzt, falls der Endzustand einer Trajektorie in einer Spur gefunden wird, die ein gewünschter Spurenwechsel ist, und wird auf TRUE gesetzt, falls der Platzbedarf des AV 507 einen Spurteiler zu irgendeinem Zeitpunkt während der bewerteten Trajektorie überquert.
    • • Komfort: Maxima für Beschleunigung/Abbremsen, Bremsdistanz, longitudinalen und lateralen Freiraum können berücksichtigt werden.
  • Für jede Trajektorie werden die Regeln geprüft und Metriken ermittelt. Eine Kostenfunktion wird unter Verwendung der Metriken formuliert und dann unter Verwendung von beispielsweise einer Formulierung mit kleinsten Quadraten oder einem beliebigen anderen geeigneten Löser minimiert. Die Trajektorie mit den geringsten Kosten ist die ausgewählte Trajektorie, d. h. die Trajektorie mit den geringsten Regelverletzungen oder die am besten konforme. Es ist anzumerken, dass die oben beschriebenen Regeln nur Beispiele sind. Durchschnittsfachleute werden erkennen, dass eine beliebige geeignete Kostenfunktion und ein beliebiges geeignetes Regelwerk zur Trajektoriebewertung verwendet werden können, einschließlich Regelwerke mit mehr oder weniger Regeln.
  • Die Nachverfolgungssteuerung 506 wird verwendet, um die Robustheit des Systems 500 gegenüber unerwarteten Spitzen im Rechenaufwand zu verbessern. Die Nachverfolgungssteuerung 506 ist schnell ausführbar, bietet gleichmäßige und glatte Steuereingaben und ermöglicht dem System 500, rascher gegenüber Störungen zu reagieren. In einer Ausführungsform läuft die Nachverfolgungssteuerung 506 mit 40 Hz. Die Eingabe in die Nachverfolgungssteuerung 506 ist die ausgewählte Trajektorie, die vom Trajektoriebewertungsgenerator 505 bereitgestellt wird, die zeitlich parametrisiert wurde, sodass die Nachverfolgungssteuerung 506 eine exakte gewünschte Position des AV zu einem bestimmten Zeitpunkt abfragen kann.
  • In einer Ausführungsform ist die Nachverfolgungssteuerung 506 als eine MPC-ähnliche Aufgabe mit Randbedingungen für die Steuereingaben und Zustände formuliert, und mit einigen Differenzen zu herkömmlicher kontinuierlicher MPC. Es kann jedoch auch ein beliebiger geeigneter Steueralgorithmus mit mehreren Variablen verwendet werden. Die MPC-ähnliche Formulierung verwendet ein Bewegungsmodell, eine Kostenfunktion J über einen vorhergesagten Horizont und einen Optimierungsalgorithmus zum Minimieren der Kostenfunktion J unter Verwendung einer Regeleingabe u. Eine beispielhafte Kostenfunktion zur Optimierung ist eine quadratische Kostenfunktion.
  • In einer Ausführungsform ist das dynamische Modell ein kinematisches Fahrzeugmodell in kartesischen Koordinaten oder ein beliebiges anderes geeignetes Bezugskoordinatensystem. Beispielsweise kann das kinematische Fahrzeugmodell ein Fahrradmodell sein, das ermöglicht, dass ein Seitenschräglaufwinkel geometrisch definiert wird, um eine Gierrate mittels Variablen auszudrücken, die in Bezug auf das Gravizentrum des AV repräsentiert sind, wie ausführlicher in Bezug auf 8 beschrieben. In einer Ausführungsform folgt die Kostenfunktion J einer Konturfehlerformulierung (orthogonale Abweichung vom Ankerpfad), wobei das Ziel ist, die lateralen und longitudinalen Nachverfolgungsfehler zu minimieren. Die Regeleingabe u wird in dieser Formulierung nicht verwendet, aber wird in einer longitudinalen Geschwindigkeitsoptimierungsaufgabe verwendet, in Bezug auf 9 beschrieben.
  • 6 veranschaulicht drei verschiedene Homotopien und deren entsprechende Realisierungen nach einer oder mehreren Ausführungsformen. Wie bereits definiert ist eine Homotopie ein einzigartiger Raum, wo ein beliebiger Pfad, der an einem anfänglichen AV-Zustand beginnt und an einem AV-Endzustand endet, kontinuierlich deformiert werden kann. Mit einer gegebenen einzelnen Homotopie generiert der Manöverrealisator auf Abtastbasis 504 kinematisch und/oder dynamisch machbare Trajektorien innerhalb dieser Homotopie unter Verwendung einer MPC-ähnlichen Formulierung, wie in Bezug auf 8 beschrieben.
  • In diesem Beispiel bewegt sich ein Fahrzeug 601 in einer rechten Spur 602 und nähert sich einem Objekt 603, das die rechte Spur 602 blockiert (z. B. einem geparkten Fahrzeug). Fahrzeuge 604, 605 bewegen sich in der linken Spur 606. Das Fahrzeug 601 kann bremsen und sich hinter dem Fahrzeug 604 in die linke Spur 606 einordnen (Homotopie Nr. 1), vor das Fahrzeug 604 beschleunigen und sich hinter dem Fahrzeug 605 in die linke Spur 606 einordnen (Homotopie Nr. 2) oder vor das Fahrzeug 605 beschleunigen und vor dem Fahrzeug 605 in die linke Spur 606 einordnen (Homotopie Nr. 3). Diese drei Manöver können von der Homotopieextrahierungseinheit 503 generiert werden, die über alle möglichen Entscheidungen iteriert, die das Fahrzeug 601 in Bezug auf die Fahrzeuge 604, 605 treffen kann. Die Ausgabe der Homotopieextrahierungseinheit 503 beschreibt die Raum-Zeit-Position von Fahrzeug 601 gegenüber den Fahrzeugen 604, 605.
  • 7A ist eine beispielhafte Manöverbeschreibung für ein in 7B veranschaulichtes Szenario mit regelwidriger Straßenüberquerung eines Fußgängers nach einer oder mehreren Ausführungsformen. Die vertikale Achse ist der Standort/die Position (Meter) und die horizontale Achse ist die Zeit (Sekunden). Eine Manöverbeschreibung definiert ein Fahrzeugmanöver exakt und kontinuierlich. Sie ist eine Vereinigung von dynamischen Standort-Zeit- und Standort-Raum-Zeit-Randbedingungen, wobei die Standort-Raum-Zeit-Randbedingungen verzerrende Entscheidungen explizit beinhalten und deshalb auch Randbedingungen in Bezug auf Nähe erfassen. Einige Beispiele von Standort-Zeit-Randbedingungen sind maximale Geschwindigkeit und Straßenrandbedingungen (z. B. alle verfügbaren Spuren). Einige Beispiele von Standort-Raum-Zeit-Randbedingungen sind fahrbare Fläche und longitudinale und laterale Freiraumdistanzen von anderen Akteuren. 7B ist eine BEV, die beispielhafte räumliche Randbedingungen in Bezug auf einen Ankerpfad 705 zeigt.
  • In diesem beispielhaften Szenario überquert ein Fußgängerhindernis 701 (ein hartes oder weiches Hindernis) „regelwidrig“ die Straße 702 und das Fahrzeug 703 tritt in den Ankerpfadkanal 704 nach Abbremsen mit einer Komfort-Abbremsung. Dementsprechend muss das Fahrzeug 703 manövrieren, um ein Kollidieren mit dem Fußgängerhindernis 701 zu vermeiden, muss sich aber auch an Standort-Zeit- und Standort-Raum-Zeit-Randbedingungen in Bezug auf den Ankerpfad 705 halten, einschließlich ein Verbleiben innerhalb einer befahrbaren Fläche 706 und Beibehalten von gewünschten longitudinalen und lateralen Freiraumdistanzen vom Fußgängerhindernis 701 und etwaigen anderen Akteuren im Fahrszenario (z. B. anderen sich bewegenden oder geparkten Fahrzeugen), wie in Bezug auf 8 beschrieben.
  • Die beispielhafte, in 7A gezeigte Manöverbeschreibung beschreibt den Manövrierraum, der vom Fahrzeug 703 verwendet werden kann, um ein Kollidieren mit dem Fußgängerhindernis 701 zu vermeiden. In diesem Beispiel ist der Manövrierraum 707 ein disjunkter Raum, der durch den Freiraumbereich 709 des Fußgängerhindernisses 701 und der befahrbaren Fläche 706 eingeschränkt ist. Es ist anzumerken, dass der Bereich 708 in 7A ein hartes Fußgängerhindernis repräsentiert und der Bereich 709 ein weiches Fußgängerhindernis repräsentiert. Deshalb zeigt Bereich 708 an (in Standort und Zeit), wann das Fußgängerhindernis 701 auf jeden Fall mit dem Fußgängerhindernis 701 kollidieren wird, wenn kein Ausweichmanöver in Übereinstimmung mit der Manöverbeschreibung durchgeführt wird. Der Bereich 710 repräsentiert das Ausweichmanöver in die benachbarte Spur.
  • Das Auferlegen von übereinanderliegenden Standort-Zeit- und Standort-Raum-Zeit Randbedingungen führt zu einer vollständigen Manöverbeschreibung, die kontinuierlich entlang ihres definierten Zeithorizonts abgetastet werden kann, was die Architektur des Planungssystems 500 stark vereinfacht. Es besteht keine Notwendigkeit für weitere Entscheidungen und Abstandsrandbedingungen werden direkt als eine kontinuierliche Funktion dargestellt, die für die Optimierung verwendet werden kann.
  • 8 veranschaulicht eine beispielhafte Formulierung für ein beispielhaftes Ausweichmanöver, das vom Fahrzeug 801 durchgeführt wird, um ein geparktes Auto 802 in der Fahrspur des Fahrzeugs 801 zu vermeiden, nach einer oder mehreren Ausführungsformen. Insbesondere sind Randbedingungen in Bezug auf Nähe individuell für sowohl den lateralen als auch den longitudinalen Abstand gezeigt, wobei eine longitudinale Abweichung dlon als die Distanz zwischen dem Fahrzeug 801 und dem geparkten Auto 802 definiert ist und eine laterale Abweichung dlat als die laterale Distanz zwischen dem Fahrzeug 801 und dem geparkten Auto 802 definiert ist. Die NMPC-ähnlichen Vorhersageschritte k sind als innerhalb von dion und dlat liegend eingeschränkt gezeigt.
  • In einer Ausführungsform, bei einem gegebenen Bewegungsmodell, gegebenen Standort-Zeit- und Standort-Raum-Zeit-Randbedingungen und einer gegebenen Kostenfunktion, wird eine Trajektorieoptimierungsaufgabe durch die Nachverfolgungssteuerung 506 gelöst. In einer Ausführungsform wird die Trajektorieoptimierungsaufgabe in Übereinstimmung mit Gleichung [1] gelöst, durch Formulieren der Randbedingungen in Bezug auf Nähe auf die gleiche Weise wie eine herkömmliche MPC-Formulierung: x 1 : N , u 1 : N 1 λ 1 : N = x 1 : N , u 1 : N 1 arg m i n λ 1 : N s . t . k = 0 N 1 J p h a s e ( x k , u k , λ k ) + J e n d g u ¨ l t i g ( x N , λ N ) , x k + 1 = ƒ ( x k , u k ) , c k ( x k , λ k ) 0,
    Figure DE102021132737A1_0001
    x X ,
    Figure DE102021132737A1_0002
    u U ,
    Figure DE102021132737A1_0003
    λ Λ .
    Figure DE102021132737A1_0004
  • In einer Ausführungsform kann die Optimierungsaufgabe im Zustandsraum formuliert werden, der in einem krummlinigen Koordinatensystem definiert ist, wobei die Zustände in Bezug auf einen Gravizentrum (CoG) des Fahrzeugs definiert sind. Sechs Schlupfvariablen werden als zusätzliche Eingaben für alle für weiche Randbedingungen eingeführt. In diesem Ausführungsbeispiel nimmt die Nachverfolgungssteuerung 506 die gewählte, zeitlich parametrisierte Trajektorienausgabe vom Trajektoriebewertungsgenerator 505 als die Eingabe. Das bedeutet, dass die Nachverfolgungssteuerung 506 die exakte gewünschte Position des AV, xi = [s, n, µ, v, α, δ, δ̇] , zu einem beliebigen Zeitpunkt ti abfragen kann, wobei s der Fortschritt ist, n der laterale Fehler ist, µ eine lokale Fahrtrichtung ist (µ = ψ (gier) - ϕs(nick)), v die Geschwindigkeit ist, a die Beschleunigung in der projizierten Fahrtrichtung ist, δ der Lenkwinkel ist, δ die Lenkrate ist, u ein Vektor aus Eingangsvariablen ist, einschließlich Ruck und Lenkrate, u = [ u r u c k u δ ¨ ] , λ h a r t = [ λ n λ a λ s ]
    Figure DE102021132737A1_0005
    und λ w e i c h = [ λ n , w e i c h λ v , w e i c h λ a , w e i c h ]
    Figure DE102021132737A1_0006
    Schlupfvariablen sind, wobei λn ein Schlupf im lateralen Kanal ist, λa der Schlupf bei der Beschleunigung ist, λs der Schlupf beim Fortschritt ist, λn,weich der Schlupf im weichen lateralen Kanal ist, λv, weich der Schlupf bei der weichen Geschwindigkeit ist, λa, weich der Schlupf bei der weichen Beschleunigung ist und Jphase() und Jendgültig() Kostenfunktionen sind. Gleichung [1] kann unter Verwendung eines beliebigen geeigneten Lösers gelöst werden. Andere Ausführungsformen können unterschiedliche Trajektorieoptimierungsverfahren verwenden, einschließlich unter anderem lembasierte Verfahren oder Verfahren, die Steuerbarrierefunktionen verwenden.
  • In einer Ausführungsform ist das Bewegungsmodell ein kinematisches Fahrradmodell, das ermöglicht, dass der Seitenschräglaufwinkel β geometrisch definiert wird, sodass die Geschwindigkeit (vx, vy) und die Gierrate ψ̇ des Fahrzeugs in Form von β ausgedrückt werden können, wie in Gleichung [2] gezeigt: x ˙ = [ s ˙ n ˙ μ ˙ v ˙ a ˙ δ ˙ δ ¨ ] = [ v c o s ( μ + β ) 1 n κ v s i n ( μ + β ) v l r sin ( β ) κ v c o s ( μ + β ) 1 n κ a u r u c k δ ˙ u δ ¨ ] ,
    Figure DE102021132737A1_0007
    wobei β = a r c t a n ( l r l r + l ƒ tan ( δ r e a l ) ) , und
    Figure DE102021132737A1_0008
    wobei lr die Länge von der Vorderseite des AV zum CoG des Fahrzeugs ist und lƒ die Länge von der Rückseite des Fahrzeugs zum CoG des Fahrzeugs ist.
  • In einer Ausführungsform sind die Kostenfunktionen Jphase und Jendgültig gegeben durch: J p h a s e = J k o m f o r t ( x k , u k ) + J n a c h v e r f o l g u n g ( x k ) + J s c h l u p f ( s k ) k { 0, , N 1 } ,
    Figure DE102021132737A1_0009
    und J e n d g u ¨ l t i g = J n a c h v e r f o l g u n g ( x N ) + J s c h l u p f ( S N ) .
    Figure DE102021132737A1_0010
  • In einer Ausführungsform ist eine Nachverfolgung der Leistung nur für die ersten drei Zustände erforderlich, die Komfortanforderung gilt für Beschleunigung und beide Eingaben. Sowohl die Nachverfolgungs- und Komfortziele sind als quadratische Kosten implementiert. Eine Schlupfverletzung wird entweder durch quadratische oder lineare Kosten bestraft: J n a c h v e r f o l g u n g = ( x x r e f ) T Q ( x x r e f ) ,
    Figure DE102021132737A1_0011
    J k o m f o r t = [ a l o n a l a t u T ] R [ a l o n a l a t u ] ,
    Figure DE102021132737A1_0012
    J s c h l u p f = s T E s w e i c h + H ¯ s h a r t ,
    Figure DE102021132737A1_0013
    wobei Q = diag(qs, qn, qµ, 0,0,0,0), R = diag(ralon, ralat, rruck, rδ̇̈̇̇̇), H = [esn , esa , ess ] und E = diag(snweich, svweich, saweich) die individuellen Gewichtsfaktoren jedes Kostenterms repräsentiert.
  • Es ist anzumerken, dass sich die Formulierung der Gleichungen [1]-[8] von herkömmlicher MPC unterscheidet, da MPC einen dynamischen Vorgriff verwendet, um die verzerrende Entscheidung zu approximieren, und die räumlichen Randbedingungen mit der vorhergesagten Zeit aus der MPC abtastet. Die obige MPC-ähnliche Formulierung codiert jedoch die Randbedingungen in der Manöverbeschreibung (der Homotopie) neu, und daher müssen keine zusätzlichen Entscheidungen oder Approximationen von der Nachverfolgungssteuerung 506 gemacht werden.
  • In einer Ausführungsform definiert ein Regelwerk Randbedingungen auf hoher Ebene, die Verhaltenserwartungen eines Fahrzeugs bereitstellen. Ein Kursbewegungsplan wird von einem Planungsmodul (z. B. dem Planungsmodul 404) empfangen, für den eine verfeinerte Realisierung generiert wird, die das Bewegungsmodell und die Kostenfunktion berücksichtigt, die oben beschrieben sind. Eine oder mehrere Regeln im Regelwerk werden bei der oben beschriebenen MPC-ähnlichen Optimierung berücksichtigt. Die eine oder die mehreren Regeln spezifizieren den Lösungsraum für die Trajektorieoptimierung, definiert durch den Kursbewegungsplan, der vom Planungsmodul 404 bereitgestellt wird. In einigen Ausführungsformen können eine oder mehrere Regeln innerhalb der MPC-Formulierung erneut ausgewertet werden, wie zum Beispiel eine Regel in Bezug auf Nähe. Tabelle I unten ist ein Beispiel von übernommenen Regeln. TABELLE I - beispielhafte Regelwerk-Randbedingungen
    Vom Planungsmodul implementierte Regel MPC-Implementierungsdetail
    Sicherheit (Kollisionsvermeidung) Regel in Bezug auf Nähe als eine nichtlineare Ungleichungs-Randbedingung für sowohl Geschwindigkeit als auch laterale Position
    In Spur bleiben Nichtlineare Randbedingung für Abweichung vom Pfad mit Korrektur für den Fahrzeug-Platzbedarf in Bezug auf die echten Spurgrenzen
    Max., min. Geschwindigkeitsbegrenzung, Stopp-Schild Zustands-Randbedingung für Geschwindigkeit
    Komfortable/s Beschl./Abbremsen Zustands-Randbedingung für Beschleunigung
    Kein plötzliches Bremsen Zustands-Randbedingung für Ruck
  • Lineare Ungleichungs-Randbedingungen
  • Die oben angegebenen beispielhaften Regelwerk-Randbedingungen werden in Zustands-Randbedingungen umgewandelt. Die machbare Menge aus Zuständen, x 6 X, Eingaben u ∈ U , und Schlupfvariablen, s ∈ S , werden durch lineare Ungleichungs-Randbedingungen ausgedrückt. Es ist anzumerken, dass die Schlupfvariablen definitionsgemäß semipositiv sind. Die linearen Ungleichungs-Randbedingungen sind hart und erlauben keinen Schlupf, deshalb können sie die Verletzung der Randbedingungen nicht steuern. In einer Ausführungsform läuft das Fahrzeug nicht nahe den Grenzen der Zustands-Randbedingungen: x m i n x x m a x , u m i n u u m a x , 0 a a m a x .
    Figure DE102021132737A1_0014
  • Nichtlineare Ungleichungs-Randbedingungen
  • Durch die Verwendung von allgemeinen Ungleichungs-Randbedingungen können kompliziertere Randbedingungen auferlegt werden. Diese komplizierteren Randbedingungen können nichtlineare Kombinationen unterschiedlicher Zustände, Eingaben und mitlaufend spezifizierbarer Variablen sein. Im Allgemeinen werden Randbedingungen für laterale Position und Geschwindigkeit verwendet, um einen Kanal um den vom Planungsmodul 404 gegebenen Ankerpfad zu generieren. Schlupfvariablen werden in diesen Randbedingungsformulierungen verwendet, um Verletzungen explizit zu steuern und zu bestrafen. In einer Ausführungsform sind die folgenden nichtlinearen Ungleichungs-Randbedingungen definiert: c s t a n d o r t ( x , λ s ) 0,
    Figure DE102021132737A1_0015
    c g e s c h w ( x , λ v w e i c h ) 0
    Figure DE102021132737A1_0016
    c k a n a l _ h a r t ( x , λ n ) 0,
    Figure DE102021132737A1_0017
    c k a n a l _ w e i c h ( x , λ n w e i c h ) 0,
    Figure DE102021132737A1_0018
    c a _ h a r t ( x , λ a ) 0,
    Figure DE102021132737A1_0019
    c a _ w e i c h ( x , λ a w e i c h ) 0,
    Figure DE102021132737A1_0020
    c g e s c h w _ n a ¨ h e ( x , λ v ) 0.
    Figure DE102021132737A1_0021
  • 9 veranschaulicht Abtast-Standort-Zeit-Randbedingungen nach einer oder mehreren Ausführungsformen. Aufgrund der Tatsache, dass die Standort-Zeit-Randbedingungen nicht kontinuierlich differenzierbar sind, müssen die Standort-Zeit-Randbedingungen durch Abtasten diskretisiert werden, wie durch vertikale Linien 900 angedeutet, wobei jede vertikale Linie einen Abtastwert zu einem bestimmten Zeitpunkt repräsentiert und so die Standort-Zeit-Randbedingungen diskretisiert. Da die Standort-Zeit-Randbedingungen bereits nur zeitlich parametrisiert sind, können die entsprechenden MPC-Zeitschritte verwendet werden. Es ist anzumerken, dass ein Abtasten von Standort-Zeit-Randbedingungen nicht zu Approximationen führt.
  • 10 veranschaulicht Abtast-Raum-Standort-Zeit-Randbedingungen nach einer oder mehreren Ausführungsformen. Das Abtasten von Raum-Standort-Zeit-Randbedingungen ist komplizierter als das Abtasten von Standort-Zeit-Randbedingungen, die nur zeitlich parametrisiert sind, da Raum-Standort-Zeit-Randbedingungen zeitlich und in Bezug auf Standort parametrisiert sind. Die Standortkomponente muss vorab abgetastet werden, um die Optimierungsaufgabe zu konstruieren. Wie in Bezug auf 11 beschrieben, kann die Lösung für eine longitudinale Geschwindigkeitsoptimierungsaufgabe als eine anfängliche Vermutung für die Optimierung verwendet werden.
  • 11 veranschaulicht eine beispielhafte longitudinale Realisierung nach einer oder mehreren Ausführungsformen. In einer Ausführungsform wird die oben beschriebene Optimierungsaufgabe mit dem Ergebnis einer anderen Optimierung unter Verwendung der in Bezug auf 8 beschriebenen MPC-ähnlichen Formulierung initialisiert, die schneller lösbar ist als die obige Optimierung. Bei der Initialisierungsoptimierungsaufgabe wird eine longitudinale Punktmassen-Aufgabe (Geschwindigkeitsoptimierung) mit einem Doppelintegrator mit Beschleunigung als die regelbare Eingabe u gelöst. Die Initialisierungsoptimierung beinhaltet Standort-Geschwindigkeitsprofil-Randbedingungen und Homotopie-Standort-Zeit-Randbedingungen. Dies ermöglicht ebenfalls ein Auferlegen von Beschleunigungs-Randbedingungen bei der Optimierung. Da beispielsweise die Geschwindigkeitsprofil-Randbedingungen ebenfalls die Krümmung des Pfads des AV 507 berücksichtigen, schränkt die longitudinale anfängliche Vermutung auch indirekt die maximale laterale Beschleunigung ein. Deshalb stellt die Initialisierungsoptimierung zusätzlich zu den zum Abtasten der räumlichen Randbedingungen verwendeten Standorten auch eine anfängliche Vermutung für Geschwindigkeit und Beschleunigung des AV 507 für die Optimierung bereit.
  • 12A-12C veranschaulichen die Ergebnisse einer Optimierung einer Homotopie mit zwei Akteuren nach einer oder mehreren Ausführungsformen. In 12A ist die Bewegungsvorhersage 1201 des Fahrzeugs als vollständig innerhalb der Standort-Randbedingungen gezeigt und deshalb kann es hinreichend rasch beschleunigen, sodass ein Einordnen in die benachbarte Spur 1202 machbar ist. Dies ist auch in 12B ersichtlich, wo die Beschleunigung des Fahrzeugs am Beginn des Vorhersagehorizonts sehr hoch ist und sich langsam mit ansteigender Geschwindigkeit des Fahrzeugs verringert. In 12B, wenn sich das Fahrzeug einem geparkten Auto vor dem Fahrzeug nähert, verringert sich die Geschwindigkeit aufgrund der Randbedingungen in Bezug auf Nähe. Schließlich zeigt 12C die gesamte vorhergesagte Trajektorie 1203 des Fahrzeugs 1200, einschließlich Vorhersagen der anderen zwei Akteure 1204a und 1204b (z. B. andere Fahrzeuge).
  • Zu diesem Zeitpunkt kann die große Optimierungsaufgabe einfach gelöst werden, da es nur aus Standort-Randbedingungen, räumlichen Randbedingungen, dem Bewegungsmodell und den Komfortzielen besteht. Aufgrund der Abtastung der räumlichen Randbedingungen wird die Optimierungsaufgabe iterativ unter Verwendung der Ergebnisse der vorherigen Iteration gelöst, um die räumlichen Randbedingungen erneut abzutasten. In einer Ausführungsform wird die Optimierungsaufgabe als konvergiert angesehen, falls die optimierte Trajektorie alle ursprünglichen Randbedingungen (ohne Abtasten) erfüllt. Bei einer gut gestellten Aufgabe kann die Konvergenz in einer einzigen Iteration erfolgen.
  • Beispielprozesse
  • 13 ist ein Ablaufdiagramm eines Prozesses für regelbasierte Trajektoriebewertung nach einer oder mehreren Ausführungsformen. Prozess 1300 kann beispielsweise unter Verwendung des Computersystems 300 implementiert werden, wie in Bezug auf 3 beschrieben.
  • Der Prozess 1300 kann mit Erhalten einer Manöverbeschreibung für ein Fahrzeug beginnen (1301). Die Manöverbeschreibung beschreibt eine Vereinigung von dynamischen Standort-Zeit-Randbedingungen und Standort-Raum-Zeit-Randbedingungen für das Fahrzeug. Die Standort-Zeit-Randbedingungen sind zeitlich parametrisiert und die Standort-Raum-Zeit-Randbedingungen sind örtlich als auch zeitlich parametrisiert.
  • Der Prozess 1300 fährt mit Abtasten der dynamischen Standort-Zeit-Randbedingungen und der dynamischen Standort-Raum-Zeit-Randbedingungen fort (1302), wie in Bezug auf 5-8 beschrieben.
  • Der Prozess 1300 fährt mit Lösen einer Optimierungsaufgabe unter Verwendung einer Kostenfunktion der abgetasteten dynamischen Standort-Zeit-Randbedingungen, der abgetasteten dynamischen Standort-Raum-Zeit-Randbedingungen und eines Bewegungsmodells fort (1303), wie in Bezug auf 5-8 beschrieben.
  • Der Prozess 1300 fährt mit Generieren einer Trajektorie auf Grundlage der gelösten Optimierungsaufgabe fort, wobei die Traj ektorie die von der Manöverbeschreibung auferlegten dynamischen Standort-Zeit-Randbedingungen und dynamischen Standort-Raum-Zeit-Randbedingungen erfüllt (1304), wie in Bezug auf 5-8 beschrieben.
  • Der Prozess 1300 fährt mit Steuern des Fahrzeugs in Übereinstimmung mit der Trajektorie fort (1305).
  • In der vorstehenden Beschreibung wurden Ausführungsformen der Erfindung unter Bezugnahme auf zahlreiche spezifische Details beschrieben, die von Implementierung zu Implementierung variieren können. Die Beschreibung und Zeichnungen sollen dementsprechend in einem illustrierenden Sinn statt in einem einschränkenden Sinn betrachtet werden. Der einzige und ausschließliche Indikator für den Umfang der Erfindung und was von den Anmeldern als Umfang der Erfindung beabsichtigt ist, ist der wörtliche und äquivalente Umfang der Gruppe von Ansprüchen, die sich aus dieser Anmeldung ergibt, und zwar in der spezifischen Form, in der diese Ansprüche erteilt werden, einschließlich aller späteren Berichtigungen. Alle hierin ausdrücklich festgelegten Definitionen von Begriffen, die in solchen Ansprüchen enthalten sind, gelten für die Bedeutung dieser Begriffe, wie sie in den Ansprüchen verwendet werden. Darüber hinaus, wenn wir in der vorstehenden Beschreibung oder in den folgenden Ansprüchen den Ausdruck „ferner enthaltend“ verwenden, kann das, was auf diesen Ausdruck folgt, ein zusätzlicher Schritt oder eine zusätzliche Entität oder ein Teilschritt/eine Subentität eines zuvor genannten Schritts oder einer zuvor genannten Entität sein.
  • Zusätzliche Beispiele
  • Implementierungsbeispiele der hierin beschriebenen Merkmale werden unten bereitgestellt.
    • Beispiel 1: Ein Verfahren enthält: Erhalten, unter Verwendung mindestens eines Prozessors, einer Manöverbeschreibung für ein Fahrzeug, wobei die Manöverbeschreibung eine Vereinigung von dynamischen Standort-Zeit-Randbedingungen und Standort-Raum-Zeit-Randbedingungen für das Fahrzeug beschreibt, wobei die dynamischen Standort-Zeit-Randbedingungen zeitlich parametrisiert sind und die dynamischen Standort-Raum-Zeit-Randbedingungen örtlich und zeitlich parametrisiert sind; Abtasten, unter Verwendung des mindestens einen Prozessors, der dynamischen Standort-Zeit-Randbedingungen und der dynamischen Standort-Raum-Zeit-Randbedingungen; Lösen, unter Verwendung des mindestens einen Prozessors, einer Optimierungsaufgabe unter Verwendung einer Kostenfunktion der abgetasteten dynamischen Standort-Zeit-Randbedingungen, der abgetasteten dynamischen Standort-Raum-Zeit-Randbedingungen und eines Bewegungsmodells; und Generieren, unter Verwendung des mindestens einen Prozessors, einer Trajektorie auf Grundlage der gelösten Optimierungsaufgabe, wobei die Trajektorie die von der Manöverbeschreibung auferlegten dynamischen Standort-Zeit-Randbedingungen und dynamischen Standort-Raum-Zeit-Randbedingungen erfüllt.
    • Beispiel 2: Das Verfahren von Beispiel 1, wobei die dynamischen Standort-Raum-Zeit-Randbedingungen verzerrende Entscheidungen explizit beinhalten.
    • Beispiel 3: Das Verfahren eines der vorangehenden Beispiele, wobei das Bewegungsmodell ein kinematisches Fahrradmodell ist.
    • Beispiel 4: Das Verfahren eines der vorangehenden Beispiele, wobei das Lösen kontinuierlich und iterativ ist.
    • Beispiel 5: Das Verfahren eines der vorangehenden Beispiele, wobei das kontinuierliche und iterative Lösen konvergiert, wenn die optimierte Trajektorie die dynamischen Standort-Zeit- und Standort-Raum-Zeit-Randbedingungen ohne Abtasten erfüllt.
    • Beispiel 6: Das Verfahren eines der vorangehenden Beispiele, wobei die Trajektorie dem Fahrzeug auferlegte Komfortrandbedingungen maximiert.
    • Beispiel 7: Das Verfahren eines der vorangehenden Beispiele, wobei das Verfahren ferner umfasst: Lösen, unter Verwendung des mindestens einen Prozessors, einer longitudinalen Geschwindigkeitsoptimierungsaufgabe, um zu ermitteln, wo mit dem Abtasten der dynamischen Standort-Zeit- und dynamischen Standort-Raum-Zeit-Randbedingungen zu beginnen ist.
    • Beispiel 8: Das Verfahren eines der vorangehenden Beispiele, wobei die longitudinale Geschwindigkeitsoptimierungsaufgabe statische Geschwindigkeitsprofilrandbedingungen und Manöver-Standort-Zeit-Randbedingungen beinhaltet.
    • Beispiel 9: Das Verfahren eines der vorangehenden Beispiele, wobei die statischen Geschwindigkeitsprofilrandbedingungen eine maximale laterale Beschleunigung des Fahrzeugs durch Berücksichtigen einer Pfadkrümmung einschränken.
    • Beispiel 10: Das Verfahren eines der vorangehenden Beispiele, wobei das Lösen der longitudinalen Geschwindigkeitsoptimierungsaufgabe eine anfängliche Schätzung von Beschleunigung und Geschwindigkeit zum Lösen der Optimierungsaufgabe bereitstellt.
    • Beispiel 11: Das Verfahren eines der vorangehenden Beispiele, wobei das Verfahren auch ein Initiieren, unter Verwendung eines Steuerschaltkreises, eines Manövers durch das Fahrzeug auf Grundlage der Trajektorie beinhaltet.
    • Beispiel 12: Ein nicht transitorisches computerlesbares Speichermedium mit darauf gespeicherten Anweisungen, die bei Ausführung durch mindestens einen Prozessor den mindestens einen Prozessor veranlassen, das Verfahren von einem der Beispiele 1-11 durchzuführen.
    • Beispiel 13: Ein Fahrzeug, enthaltend: mindestens einen Prozessor; ein nicht transitorisches computerlesbares Speichermedium mit darauf gespeicherten Anweisungen, die bei Ausführung durch den mindestens einen Prozessor den mindestens einen Prozessor veranlassen, das Verfahren von einem der Beispiele 1-11 durchzuführen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 63/142871 [0001]

Claims (13)

  1. Verfahren, umfassend: Erhalten, unter Verwendung mindestens eines Prozessors, einer Manöverbeschreibung für ein Fahrzeug, wobei die Manöverbeschreibung eine Vereinigung von dynamischen Standort-Zeit-Randbedingungen und Standort-Raum-Zeit-Randbedingungen für das Fahrzeug beschreiben, wobei die dynamischen Standort-Zeit-Randbedingungen zeitlich parametrisiert sind und die dynamischen Standort-Raum-Zeit-Randbedingungen örtlich und zeitlich parametrisiert sind; Abtasten, unter Verwendung des mindestens einen Prozessors, der dynamischen Standort-Zeit-Randbedingungen und der dynamischen Standort-Raum-Zeit-Randbedingungen; Lösen, unter Verwendung des mindestens einen Prozessors, einer Optimierungsaufgabe unter Verwendung einer Kostenfunktion der abgetasteten dynamischen Standort-Zeit-Randbedingungen, der abgetasteten dynamischen Standort-Raum-Zeit-Randbedingungen und eines Bewegungsmodells; und Generieren, unter Verwendung des mindestens einen Prozessors, einer Trajektorie auf Grundlage der gelösten Optimierungsaufgabe, wobei die Trajektorie die von der Manöverbeschreibung auferlegten dynamischen Standort-Zeit-Randbedingungen und dynamischen Standort-Raum-Zeit-Randbedingungen erfüllt.
  2. Verfahren nach Anspruch 1, wobei die dynamischen Standort-Raum-Zeit-Randbedingungen verzerrende Entscheidungen explizit beinhalten.
  3. Verfahren nach Anspruch 1, wobei das Bewegungsmodell ein kinematisches Fahrradmodell ist.
  4. Verfahren nach Anspruch 1, wobei das Lösen kontinuierlich und iterativ ist.
  5. Verfahren nach Anspruch 4, wobei das kontinuierliche und iterative Lösen konvergiert, wenn die optimierte Trajektorie die dynamischen Standort-Zeit- und Standort-Raum-Zeit-Randbedingungen ohne Abtasten erfüllt.
  6. Verfahren nach Anspruch 1, wobei die Trajektorie dem Fahrzeug auferlegte Komfortrandbedingungen maximiert.
  7. Verfahren nach Anspruch 1, ferner umfassend: Lösen, unter Verwendung des mindestens einen Prozessors, einer longitudinalen Geschwindigkeitsoptimierungsaufgabe, um zu ermitteln, wo mit dem Abtasten der dynamischen Standort-Zeit- und dynamischen Standort-Raum-Zeit-Randbedingungen zu beginnen ist.
  8. Verfahren nach Anspruch 7, wobei die longitudinale Geschwindigkeitsoptimierungsaufgabe statische Geschwindigkeitsprofilrandbedingungen und Manöver-Standort-Zeit-Randbedingungen beinhaltet.
  9. Verfahren nach Anspruch 8, wobei die statischen Geschwindigkeitsprofilrandbedingungen eine maximale laterale Beschleunigung des Fahrzeugs durch Berücksichtigen einer Pfadkrümmung einschränken.
  10. Verfahren nach Anspruch 7, wobei das Lösen der longitudinalen Geschwindigkeitsoptimierungsaufgabe eine anfängliche Schätzung von Beschleunigung und Geschwindigkeit zum Lösen der Optimierungsaufgabe bereitstellt.
  11. Verfahren nach Anspruch 1, ferner umfassend: Initiieren, unter Verwendung eines Steuerschaltkreises, eines Manövers durch das Fahrzeug auf Grundlage der Trajektorie.
  12. Nicht transitorisches computerlesbares Speichermedium mit darauf gespeicherten Anweisungen, die bei Ausführung durch mindestens einen Prozessor den mindestens einen Prozessor veranlassen, das Verfahren nach Anspruch 1 durchzuführen.
  13. Fahrzeug, umfassend: mindestens einen Prozessor; ein nicht transitorisches computerlesbares Speichermedium mit darauf gespeicherten Anweisungen, die bei Ausführung durch den mindestens einen Prozessor den mindestens einen Prozessor veranlassen, das Verfahren nach Anspruch 1 durchzuführen.
DE102021132737.7A 2021-01-28 2021-12-10 Manöverrealisator auf abtastbasis Pending DE102021132737A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163142871P 2021-01-28 2021-01-28
US63/142,871 2021-01-28
US17/544,678 2021-12-07
US17/544,678 US20220234614A1 (en) 2021-01-28 2021-12-07 Sampling-based maneuver realizer

Publications (1)

Publication Number Publication Date
DE102021132737A1 true DE102021132737A1 (de) 2022-07-28

Family

ID=82320793

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021132737.7A Pending DE102021132737A1 (de) 2021-01-28 2021-12-10 Manöverrealisator auf abtastbasis

Country Status (5)

Country Link
US (1) US20220234614A1 (de)
KR (1) KR20220110069A (de)
CN (1) CN114812588A (de)
DE (1) DE102021132737A1 (de)
GB (1) GB2604222B (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11718300B2 (en) * 2019-02-27 2023-08-08 Zf Automotive Germany Gmbh Method and control unit for a system for controlling a motor vehicle
US11904890B2 (en) * 2020-06-17 2024-02-20 Baidu Usa Llc Lane change system for lanes with different speed limits
US11999376B2 (en) * 2022-02-01 2024-06-04 Huawei Technologies Co., Ltd. Systems, methods, and computer-readable media for spatio-temporal motion planning
WO2024035738A1 (en) * 2022-08-09 2024-02-15 Motional Ad Llc Methods and systems for obstacle representation

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190016339A1 (en) * 2016-02-16 2019-01-17 Honda Motor Co., Ltd. Vehicle control device, vehicle control method, and vehicle control program
US10994729B2 (en) * 2017-03-29 2021-05-04 Mitsubishi Electric Research Laboratories, Inc. System and method for controlling lateral motion of vehicle
US10860023B2 (en) * 2018-06-25 2020-12-08 Mitsubishi Electric Research Laboratories, Inc. Systems and methods for safe decision making of autonomous vehicles
EP3842304A3 (de) * 2018-08-14 2021-09-15 Mobileye Vision Technologies Ltd. Systeme und verfahren zur navigation mit sicheren abständen
US11827241B2 (en) * 2018-10-29 2023-11-28 Motional Ad Llc Adjusting lateral clearance for a vehicle using a multi-dimensional envelope
US11208096B2 (en) * 2018-11-02 2021-12-28 Zoox, Inc. Cost scaling in trajectory generation
US20200241541A1 (en) * 2019-01-28 2020-07-30 GM Global Technology Operations LLC System and method of an algorithmic solution to generate a smooth vehicle velocity trajectory for an autonomous vehicle with spatial speed constraints
US11608083B2 (en) * 2019-09-18 2023-03-21 Honda Motor Co., Ltd. System and method for providing cooperation-aware lane change control in dense traffic
US20210158227A1 (en) * 2019-11-25 2021-05-27 Zestfinance, Inc. Systems and methods for generating model output explanation information
JP2021154858A (ja) * 2020-03-26 2021-10-07 本田技研工業株式会社 車両の走行制御装置

Also Published As

Publication number Publication date
CN114812588A (zh) 2022-07-29
US20220234614A1 (en) 2022-07-28
GB2604222B (en) 2023-03-22
KR20220110069A (ko) 2022-08-05
GB2604222A (en) 2022-08-31

Similar Documents

Publication Publication Date Title
DE102020111682A1 (de) Systeme und verfahren zum implementieren einer autonomen fahrzeugreaktion auf ein sensorversagen
DE112019005425T5 (de) Redundanz in autonomen fahrzeugen
DE102020131323A1 (de) Kamera-zu-lidar-kalibration und -validierung
DE102020133744A1 (de) Vordergrundextraktion unter verwendung von flächenanpassung
DE112019004832T5 (de) Betrieb eines Fahrzeugs unter Verwendung von Bewegungsplanung mit maschinellem Lernen
DE112020000487T5 (de) Automatisches wählen von datenproben zur annotation
DE112019006548T5 (de) Lenkwinkelkalibrierung
DE102021132737A1 (de) Manöverrealisator auf abtastbasis
DE102020128156A1 (de) Bewerten von trajektorien autonomer fahrzeuge unter verwendung angemessener mengendaten
DE102020128153A1 (de) Sampling von fahrszenarien zum trainieren/abstimmen maschineller lernmodelle für fahrzeuge
DE102021108068A1 (de) Schätzung von bodenebenen unter verwendung eines semantischen lidar-netzes
DE112019006282T5 (de) Betrieb eines Fahrzeugs unter Verwendung mehrerer Bewegungsbeschränkungen
DE102021133742A1 (de) Planung einer trajektorie eines autonomen fahrzeugs mit dynamischem zustand
DE102021132850A1 (de) Homotopiebasierter planer für autonome fahrzeuge
DE102021124913A1 (de) Metrik-backpropagation für die beurteilung der leistung von untersystemen
DE102021109466A1 (de) Trajektorieerzeugung unter verwendung eines strassennetzmodells
DE102020128154A1 (de) Trajektorieplanung für fahrzeuge unter verwendung von routeninformationen
DE102020132302A1 (de) Sicherheitssystem für ein fahrzeug
DE102021132722A1 (de) Auswählen von testszenarien zum bewerten der leistung autonomer fahrzeuge
DE102021127118A1 (de) Identifizieren von Objekten mit LiDAR
DE102020128155A1 (de) Bedingte bewegungsvorhersagen
DE102021133739A1 (de) Steuern eines autonomen fahrzeugs unter verwendung einer näheregel
DE102021132851A1 (de) Fahrzeugbetrieb unter verwendung von manövererzeugung
DE102022100213A1 (de) Auf Maschinenlernen basierendes Framework für die Annotation befahrbarer Oberflächen
DE102021110157A1 (de) Av-wegplanung mit kalibrierungsinformationen