DE112020002695T5 - Autonomer fahrzeugbetrieb mittels linearer temporaler logik - Google Patents

Autonomer fahrzeugbetrieb mittels linearer temporaler logik Download PDF

Info

Publication number
DE112020002695T5
DE112020002695T5 DE112020002695.7T DE112020002695T DE112020002695T5 DE 112020002695 T5 DE112020002695 T5 DE 112020002695T5 DE 112020002695 T DE112020002695 T DE 112020002695T DE 112020002695 T5 DE112020002695 T5 DE 112020002695T5
Authority
DE
Germany
Prior art keywords
temporal logic
vehicle
linear temporal
operating
motion segment
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
DE112020002695.7T
Other languages
English (en)
Inventor
Tichakorn Wongpiromsarn
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 DE112020002695T5 publication Critical patent/DE112020002695T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • 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
    • B60W60/0025Planning or execution of driving tasks specially adapted for specific operations
    • 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/0953Predicting travel path or likelihood of collision the prediction being responsive to vehicle dynamic parameters
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • 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/18Propelling the vehicle
    • B60W30/18009Propelling the vehicle related to particular drive situations
    • B60W30/18159Traversing an intersection
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/18Propelling the vehicle
    • B60W30/18009Propelling the vehicle related to particular drive situations
    • B60W30/18163Lane change; Overtaking manoeuvres
    • 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
    • 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/0027Planning or execution of driving tasks using trajectory prediction for other traffic participants
    • B60W60/00274Planning or execution of driving tasks using trajectory prediction for other traffic participants considering possible movement changes
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0055Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots with safety arrangements
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems
    • G08G1/166Anti-collision systems for active traffic, e.g. moving vehicles, pedestrians, bikes
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/20Monitoring the location of vehicles belonging to a group, e.g. fleet of vehicles, countable or determined number of vehicles
    • 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
    • B60W2552/00Input parameters relating to infrastructure
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2552/00Input parameters relating to infrastructure
    • B60W2552/53Road markings, e.g. lane marker or crosswalk
    • 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
    • B60W2555/00Input parameters relating to exterior conditions, not covered by groups B60W2552/00, B60W2554/00
    • B60W2555/60Traffic rules, e.g. speed limits or right of way
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2556/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2300/00Purposes or special features of road vehicle drive control systems
    • B60Y2300/08Predicting or avoiding probable or impending collision
    • B60Y2300/095Predicting travel path or likelihood of collision
    • B60Y2300/0954Predicting travel path or likelihood of collision the prediction being responsive to traffic or environmental parameters
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2300/00Purposes or special features of road vehicle drive control systems
    • B60Y2300/18Propelling the vehicle
    • B60Y2300/18008Propelling the vehicle related to particular drive situations
    • B60Y2300/18166Overtaking, changing lanes

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)
  • Business, Economics & Management (AREA)
  • Traffic Control Systems (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
  • General Engineering & Computer Science (AREA)
  • Navigation (AREA)
  • Image Analysis (AREA)

Abstract

Es werden Techniken für den autonomen Fahrzeugbetrieb mittels linearer temporaler Logik bereitgestellt. Die Techniken beinhalten die Verwendung eines oder mehrerer Prozessoren eines Fahrzeugs, um einen linearen temporalen Logikausdruck zu speichern, der eine Betriebsbeschränkung für das Betreiben des Fahrzeugs definiert. Das Fahrzeug befindet sich an einem ersten raumzeitlichen Ort. Der eine oder die mehreren Prozessoren werden verwendet, um einen zweiten raumzeitlichen Ort für das Fahrzeug zu empfangen. Der eine oder die mehreren Prozessoren werden verwendet, um ein Bewegungssegment zum Betreiben des Fahrzeugs vom ersten raumzeitlichen Ort zum zweiten raumzeitlichen Ort zu identifizieren. Der eine oder die mehreren Prozessoren werden dazu verwendet, einen Wert des linearen temporalen Logikausdrucks basierend auf dem Bewegungssegment zu bestimmen. Der eine oder die mehreren Prozessoren werden dazu verwendet, eine Betriebskennzahl zum Betreiben des Fahrzeugs gemäß dem Bewegungssegment basierend auf dem bestimmten Wert des linearen temporalen Logikausdrucks zu erzeugen.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNG
  • Diese Anmeldung beansprucht den Vorteil der am 4. Juni 2019 eingereichten vorläufigen US-Anmeldung 62/856.875 , die hierin durch Verweis in ihrer Gesamtheit aufgenommen ist.
  • GEGENSTAND DER ERFINDUNG
  • Diese Beschreibung bezieht sich allgemein auf die Wegplanung für den Betrieb von Fahrzeugen.
  • STAND DER TECHNIK
  • Der Betrieb eines Fahrzeugs von einem Ausgangsort zu einem Endzielort erfordert oft, dass ein Benutzer oder das Fahrzeugentscheidungssystem eine Route durch ein Straßennetz vom Ausgangsort zu einem Endzielort auswählt. Das Auswählen einer komplexen Route kann viele Entscheidungen erfordern, was traditionelle Algorithmen für die Routenauswahl undurchführbar macht.
  • KURZDARSTELLUNG
  • Es werden Techniken für den Betrieb von autonomen Fahrzeugen (AF) mittels linearer temporaler Logik bereitgestellt. Die Techniken beinhalten die Verwendung eines oder mehrerer Prozessoren eines Fahrzeugs, um einen linearen temporalen Logikausdruck zu speichern, der eine Betriebsbeschränkung für das Betreiben des Fahrzeugs definiert. Das Fahrzeug befindet sich an einem ersten raumzeitlichen Ort. Der eine oder die mehreren Prozessoren empfangen einen zweiten raumzeitlichen Ort für das Fahrzeug. Der eine oder die mehreren Prozessoren werden verwendet, um ein Bewegungssegment zum Betreiben des Fahrzeugs vom ersten raumzeitlichen Ort zum zweiten raumzeitlichen Ort zu identifizieren. Der eine oder die mehreren Prozessoren bestimmen einen Wert des linearen temporalen Logikausdrucks basierend auf dem Bewegungssegment. Der eine oder die mehreren Prozessoren erzeugen eine Betriebskennzahl zum Betreiben des Fahrzeugs gemäß dem Bewegungssegment basierend auf dem bestimmten Wert des linearen temporalen Logikausdrucks.
  • In einer Ausführungsform empfangen ein oder mehrere Prozessoren eines Fahrzeugs eine oder mehrere Betriebsbeschränkungen zum Betreiben des Fahrzeugs. Jede Betriebsbeschränkung der einen oder mehreren Betriebsbeschränkungen ist durch einen entsprechenden linearen temporalen Logikausdruck definiert. Der eine oder die mehreren Prozessoren bestimmen ein oder mehrere Bewegungssegmente zum Betreiben des Fahrzeugs. Jedes Bewegungssegment des einen oder der mehreren Bewegungssegmente verbindet zwei verschiedene raumzeitliche Orte. Der eine oder die mehreren Prozessoren bestimmen Werte des einen oder der mehreren linearen temporalen Logikausdrücke für eine Folge von Zuständen des Fahrzeugs basierend auf einem temporalen Modaloperators. Der eine oder die mehreren Prozessoren weisen dem einen oder den mehreren Bewegungssegmenten Betriebskennzahlen zu, die auf den Werten des einen oder der mehreren linearen temporalen Logikausdrücke basieren. Der eine oder die mehreren Prozessoren wählen ein Bewegungssegment aus dem einen oder den mehreren Bewegungssegmenten aus. Das ausgewählte Bewegungssegment weist eine zugewiesene Betriebskennzahl unterhalb eines Schwellenwertes auf. Ein Steuermodul des Fahrzeugs betreibt das Fahrzeug gemäß dem ausgewählten Bewegungssegment.
  • In einer Ausführungsform empfangen ein oder mehrere Prozessoren eines Fahrzeugs mehrere Bewegungssegmente. Jedes Bewegungssegment der mehreren Bewegungssegmente verbindet einen ersten raumzeitlichen Ort mit einem zweiten raumzeitlichen Ort. Der eine oder die mehreren Prozessoren erzeugen eine Kripke-Struktur, die einen ersten Knoten enthält, der dem ersten raumzeitlichen Ort entspricht. Ein zweiter Knoten entspricht dem zweiten raumzeitlichen Ort. Die Kripke-Struktur enthält mehrere Kanten. Jede Kante der mehreren Kanten entspricht einem betreffenden Bewegungssegment der mehreren Bewegungssegmente. Der eine oder die mehreren Prozessoren empfangen einen linearen temporalen Logikausdruck, der eine Betriebsbeschränkung zum Betreiben des Fahrzeugs definiert. Für jede Kante der mehreren Kanten innerhalb der Kripke-Struktur: In Reaktion darauf, dass ein Wert des linearen temporalen Logikausdrucks, der entweder im ersten Knoten oder im zweiten Knoten bestimmt wurde, falsch ist, weisen der eine oder die mehreren Prozessoren einem der Kante entsprechenden Bewegungssegment eine Betriebskennzahl zu. Der eine oder die mehrere Prozessoren wählen ein Bewegungssegment aus, das einer niedrigsten Betriebskennzahl zugeordnet ist, um das Fahrzeug zu betreiben.
  • In einer Ausführungsform speichern ein oder mehrere Prozessoren eines Fahrzeugs eine Kripke-Struktur, die ein Bewegungssegment zum Betreiben des Fahrzeugs repräsentiert. Das Bewegungssegment enthält mehrere raumzeitliche Orte. Für jeden raumzeitlichen Ort der mehreren raumzeitlichen Orte: Der eine oder die mehreren Prozessoren werten einen linearen temporalen Logikausdruck basierend auf der Kripke-Struktur aus. Der lineare temporale Logikausdruck definiert eine Betriebsbeschränkung zum Betreiben des Fahrzeugs gemäß dem Bewegungssegment. In Reaktion darauf, dass sich ein Wert des linearen temporalen Logikausdrucks an dem raumzeitlichen Ort ändert, fügen der eine oder die mehreren Prozessoren eine Ortsmarkierung innerhalb der Kripke-Struktur an dem raumzeitlichen Ort ein, um das Bewegungssegment in zwei verschiedene Bewegungssegmente zu unterteilen. Der eine oder die mehreren Prozessoren weisen jedem Bewegungssegment der beiden verschiedenen Bewegungssegmente eine auf der Ortsmarkierung basierende Betriebskennzahl zu, Der eine oder die mehreren Prozessoren bestimmen eine Bewegungsbahn zum Betreiben des Fahrzeugs basierend auf der Betriebskennzahl.
  • In einer Ausführungsform speichern ein oder mehrere Prozessoren eines Fahrzeugs einen linearen temporalen Logikausdruck, der einer Kollision des Fahrzeugs mit einem Objekt entspricht. Der eine oder die mehreren Prozessoren empfangen ein erstes Bewegungssegment zum Betreiben des Fahrzeugs. Der eine oder die mehreren Prozessoren bestimmen einen ersten Wert des linearen temporalen Logikausdrucks basierend auf dem ersten Bewegungssegment. In Reaktion darauf, dass der bestimmte erste Wert angibt, dass eine erste Kollisionswahrscheinlichkeit des Fahrzeugs mit dem Objekt größer als ein Schwellenwert ist, betreibt ein Steuermodul des Fahrzeugs das Fahrzeug gemäß einem zweiten Bewegungssegment, das von dem ersten Bewegungssegment verschieden ist. Ein zweiter Wert des linearen temporalen Logikausdrucks, der basierend auf dem zweiten Bewegungssegment bestimmt wird, gibt an, dass eine zweite Kollisionswahrscheinlichkeit des Fahrzeugs mit dem Objekt kleiner als der Schwellenwert ist.
  • Diese und andere Aspekte, Merkmale und Implementierungen können als Verfahren, Vorrichtungen, Systeme, Komponenten, Programmprodukte, Einrichtungen oder Schritte zum Ausführen einer Funktion und auf andere Weise ausgedrückt werden.
  • Diese und andere Aspekte, Merkmale und Implementierungen werden aus den folgenden Beschreibungen einschließlich der Ansprüche ersichtlich.
  • Zu den Vorteilen der hier offenbarten Ausführungsformen gehört unter anderem die Navigation eines AF entlang einer Bewegungsbahn mit einem reduzierten Kostenwert, was zu einer erhöhten Sicherheit für Fahrgäste und Fußgänger, einem geringeren Verschleiß des AF, einer reduzierten Fahrzeit und einer reduzierten Fahrstrecke führt. Die Erzeugung von bevorzugten Bewegungsbahnen basierend auf von Verkehrsregeln erhöht die Sicherheit für das AF, andere Fahrzeuge im Straßennetz und Fußgänger. Wenn das AF bestimmt, dass eine potenzielle Bewegungsbahn eine höherrangige Betriebsbeschränkung verletzen würde, wird die Auswertung der potenziellen Bewegungsbahn abgebrochen, um die Rechenzeit zu reduzieren. Die hier offenbarten Ausführungsformen vermeiden den hohen Rechenaufwand für das Erzeugen eines gewichteten Produktautomaten aus Verkehrsregeln. Die Erzeugung von Bewegungsbahnen mit reduziertem Kostenwert erfolgt somit in Echtzeit für fahrende Fahrzeuge.
  • Figurenliste
    • 1 zeigt ein Beispiel für ein autonomes Fahrzeug (AF) mit autonomer Fähigkeit gemäß einer oder mehreren Ausführungsformen.
    • 2 zeigt ein Beispiel für eine „Cloud“-Rechenumgebung gemäß einer oder mehreren Ausführungsformen.
    • 3 zeigt ein Computersystem gemäß einer oder mehreren Ausführungsformen.
    • 4 zeigt ein Beispiel für die Architektur eines AF gemäß einer oder mehreren Ausführungsformen.
    • 5 zeigt ein Beispiel für Eingaben und Ausgaben, die durch ein Wahrnehmungsmodul gemäß einer oder mehreren Ausführungsformen verwendet werden können.
    • 6 zeigt ein Beispiel für ein LiDAR-System gemäß einer oder mehreren Ausführungsformen.
    • 7 zeigt das LiDAR-System im Betrieb gemäß einer oder mehreren Ausführungsformen.
    • 8 zeigt die Funktionsweise des LiDAR-Systems in zusätzlicher Detaillierung gemäß einer oder mehreren Ausführungsformen.
    • 9 zeigt ein Blockdiagramm der Zusammenhänge zwischen Eingaben und Ausgaben eines Planungsmoduls gemäß einer oder mehreren Ausführungsformen.
    • 10 zeigt einen gerichteten Graphen, der bei der Wegplanung gemäß einer oder mehreren Ausführungsformen verwendet wird.
    • 11 zeigt ein Blockdiagramm der Ein- und Ausgaben eines Steuermoduls gemäß einer oder mehreren Ausführungsformen.
    • 12 zeigt ein Blockdiagramm der Eingaben, Ausgaben und Komponenten einer Steuervorrichtung gemäß einer oder mehreren Ausführungsformen.
    • 13 zeigt ein Blockdiagramm einer Betriebsumgebung für autonomen Fahrzeugbetrieb mittels linearer temporaler Logik gemäß einer oder mehreren Ausführungsformen.
    • 14-15 zeigen Beispiele für autonomen Fahrzeugbetrieb mittels linearer temporaler Logik gemäß einer oder mehrerer Ausführungsformen.
    • 16-20 zeigen Prozesse für autonomen Fahrzeugbetrieb mittels linearer temporaler Logik gemäß einer oder mehrerer Ausführungsformen.
  • DETAILLIERTE BESCHREIBUNG
  • In der folgenden Beschreibung werden zwecks Erklärung zahlreiche spezifische Details dargelegt, um ein gründliches Verständnis der vorliegenden Erfindung zu ermöglichen. Es wird jedoch offensichtlich, dass die vorliegende Erfindung auch ohne diese spezifischen Details umgesetzt werden kann. In anderen Fällen werden bekannte Strukturen und Vorrichtungen in Blockdiagrammform dargestellt, um eine unnötige Verschleierung der vorliegenden Erfindung zu vermeiden.
  • Zur leichteren Beschreibung sind in den Zeichnungen spezifische Anordnungen oder Reihenfolgen von schematischen Elementen abgebildet, wie z. B. solche, die Vorrichtungen, Module, Anweisungsblöcke und Datenelemente darstellen. Der Fachmann sollte jedoch verstehen, dass die spezifische Reihenfolge oder Anordnung der schematischen Elemente in den Zeichnungen nicht bedeuten soll, dass eine bestimmte Reihenfolge oder Sequenz der Bearbeitung oder eine Trennung der Prozesse erforderlich ist. Ferner soll die Aufnahme eines schematischen Elements in eine Zeichnung nicht bedeuten, dass dieses Element in allen Ausführungsformen erforderlich ist oder dass die durch dieses Element dargestellten Merkmale in einer Ausführungsform nicht in andere Elemente aufgenommen oder mit anderen Elementen kombiniert werden dürfen.
  • Ferner ist in den Zeichnungen, in denen Verbindungselemente, wie beispielsweise durchgezogene oder gestrichelte Linien oder Pfeile verwendet werden, um eine Verbindung, Beziehung oder Verknüpfung zwischen oder unter zwei oder mehreren anderen schematischen Elementen darzustellen, das Fehlen solcher Verbindungselemente nicht so zu verstehen, dass keine Verbindung, Beziehung oder Verknüpfung bestehen kann. Mit anderen Worten werden einige Verbindungen, Zusammenhänge oder Verknüpfungen zwischen Elementen in den Zeichnungen nicht dargestellt, um die Offenbarung nicht zu verschleiern. Zur leichteren Veranschaulichung wird außerdem ein einzelnes Verbindungselement verwendet, um mehrere Verbindungen, Zusammenhänge oder Verknüpfungen zwischen Elementen darzustellen. Wenn zum Beispiel ein Verbindungselement eine Kommunikation von Signalen, Daten oder Anweisungen darstellt, sollte der Fachmann verstehen, dass ein solches Element einen oder mehrere Signalpfade (z. B. einen Bus) darstellt, je nachdem, was erforderlich ist, um die Kommunikation zu bewirken.
  • Im Folgenden wird im Detail Bezug auf Ausführungsformen genommen, deren Beispiele in den begleitenden Zeichnungen veranschaulicht sind. In der folgenden detaillierten Beschreibung werden zahlreiche spezifische Details dargelegt, um ein gründliches Verständnis der verschiedenen beschriebenen Ausführungsformen zu ermöglichen. Jedoch wird für einen durchschnittlichen Fachmann deutlich sein, dass die verschiedenen beschriebenen Ausführungsformen auch ohne diese spezifischen Details umgesetzt werden können. In anderen Fällen sind allgemein bekannte Verfahren, Vorgehensweisen, Komponenten, Schaltungen und Netzwerke nicht ausführlich beschrieben, um eine unnötige Verschleierung der Aspekte der Ausführungsformen zu vermeiden.
  • Im Folgenden werden mehrere Merkmale beschrieben, die jeweils unabhängig voneinander oder in einer beliebigen Kombination anderer Merkmale verwendet werden können. Allerdings kann es sein, dass ein einzelnes Merkmal keines der oben erörterten Probleme oder nur eines der oben erörterten Probleme anspricht. Einige der oben erörterten Probleme werden möglicherweise durch keines der hier beschriebenen Merkmale vollständig angesprochen. Auch wenn Überschriften angegeben sind, 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 hier gemäß der folgenden Übersicht beschrieben:
  • 1.
    Allgemeiner Überblick
    2.
    Systemübersicht
    3.
    Architektur autonomer Fahrzeuge
    4.
    Eingaben autonomer Fahrzeuge
    5.
    Planung autonomer Fahrzeuge
    6.
    Steuerung autonomer Fahrzeuge
    7.
    Betriebsumgebung für AF-Betrieb mittels linearer temporaler Logik
    8.
    Beispiele für AF-Betrieb mittels linearer temporaler Logik
    9.
    Prozesse für AF-Betrieb mittels linearer temporaler Logik
  • Allgemeiner Überblick
  • Ein autonomes Fahrzeug (AF), das sich an einem raumzeitlichen Anfangsort befindet, speichert einen linearen temporalen Logikausdruck, der eine Betriebsbeschränkung für das Betreiben des AF definiert. Ein linearer temporaler Logikausdruck ist ein modaler temporaler Logikausdruck mit Modalitäten, die sich auf die Zeit beziehen. Die Betriebsbeschränkung ist z. B. eine Verkehrsregel oder eine Regel, die den Grad an Fahrgastkomfort eines im AF mitfahrenden Fahrgastes erhöhen soll. Das AF empfängt einen raumzeitlichen Zielort, zu dem das AF fahren soll. Zum Beispiel kann das AF Anweisungen, die den raumzeitlichen Zielort spezifizieren, von einem im AF mitfahrenden Fahrgast oder aus einem entfernten Server erhalten. Das AF verwendet den einen oder die mehreren Prozessoren, um ein Bewegungssegment für den Betrieb des AF vom raumzeitlichen Anfangsort zum raumzeitlichen Zielort zu identifizieren. Ein Bewegungssegment ist ein Abschnitt eines Fahrstreifens. Darüber hinaus gibt das Bewegungssegment z. B. eine Geschwindigkeit des AF beim Befahren des Fahrstreifens an. Das AF bestimmt einen Wert des linearen temporalen Logikausdrucks basierend auf dem Bewegungssegment. Das AF wertet z. B. den linearen temporalen Logikausdruck aus, um zu bestimmen, ob die Betriebsbeschränkung verletzt wird. Das AF erzeugt eine Betriebskennzahl zum Betreiben des AF gemäß dem Bewegungssegment basierend auf dem bestimmten Wert des linearen temporalen Logikausdrucks. Die Betriebskennzahl ist ein Kostenwert für die Verletzung der Betriebsbeschränkung. Das AF erzeugt somit eine Bewegungsbahn mit reduziertem Kostenwert vom raumzeitlichen Anfangsort zum raumzeitlichen Zielort.
  • Systemübersicht
  • 1 zeigt ein Beispiel für ein autonomes Fahrzeug 100, das über autonome Fähigkeit verfügt.
  • Wie hier verwendet, bezieht sich der Begriff „autonome Fähigkeit“ auf eine Funktion, ein Merkmal oder eine Einrichtung, die es ermöglicht, ein Fahrzeug teilweise oder vollständig ohne menschliches Eingreifen in Echtzeit zu betreiben, einschließlich, aber nicht beschränkt auf vollständig autonome Fahrzeuge, hochgradig autonome Fahrzeuge und bedingt autonome Fahrzeuge.
  • Wie hier verwendet, ist ein autonomes Fahrzeug (AF) ein Fahrzeug, das über autonome Fähigkeiten verfügt.
  • Wie hier verwendet, umfasst „Fahrzeug“ Transportmittel für den Transport von Gütern oder Personen. Zum Beispiel Autos, Busse, Züge, Flugzeuge, Drohnen, Lastwagen, Boote, Schiffe, Tauchboote, Lenkflugkörper usw. Ein fahrerloses Kraftfahrzeug ist ein Beispiel für ein Fahrzeug.
  • Wie hier verwendet, bezieht sich „Bewegungsbahn“ auf einen Weg oder eine Route zum Betreiben eines AF von einem ersten raumzeitlichen Ort zu einem zweiten raumzeitlichen Ort. In einer Ausführungsform wird der erste raumzeitliche Ort als Anfangs- oder Startort und der zweite raumzeitliche Ort als Bestimmungsort, Endort, Ziel, Zielposition oder Zielort bezeichnet. In einigen Beispielen besteht eine Bewegungsbahn aus einem oder mehreren Segmenten (z. B. Straßenabschnitten), und jedes Segment besteht aus einem oder mehreren Blöcken (z. B. Abschnitten eines Fahrstreifens oder einer Einmündung). In einer Ausführungsform entsprechen die raumzeitlichen Orte den Orten der realen Welt. Die raumzeitlichen Orte sind zum Beispiel Abhol- oder Absetzorte zum Abholen oder Absetzen von Personen oder Gütern.
  • Wie hier verwendet, umfasst „Sensor(en)“ eine oder mehrere Hardwarekomponenten, die Informationen über die Umgebung rund um den Sensor erfassen. Einige der Hardwarekomponenten können sensorische Komponenten (z. B. Bildsensoren, biometrische Sensoren), Sende- und/oder Empfangskomponenten (z. B. Laser- oder Hochfrequenzwellensender und -empfänger), elektronische Komponenten wie Analog-DigitalWandler, eine Datenspeichervorrichtung (z. B. ein RAM und/oder ein nicht-flüchtiger Speicher), Software- oder Firmwarekomponenten und Datenverarbeitungskomponenten wie eine ASIC (anwendungsspezifische integrierte Schaltung), einen Mikroprozessor und/oder einen Mikrocontroller umfassen.
  • Wie hier verwendet, ist eine „Szeneriebeschreibung“ eine Datenstruktur (z. B. Liste) oder ein Datenstrom, der ein oder mehrere klassifizierte oder gekennzeichnete Objekte enthält, die durch einen oder mehrere Sensoren auf dem AF-Fahrzeug erfasst oder durch eine AF-externe Quelle bereitgestellt werden.
  • Wie hier verwendet, ist eine „Straße“ ein physischer Bereich, der durch ein Fahrzeug befahren werden kann und einem benannten Verkehrsweg (z. B. Stadtstraße, Autobahn usw.) oder einem unbenannten Verkehrsweg (z. B. eine Einfahrt an einem Haus oder Bürogebäude, ein Abschnitt eines Parkplatzes, ein Abschnitt eines leeren Grundstücks, ein Feldweg in einem ländlichen Gebiet usw.) entsprechen kann. Da einige Fahrzeuge (z. B. Allradlastwagen, Geländewagen, usw.) in der Lage sind, eine Vielzahl physischer Bereiche zu befahren, die nicht speziell für den Fahrzeugverkehr ausgelegt sind, kann eine „Straße“ ein physischer Bereich sein, der nicht formell durch eine Gemeinde oder andere Regierungs- oder Verwaltungsbehörde als Verkehrsweg definiert ist.
  • Wie hier verwendet, ist ein „Fahrstreifen“ ein Abschnitt einer Straße, der durch ein Fahrzeug befahren werden kann und dem größten Teil oder der Gesamtheit des Zwischenraums zwischen den Fahrstreifenmarkierungen oder nur einem Teil (z. B. weniger als 50 %) des Zwischenraums zwischen den Fahrstreifenmarkierungen entsprechen kann. Zum Beispiel könnte eine Straße mit weit auseinanderliegenden Fahrstreifenmarkierungen zwei oder mehr Fahrzeuge zwischen den Markierungen aufnehmen, sodass ein Fahrzeug das andere überholen kann, ohne die Fahrstreifenmarkierungen zu überqueren, und könnte daher so interpretiert werden, dass ein Fahrstreifen schmaler als der Zwischenraum zwischen den Fahrstreifenmarkierungen ist oder dass zwei Fahrstreifen zwischen den Fahrstreifenmarkierungen liegen. Ein Fahrstreifen könnte auch bei Fehlen von Fahrstreifenmarkierungen interpretiert werden. Beispielsweise kann ein Fahrstreifen basierend auf physischen Merkmalen einer Umgebung, z. B. Felsen und Bäume entlang einem Verkehrsweg in einem ländlichen Gebiet, definiert werden.
  • „Eine oder mehrere" umfasst eine Funktion, die durch ein Element ausgeführt wird, eine Funktion, die durch mehr als ein Element ausgeführt wird, z. B. auf verteilte Weise, wobei mehrere Funktionen durch ein Element ausgeführt werden, mehrere Funktionen durch mehrere Elemente ausgeführt werden, oder eine beliebige Kombination des oben Genannten.
  • Es versteht sich auch, dass die Begriffe „erste“, „zweite“ usw. hier zwar in einigen Fällen zur Beschreibung verschiedener Elemente verwendet werden, diese Elemente jedoch nicht durch diese Begriffe eingeschränkt werden sollten. Diese Begriffe werden nur verwendet, um ein Element von einem anderen zu unterscheiden. Beispielsweise könnte ein erster Kontakt als ein zweiter Kontakt bezeichnet sein, und in ähnlicher Weise könnte ein zweiter Kontakt als ein dritter Kontakt bezeichnet sein, ohne vom Schutzbereich der verschiedenen beschriebenen Ausführungsformen abzuweichen. Der erste Kontakt und der zweite Kontakt sind beide Kontakte, aber sie sind nicht derselbe Kontakt.
  • Die Terminologie, die bei der Beschreibung der verschiedenen hier beschriebenen Ausführungsformen verwendet wird, dient nur der Beschreibung bestimmter Ausführungsformen und ist nicht als einschränkend zu verstehen. Bei der Beschreibung der verschiedenen beschriebenen Ausführungsformen und der beigefügten Ansprüche sollen die Singularformen „ein“, „eine“ sowie „der“, „die“, „das“ auch die Pluralformen einschließen, sofern der Zusammenhang nicht eindeutig etwas anderes vorgibt. Es versteht sich auch, dass der Begriff „und/oder“ wie hier verwendet sich auf alle möglichen Kombinationen eines oder mehrerer der zugeordneten aufgelisteten Punkte bezieht und diese umfasst. Es versteht sich ferner, dass die Begriffe „enthalten“, „einschließlich“, „umfassen“ und/oder „umfassend“, wenn in dieser Beschreibung verwendet, das Vorhandensein angegebener Merkmale, Ganzzahlen, Schritte, Vorgänge, Elemente und/oder Komponenten davon angibt, aber nicht das Vorhandensein oder die Hinzufügung eines/einer oder mehrerer anderer Merkmale, Ganzzahlen, Schritte, Vorgänge, Elemente, Komponenten und/oder Gruppen davon ausschließt.
  • Wie hier verwendet, ist der Begriff „falls“ gegebenenfalls so auszulegen, dass er je nach Zusammenhang „wenn“ oder „bei“ oder „in Reaktion auf das Bestimmen“ oder „in Reaktion auf das Erkennen“ bedeutet. In ähnlicher Weise ist die Formulierung „falls bestimmt wird“ oder „falls [ein angegebener Zustand oder ein Ereignis] erkannt wird“ je nach Zusammenhang gegebenenfalls so auszulegen, dass sie „beim Bestimmen“ oder „in Reaktion auf das Bestimmen“ oder „bei Erkennen [des angegebenen Zustands oder Ereignisses]“ oder „in Reaktion auf das Erkennen [des angegebenen Zustands oder Ereignisses]“ bedeutet.
  • Wie hier verwendet, bezieht sich ein AF-System auf das AF zusammen mit der Anordnung von Hardware, Software, gespeicherten Daten und in Echtzeit erzeugten Daten, die den Betrieb des AF unterstützen. In einer Ausführungsform ist das AF-System in das AF integriert. In einer Ausführungsform ist das AF-System über mehrere Orte verteilt. Zum Beispiel ist ein Teil der Software des AF-Systems auf einer Cloud-Rechenumgebung implementiert, ähnlich der Cloud-Rechenumgebung 300, die im Folgenden mit Bezug auf 3 beschrieben wird.
  • Allgemein beschreibt dieses Dokument Technologien, die auf alle Fahrzeuge anwendbar sind, die über eine oder mehrere autonome Fähigkeiten verfügen, einschließlich vollständig autonomer Fahrzeuge, hochgradig autonomer Fahrzeuge und bedingt autonomer Fahrzeuge, wie z. B. sogenannte Stufe-5-, Stufe-4- und Stufe-3-Fahrzeuge (siehe SAE International Standard J3016: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems (Taxonomie und Definitionen für Begriffe im Zusammenhang mit automatischen Straßen-Kraftfahrzeug-Fahrsystemen), die durch Verweis in ihrer Gesamtheit übernommen wurde, für weitere Einzelheiten über die Klassifizierung von Autonomiegraden in Fahrzeugen). Die in diesem Dokument beschriebenen Technologien sind auch auf teilautonome Fahrzeuge und fahrerunterstützte Fahrzeuge anwendbar, wie z. B. sogenannte Stufe-2- und Stufe-1-Fahrzeuge (siehe SAE International's Standard J3016: Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems (Taxonomie und Definitionen für Begriffe im Zusammenhang mit automatisierten Straßen-Kraftfahrzeug-Fahrsystemen)). In einer Ausführungsform können eines oder mehrere der Fahrzeugsysteme der Stufen 1, 2, 3, 4 und 5 unter bestimmten Betriebsbedingungen basierend auf dem Verarbeiten von Sensoreingaben bestimmte Fahrzeugfunktionen (z B. Lenken, Bremsen und Verwenden von Karten) automatisieren. Die in diesem Dokument beschriebenen Technologien können Fahrzeugen auf allen Stufen zugute kommen, von vollständig autonomen Fahrzeugen bis hin zu durch Menschen betriebenen Fahrzeugen.
  • Mit Bezug auf 1 betreibt ein AF-System 120 das AF-System 100 entlang einer Bewegungsbahn 198 durch eine Umgebung 190 bis zu einem Zielort 199 (mitunter auch als Endort bezeichnet), wobei Objekte (z. B. natürliche Hindernisse 191, Fahrzeuge 193, Fußgänger 192, Radfahrer und andere Hindernisse) vermieden und Straßenregeln (z. B. Betriebsregeln oder Fahrpräferenzen) befolgt werden.
  • In einer Ausführungsform beinhaltet das AF-System 120 Vorrichtungen 101, die dazu eingerichtet sind, Betriebsbefehle aus den Computerprozessoren 146 zu empfangen und darauf zu reagieren. In einer Ausführungsform ähneln die Computerprozessoren 146 dem nachfolgend mit Bezug auf 3 beschriebenen Prozessor 304. Beispiele für Vorrichtungen 101 beinhalten eine Lenksteuerung 102, Bremsen 103, Gangschaltung, Gaspedal oder andere Beschleunigungssteuerungsmechanismen, Scheibenwischer, Seitentürschlösser, Fenstersteuervorrichtungen und Blinker.
  • In einer Ausführungsform umfasst das AF-System 120 Sensoren 121 zur Messung oder Ableitung von Zuständen oder Bedingungen des AF 100, wie z. B. die Position des AF, die Lineargeschwindigkeit und -beschleunigung, die Winkelgeschwindigkeit und -beschleunigung und die Fahrtrichtung (z. B. eine Ausrichtung des vorderen Endes des AF 100). Beispiele für Sensoren 121 sind GNSS, Trägheitsmesseinheiten (IMU), die sowohl lineare Fahrzeugbeschleunigungen als auch Winkelbeschleunigungen messen, Raddrehzahlsensoren zum Messen oder Schätzen von Radschlupfverhältnissen, Radbremsdruck- oder Bremsmomentsensoren, Motordrehmoment- oder Raddrehmomentsensoren sowie Lenkwinkel- und Winkelgeschwindigkeitssensoren.
  • In einer Ausführungsform umfassen die Sensoren 121 auch Sensoren zum Erfassen oder Messen von Eigenschaften der Umgebung des AF. Zum Beispiel Monokular- oder Stereo-Videokameras 122 im sichtbaren Licht-, Infrarot- oder Wärmespektrum (oder beiden Spektren), LiDAR 123, RADAR, Ultraschallsensoren, Time-of-Flight(TOF)-Tiefensensoren, Geschwindigkeitssensoren, Temperatursensoren, Feuchtigkeitssensoren und Niederschlagssensoren.
  • In einer Ausführungsform umfasst das AF-System 120 eine Datenspeichereinheit 142 und einen Speicher 144 zum Speichern von Maschinenanweisungen im Zusammenhang mit Computerprozessoren 146 oder durch Sensoren 121 gesammelten Daten. In einer Ausführungsform ähnelt die Datenspeichereinheit 142 dem ROM 308 oder der Speichervorrichtung 310, die nachfolgend mit Bezug auf 3 beschrieben werden. In einer Ausführungsform ähnelt der Speicher 144 dem nachfolgend beschriebenen Hauptspeicher 306. In einer Ausführungsform speichern die Datenspeichereinheit 142 und der Speicher 144 historische, Echtzeit- und/oder vorausschauende Informationen über die Umgebung 190. In einer Ausführungsform umfassen die gespeicherten Informationen Karten, Fahrleistungen, Aktualisierungen zu Verkehrsstaus oder Wetterbedingungen. In einer Ausführungsform werden Daten, die sich auf die Umgebung 190 beziehen, über einen Kommunikationskanal aus einer entfernt gelegenen Datenbank 134 an das AF 100 übertragen.
  • In einer Ausführungsform umfasst das AF-System 120 Kommunikationsvorrichtungen 140 zum Übermitteln gemessener oder abgeleiteter Eigenschaften von Zuständen und Bedingungen anderer Fahrzeuge, wie z. B. Positionen, Linear- und Winkelgeschwindigkeiten, Linear- und Winkelbeschleunigungen sowie Linear- und Winkelfahrtrichtungen an das AF-System 100. Diese Vorrichtungen umfassen 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 optische Kommunikation) oder andere Medien (z. B. Luft- und akustische Medien). Eine Kombination von Fahrzeug-zu-Fahrzeug(V2V)-Kommunikation, Fahrzeug-zu-Infrastruktur(V2I)-Kommunikation (und in einer Ausführungsform eine oder mehrere andere Kommunikationsarten) wird mitunter als Fahrzeugzu-alles (V2X)-Kommunikation bezeichnet. Die V2X-Kommunikation entspricht in der Regel einem oder mehreren Kommunikationsstandards für die Kommunikation mit, zwischen und unter autonomen Fahrzeugen.
  • In einer Ausführungsform umfassen die Kommunikationsvorrichtungen 140 Kommunikationsschnittstellen. Zum Beispiel drahtgebundene, drahtlose, WiMAX-, Wi-Fi-, Bluetooth-, Satelliten-, Zellular-, optische, Nahfeld-, Infrarot- oder Funkschnittstellen. Die Kommunikationsschnittstellen übertragen Daten aus einer entfernt gelegenen Datenbank 134 an das AF-System 120. In einer Ausführungsform ist die entfernt gelegene Datenbank 134 wie in 2 beschrieben in eine Cloud-Rechenumgebung 200 eingebettet. Die Kommunikationsschnittstellen 140 übertragen die aus den Sensoren 121 gesammelten Daten oder andere Daten, die sich auf den Betrieb des AF 100 beziehen, an die entfernt gelegene Datenbank 134. In einer Ausführungsform übertragen die Kommunikationsschnittstellen 140 Informationen, die sich auf Teleoperationen beziehen, an das AF 100. In einer Ausführungsform kommuniziert das AF 100 mit anderen entfernten (z. B. „Cloud“-) Servern 136.
  • In einer Ausführungsform speichert und überträgt die entfernte Datenbank 134 auch digitale Daten (z. B. Speichern von Daten wie Straßen- und Wegorte). Diese Daten werden im Speicher 144 des AF 100 gespeichert oder über einen Kommunikationskanal aus der entfernten Datenbank 134 an das AF 100 übertragen.
  • In einer Ausführungsform speichert und überträgt die entfernte Datenbank 134 historische Informationen über Fahreigenschaften (z. B. Geschwindigkeits- und Beschleunigungsprofile) von Fahrzeugen, die zuvor zu ähnlichen Tageszeiten entlang der Bewegungsbahn 198 gefahren sind. In einer Ausführungsform können diese Daten im Speicher 144 des AF 100 gespeichert oder über einen Kommunikationskanal aus der entfernten Datenbank 134 an das AF 100 übertragen werden.
  • Die im AF 100 befindlichen Rechenvorrichtungen 146 erzeugen auf algorithmische Weise Steueraktionen, die sowohl auf Echtzeit-Sensordaten als auch auf vorherigen Informationen basieren, sodass das AF-System 120 seine autonomen Fahrfähigkeiten ausführen kann.
  • In einer Ausführungsform umfasst das AF-System 120 Computerperipherievorrichtungen 132, die mit Rechenvorrichtungen 146 gekoppelt sind, um Informationen und Warnungen an einen Benutzer (z. B. einen Insassen oder einen entfernten Benutzer) des AF 100 zu liefern und Eingaben von diesem zu empfangen. In einer Ausführungsform ähneln die Peripherievorrichtungen 132 der Anzeige 312, der Eingabevorrichtung 314 und der Cursorsteuervorrichtung 316, die nachfolgend mit Bezug auf 3 behandelt werden. Die Kopplung erfolgt drahtlos oder drahtgebunden. Zwei oder mehrere der Schnittstellenvorrichtungen können zu einer einzelnen Vorrichtung integriert sein.
  • Beispielfür eine Cloud-Rechenumgebung
  • 2 zeigt ein Beispiel für eine „Cloud“-Rechenumgebung. Cloud Computing ist ein Modell zum Bereitstellen von Diensten, das einen komfortablen, bedarfsgerechten Netzwerkzugang zu einem gemeinsam genutzten Bestand konfigurierbarer Rechenressourcen (z. B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Speicher, Anwendungen, virtuelle Maschinen und Dienste) ermöglicht. In typischen Cloud-Rechensystemen sind in einem oder mehreren großen Cloud-Rechenzentren die Rechner untergebracht, die zum Erbringen der durch die Cloud bereitgestellten Dienste verwendet werden. Mit Bezug auf 2 umfasst die Cloud-Rechenumgebung 200 Cloud-Rechenzentren 204a, 204b und 204c, die über die Cloud 202 miteinander verbunden sind. Die Rechenzentren 204a, 204b und 204c bieten Cloud-Rechendienste für die mit der Cloud 202 verbundenen Computersysteme 206a, 206b, 206c, 206d, 206e und 206f.
  • Die Cloud-Rechenumgebung 200 umfasst ein oder mehrere Cloud-Rechenzentren. Allgemein bezieht sich ein Cloud-Rechenzentrum, z. B. das in 2 dargestellte Cloud-Rechenzentrum 204a, auf die physische Anordnung von Servern, die eine Cloud, z. B. die in 2 dargestellte Cloud 202, oder einen bestimmten Abschnitt einer Cloud bilden. Beispielsweise sind die Server physisch im Cloud-Rechenzentrum in Räumen, Gruppen, Reihen und Racks angeordnet. Ein Cloud-Rechenzentrum hat eine oder mehrere Zonen, die einen oder mehrere Räume mit Servern umfassen. Jeder Raum hat eine oder mehrere Reihen von Servern, und jede Reihe umfasst ein oder mehrere Racks. Jedes Rack umfasst einen oder mehrere einzelne Serverknoten. In einigen Ausführungen sind Server in Zonen, Räumen, Racks und/oder Reihen basierend auf den physischen Infrastrukturanforderungen der Rechenzentrumseinrichtung, die Strom, Energie, Heizung, Wärme und/oder andere Anforderungen umfassen, in Gruppen angeordnet. In einer Ausführungsform ähneln die Serverknoten dem in 3 beschriebenen Computersystem. Das Rechenzentrum 204a weist viele Rechensysteme auf, die über viele Racks verteilt sind.
  • Die Cloud 202 umfasst die Cloud-Rechenzentren 204a, 204b und 204c sowie die Netzwerk- und Netzwerkressourcen (z. B. Netzwerkgeräte, Knoten, Router, Switches und Netzwerkkabel), die die Cloud-Rechenzentren 204a, 204b und 204c miteinander verbinden und dazu beitragen, den Zugang der Computersysteme 206a-f zu den Cloud-Rechendiensten zu ermöglichen. In einer Ausführungsform stellt das Netzwerk eine Kombination aus einem oder mehreren lokalen Netzwerken, Weitverkehrsnetzwerken oder Internetnetzwerken dar, die über drahtgebundene oder drahtlose Verbindungen mittels terrestrischer oder satellitengestützter Verbindungstechnik gekoppelt sind. Daten, die über das Netzwerk ausgetauscht werden, werden unter Verwendung einer Anzahl von Netzwerkschichtprotokollen übertragen, wie z. B. Internet Protocol (IP), Multiprotocol Label Switching (MPLS), Asynchronous Transfer Mode (ATM), Frame Relay, usw. Fernerhin werden in Ausführungsformen, in denen das Netzwerk eine Kombination aus mehreren Teilnetzwerken darstellt, in jedem der zugrunde liegenden Teilnetzwerke unterschiedliche Netzwerkschichtprotokolle verwendet. In einer Ausführungsform stellt das Netzwerk ein oder mehrere miteinander verbundene Internetnetzwerke dar, wie z. B. das öffentliche Internet.
  • Die Verbraucher der Rechensysteme 206a-f oder Cloud-Rechendienste sind über Netzwerkverbindungen und Netzwerkadapter mit der Cloud 202 verbunden. In einer Ausführungsform sind die Rechensysteme 206a-f als verschiedene Rechenvorrichtungen, z. B. Server, Desktops, Laptops, Tablets, Smartphones, Geräte für das Internet der Dinge (IoT), autonome Fahrzeuge (darunter Autos, Drohnen, Pendelfahrzeuge, Züge, Busse usw.) und Verbraucherelektronik, implementiert. In einer Ausführungsform sind die Rechensysteme 206a-f in oder als Bestandteil von anderen Systemen implementiert.
  • Computersystem
  • 3 zeigt ein Computersystem 300. In einer Implementierung ist das Computersystem 300 eine Spezialrechenvorrichtung. Die Spezialrechenvorrichtung ist fest verdrahtet, um die Techniken auszuführen, oder enthält digitale elektronische Vorrichtungen wie eine oder mehrere anwendungsspezifische integrierte Schaltungen (ASICs) oder feldprogrammierbare Gate-Arrays (FPGAs), die dauerhaft programmiert sind, um die Techniken auszuführen, oder kann einen oder mehrere Universal-Hardware-Prozessoren umfassen, die dazu programmiert sind, die Techniken gemäß Programmanweisungen in Firmware, Arbeitsspeicher, anderen Speichern oder einer Kombination davon auszuführen. Derartige Spezialcomputervorrichtungen können auch kundenspezifische fest verdrahtete Logik, ASICs oder FPGAs mit kundenspezifischer Programmierung kombinieren, um die Techniken zu erzielen. In verschiedenen Ausführungsformen sind die Spezialrechenvorrichtungen Desktop-Computersysteme, tragbare Computersysteme, Handgeräte, Netzwerkgeräte oder sonstige Vorrichtungen, die zur Implementierung der Techniken festverdrahtete und/oder programmgesteuerte Logik enthalten.
  • In einer Ausführungsform umfasst das Computersystem 300 einen Bus 302 oder einen anderen Kommunikationsmechanismus zum Übermitteln von Informationen und einen mit einem Bus 302 gekoppelten Hardwareprozessor 304 zum Verarbeiten von Informationen. Der Hardwareprozessor 304 ist zum Beispiel ein Allzweck-Mikroprozessor. Das Computersystem 300 umfasst auch einen Hauptspeicher 306, wie beispielsweise einen Direktzugriffsspeicher (RAM) oder eine andere dynamische Speichervorrichtung, die mit dem Bus 302 zum Speichern von Informationen und Anweisungen gekoppelt ist, die durch den Prozessor 304 ausgeführt werden sollen. In einer Ausführungsform wird der Hauptspeicher 306 zum Speichern von temporären Variablen oder anderen Zwischeninformationen während der Ausführung von Anweisungen durch den Prozessor 304 verwendet. Derartige in nicht-flüchtigen, für den Prozessor 304 zugänglichen Speichermedien gespeicherte Anweisungen machen aus dem Computersystem 300 eine Spezialmaschine, die auf das Ausführen der in den Anweisungen angegebenen Funktionen zugeschnitten ist.
  • In einer Ausführungsform umfasst das Computersystem 300 ferner einen Nur-LeseSpeicher (ROM) 308 oder eine andere statische Speichervorrichtung, die mit dem Bus 302 verbunden ist, um statische Informationen und Anweisungen für den Prozessor 304 zu speichern. Eine Speichervorrichtung 310, wie beispielsweise eine Magnetplatte, eine optische Platte, ein Solid-State-Laufwerk oder ein dreidimensionaler Kreuzpunktspeicher, ist vorhanden und mit dem Bus 302 zum Speichern von Informationen und Anweisungen gekoppelt.
  • In einer Ausführungsform ist das Computersystem 300 über den Bus 302 an ein Display 312, wie z. B. eine Kathodenstrahlröhre (CRT), ein Flüssigkristalldisplay (LCD), ein Plasmadisplay, ein Leuchtdioden(LED)-Display oder ein organisches Leuchtdioden(OLED)-Display, zum Anzeigen von Informationen für einen Computerbenutzer gekoppelt. Eine Eingabevorrichtung 314 mit alphanumerischen und anderen Tasten ist mit dem Bus 302 zum Übermitteln von Informationen und Befehlsauswahlen an den Prozessor 304 gekoppelt. Eine andere Art von Benutzereingabevorrichtung ist eine Cursorsteuervorrichtung 316, z. B. eine Maus, ein Trackball, ein berührungsempfindliches Display oder Cursorrichtungstasten zum Übermitteln von Richtungsinformationen und Befehlsauswahlen an den Prozessor 304 und zum Steuern der Cursorbewegung auf dem Display 312. Diese Eingabevorrichtung verfügt in der Regel über zwei Freiheitsgrade in zwei Achsen, eine erste Achse (z. B. x-Achse) und eine zweite Achse (z. B. y-Achse), mit denen die Vorrichtung Positionen in einer Ebene angeben kann.
  • Gemäß einer Ausführungsform werden die hier beschriebenen Techniken durch das Computersystem 300 in Reaktion darauf durchgeführt, dass der Prozessor 304 eine oder mehrere Sequenzen von einer oder mehreren Anweisungen ausführt, die im Hauptspeicher 306 enthalten sind. Derartige Anweisungen werden aus einem anderen Speichermedium, z. B. der Speichervorrichtung 310, in den Hauptspeicher 306 eingelesen. Die Ausführung der im Hauptspeicher 306 enthaltenen Anweisungssequenzen veranlasst den Prozessor 304, die hier beschriebenen Prozessschritte durchzuführen. In alternativen Ausführungsformen wird eine fest verdrahtete Schaltungsanordnung anstelle von oder in Kombination mit Softwareanweisungen verwendet.
  • Der Begriff „Speichermedium“. wie hier verwendet, betrifft alle nicht-flüchtigen Medien, die Daten und/oder Anweisungen speichern, die eine Maschine veranlassen, auf eine bestimmte Art und Weise zu arbeiten. Derartige Speichermedien umfassen nicht-flüchtige Medien und/oder flüchtige Medien. Nicht-flüchtige Medien umfassen z. B. optische Platten, Magnetplatten, Solid-State-Laufwerke oder dreidimensionale Kreuzpunktspeicher, wie z. B. die Speichervorrichtung 310. Flüchtige Medien umfassen dynamische Speicher, wie beispielsweise den Hauptspeicher 306. Übliche Formen von Speichermedien umfassen zum Beispiel eine Floppy-Disk, eine Diskette, eine Festplatte, ein Solid-State-Laufwerk, ein Magnetband oder jedes andere magnetische Datenspeichermedium, einen CD-ROM, ein beliebiges anderes optisches Datenspeichermedium, ein beliebiges physisches Medium mit Lochmustern, einen RAM, einen PROM und EPROM, einen FLASH-EPROM, NV-RAM, oder einen beliebigen anderen Speicherchip oder eine Speicherkassette.
  • Speichermedien unterscheiden sich von Übertragungsmedien, können aber zusammen mit diesen verwendet werden. Übertragungsmedien sind am Übertragen von Informationen zwischen Speichermedien beteiligt. Zum Beispiel umfassen Übertragungsmedien Koaxialkabel, Kupferdraht und Lichtwellenleiter, einschließlich der Leitungen, die den Bus 302 umfassen. Übertragungsmedien können auch die Form von akustischen Wellen oder Lichtwellen annehmen, wie etwa jene, die bei Funkwellen- und Infrarotdatenkommunikation erzeugt werden.
  • In einer Ausführungsform sind verschiedene Formen von Medien am Transportieren von einer oder mehreren Sequenzen von einer oder mehreren Anweisungen an den Prozessor 304 zur Ausführung beteiligt. Zum Beispiel werden die Anweisungen zuerst auf einer Magnetplatte oder einem Solid-State-Laufwerk eines entfernten Computers getragen. Der entfernte Computer lädt die Anweisungen in seinen dynamischen Speicher und sendet die Anweisungen unter Verwendung eines Modems über eine Telefonleitung. Ein am Computersystem 300 lokal vorhandenes Modem empfängt die Daten über die Telefonleitung und verwendet einen Infrarotsender, um die Daten in ein Infrarotsignal umzuwandeln. Ein Infrarotdetektor empfängt die in dem Infrarotsignal transportierten Daten, und eine entsprechende Schaltungsanordnung stellt die Daten auf den Bus 302. Der Bus 302 transportiert die Daten an den Hauptspeicher 306, aus dem der Prozessor 304 die Anweisungen abruft und ausführt. Die durch den Hauptspeicher 306 empfangenen Anweisungen können gegebenenfalls entweder vor oder nach dem Ausführen durch den Prozessor 304 auf der Speichervorrichtung 310 gespeichert werden.
  • Das Computersystem 300 umfasst auch eine Kommunikationsschnittstelle 318, die mit dem Bus 302 gekoppelt ist. Die Kommunikationsschnittstelle 318 stellt eine bidirektionale Datenkommunikationskopplung mit einer Netzwerkverbindung 320 bereit, die mit einem lokalen Netzwerk 322 verbunden ist. Die Kommunikationsschnittstelle 318 ist zum Beispiel eine Integrated Services Digital Network(ISDN)-Karte, ein Kabelmodem, Satellitenmoden oder ein Modem zum Bereitstellen einer Datenkommunikationsverbindung mit einem entsprechenden Typ einer Telefonleitung. Als weiteres Beispiel ist die Kommunikationsschnittstelle 318 eine Karte eines lokalen Netzwerks (LAN), um eine Datenkommunikationsverbindung zu einem kompatiblen LAN bereitzustellen. In einigen Implementierungen sind auch drahtlose Verbindungen implementiert. Bei jeder derartigen Implementierung sendet und empfängt die Kommunikationsschnittstelle 318 elektrische, elektromagnetische oder optische Signale, die digitale Datenströme transportieren, die verschiedene Arten von Informationen darstellen.
  • Die Netzwerkverbindung 320 stellt typischerweise eine Datenkommunikation über ein oder mehrere Netzwerke zu anderen Datenvorrichtungen bereit. Zum Beispiel stellt die Netzwerkverbindung 320 eine Verbindung durch das lokale Netzwerk 322 zu einem Hostcomputer 324 oder zu einem Cloud-Rechenzentrum oder Geräten bereit, die durch einen Internetdienstanbieter (ISP) 326 betrieben werden. Der ISP 326 stellt wiederum Datenkommunikationsdienste über das weltweite paketorientierte Datenkommunikationsnetzwerk bereit, das jetzt allgemein als das „Internet“ 328 bezeichnet wird. Sowohl das lokale Netzwerk 322 als auch das Internet 328 verwenden elektrische, elektromagnetische oder optische Signale, die digitale Datenströme transportieren. Die Signale über die verschiedenen Netzwerke und die Signale auf der Netzwerkverbindung 320 und über die Kommunikationsschnittstelle 318, die die digitalen Daten an das und aus dem Computersystem 300 transportieren, sind Beispielformen von Übertragungsmedien. In einer Ausführungsform enthält 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/die Netzwerk(e), die Netzwerkverbindung 320 und die Kommunikationsschnittstelle 318. In einer Ausführungsform empfängt das Computersystem 300 einen Code zum Verarbeiten. Der empfangene Code wird sofort beim Empfang durch den Prozessor 304 ausgeführt und/oder auf der Speichervorrichtung 310 oder einem anderen nicht-flüchtigen Speicher zum späteren Ausführen gespeichert.
  • Architektur autonomer Fahrzeuge
  • 4 zeigt eine Beispielarchitektur 400 für ein autonomes Fahrzeug (z. B. das in 1 gezeigte AF 100). Die Architektur 400 umfasst ein Wahrnehmungsmodul 402 (mitunter als Wahrnehmungsschaltung bezeichnet), ein Planungsmodul 404 (mitunter als Planungsschaltung bezeichnet), ein Steuermodul 406 (mitunter als Steuerschaltung bezeichnet), ein Lokalisierungsmodul 408 (mitunter als Lokalisierungsschaltung bezeichnet) und ein Datenbankmodul 410 (mitunter als Datenbankschaltung bezeichnet). Jedes Modul spielt eine Rolle beim Betrieb des AF 100. Die Module 402, 404, 406, 408 und 410 können zusammen Bestandteil des in 1 gezeigten AF-Systems 120 sein. In einer Ausführungsform sind die Module 402, 404, 406, 408 und 410 eine Kombination aus Computersoftware (z. B. ausführbarer Code, der auf einem computerlesbaren Medium gespeichert ist) und Computerhardware (z. B. ein oder mehrere Mikroprozessoren, Mikrocontroller, anwendungsspezifische integrierte Schaltungen [ASICs], Hardware-Speichervorrichtungen, andere Arten von integrierten Schaltungen, andere Arten von Computerhardware oder eine Kombination von einem oder allen dieser Dinge).
  • Beim Betrieb empfängt das Planungsmodul 404 Daten, die einen Zielort 412 darstellen, und ermittelt Daten, die eine Bewegungsbahn 414 (mitunter auch als Route bezeichnet) darstellen, die durch das AF 100 gefahren werden kann, um den Zielort 412 zu erreichen (z. B. am Zielort anzukommen). Damit das Planungsmodul 404 die die Bewegungsbahn 414 repräsentierenden Daten bestimmen kann, empfängt das Planungsmodul 404 Daten aus dem Wahrnehmungsmodul 402, dem Lokalisierungsmodul 408 und dem Datenbankmodul 410.
  • Das Wahrnehmungsmodul 402 identifiziert nahegelegene physische Objekte mittels eines oder mehrerer Sensoren 121, z. B. wie ebenfalls in 1 dargestellt. Die Objekte werden klassifiziert (z. B. gruppiert in Arten wie Fußgänger, Fahrrad, Kraftfahrzeug, Verkehrszeichen usw.), und eine Szeneriebeschreibung einschließlich der klassifizierten Objekte 416 wird dem Planungsmodul 404 zur Verfügung gestellt.
  • Das Planungsmodul 404 empfängt auch Daten, die die AF-Position 418 repräsentieren, aus dem Lokalisierungsmodul 408. Das Lokalisierungsmodul 408 bestimmt die AF-Position unter Verwendung von Daten aus den Sensoren 121 und Daten aus dem Datenbankmodul 410 (z. B. geografische Daten), um eine Position zu berechnen. Zum Beispiel verwendet das Lokalisierungsmodul 408 Daten aus einem GNSS(Globales Navigationssatellitensystem)-Sensor und geografische Daten, um einen Längen- und Breitengrad des AF zu berechnen. In einer Ausführungsform umfassen die durch das Lokalisierungsmodul 408 verwendeten Daten hochpräzise Karten der geometrischen Eigenschaften der Fahrwege, Karten, die die Verbindungseigenschaften des Straßennetzes beschreiben, Karten, die die physischen Eigenschaften der Straßen beschreiben (wie z. B. die Verkehrsgeschwindigkeit, das Verkehrsaufkommen, die Anzahl der Fahrstreifen für den Auto- und Fahrradverkehr, die Fahrstreifenbreite, die Fahrstreifenrichtungen oder die Arten und Orte von Fahrstreifenmarkierungen oder Kombinationen davon), und Karten, die die räumliche Lage von Straßenmerkmalen wie Fußgängerüberwegen, Verkehrsschildern oder anderen Verkehrssignalen verschiedener Arten beschreiben.
  • Das Steuermodul 406 empfängt die Daten der Bewegungsbahn 414 und die Daten der AF-Position 418 und führt die Steuerfunktionen 420a-c (z. B. Lenken, Drosselklappenbetätigung, Bremsen, Zündung) des AF so aus, dass das AF 100 auf der Bewegungsbahn 414 bis zum Zielort 412 fährt. Falls z. B. die Bewegungsbahn 414 eine Linkskurve enthält, führt das Steuermodul 406 die Steuerfunktionen 420a-c so aus, dass der Lenkwinkel der Lenkfunktion das AF 100 zum Linksabbiegen veranlasst und das Betätigen der Drosselklappe und Bremsen das AF 100 zum Anhalten und Warten auf passierende Fußgänger oder entgegenkommende Fahrzeuge veranlasst, bevor das Abbiegen durchgeführt wird.
  • Eingaben autonomer Fahrzeuge
  • 5 zeigt ein Beispiel für die Eingaben 502a-d (z. B. Sensoren 121 in 1) und Ausgaben 504a-d (z. B. Sensordaten), die durch das Wahrnehmungsmodul 402 (4) verwendet werden. Eine Eingabe 502a ist ein LiDAR(„Light Detection and Ranging“)-System (z. B. LiDAR 123 wie in 1 gezeigt). LiDAR ist eine Technologie, die Licht (z. B. Lichtblitze wie Infrarotlicht) verwendet, um Daten über physische Objekte in Sichtlinie zu erhalten. Ein LiDAR-System erzeugt LiDAR-Daten als Ausgabe 504a. LiDAR-Daten sind beispielsweise Sammlungen von 3D- oder 2D-Punkten (auch als Punktwolken bekannt), die zur Konstruktion einer Darstellung der Umgebung 190 verwendet werden.
  • Eine weitere Eingabe 502b ist ein RADAR-System. RADAR ist eine Technologie, die Funkwellen verwendet, um Daten über nahe gelegene physische Objekte zu erhalten. RADAR-Systeme können Daten über Objekte erhalten, die sich nicht in Sichtlinie eines LiDAR-Systems befinden. Ein RADAR-System 502b erzeugt RADAR-Daten als Ausgabe 504b. Zum Beispiel sind RADAR-Daten ein oder mehrere elektromagnetische Hochfrequenzsignale, die zur Konstruktion einer Darstellung der Umgebung 190 verwendet werden.
  • Eine weitere Eingabe 502c ist ein Kamerasystem. Ein Kamerasystem verwendet eine oder mehrere Kameras (z. B. Digitalkameras, die einen Lichtsensor wie ein ladungsgekoppeltes Bauelement [CCD] verwenden), um Informationen über nahe gelegene physische Objekte zu erhalten. Ein Kamerasystem erzeugt Kameradaten als Ausgabe 504c. Kameradaten liegen häufig in Form von Bilddaten vor (z. B. Daten in einem Bilddatenformat wie RAW, JPEG, PNG usw.). In einigen Beispielen verfügt das Kamerasystem über mehrere unabhängige Kameras, z. B. zwecks Stereopsis (Stereosehen), wodurch das Kamerasystem in der Lage ist, die Tiefe wahrzunehmen. Obwohl die durch das Kamerasystem wahrgenommenen Objekte hier als „nahe“ beschrieben werden, gilt dies relativ zum AF. Beim Betrieb kann das Kamerasystem dazu ausgelegt sein, weit entfernte Objekte zu „sehen“, z. B. bis zu einem Kilometer oder mehr vor dem AF. Dementsprechend kann das Kamerasystem über Merkmale wie Sensoren und Objektive verfügen, die für die Wahrnehmung weit entfernter Objekte optimiert sind.
  • Eine weitere Eingabe 502d ist ein Ampelerkennungs(AE)-System. Ein AE-System verwendet eine oder mehrere Kameras, um Informationen über Ampeln, Straßenschilder und andere physische Objekte zu erhalten, die visuelle Betriebsinformationen liefern. Ein AE-System erzeugt AE-Daten als Ausgabe 504d. AE-Daten liegen häufig in Form von Bilddaten vor (z. B. Daten in einem Bilddatenformat wie RAW, JPEG, PNG usw.). Ein AE-System unterscheidet sich von einem System mit einer Kamera dadurch, dass bei einem AE-System eine Kamera mit weitem Sichtfeld (z. B. mit einem Weitwinkelobjektiv oder einem Fischaugenobjektiv) verwendet wird, um Informationen über möglichst viele physische Objekte zu liefern, die visuelle Betriebsinformationen bereitstellen, sodass das AF 100 Zugriff auf alle relevanten Betriebsinformationen hat, die durch diese Objekte bereitgestellt werden. Beispielsweise kann der Sichtwinkel des AE-Systems ca. 120 Grad oder mehr betragen.
  • In einer Ausführungsform werden die Ausgaben 504a-d mittels einer Sensorfusionstechnik kombiniert. So werden entweder die einzelnen Ausgaben 504a-d anderen Systemen des AF 100 (z. B. einem Planungsmodul 404 wie in 4 dargestellt) zur Verfügung gestellt, oder die kombinierte Ausgabe kann den anderen Systemen entweder in Form einer einzelnen kombinierten Ausgabe oder mehrerer kombinierter Ausgaben derselben Art (z. B. unter Verwendung derselben Kombinationstechnik oder Kombination derselben Ausgaben oder beides) oder unterschiedlicher Arten (z. B. unter Verwendung jeweils unterschiedlicher Kombinationstechniken oder Kombination jeweils unterschiedlicher Ausgaben oder beides) zur Verfügung gestellt werden. In einer Ausführungsform wird eine frühzeitige Fusionstechnik verwendet. Eine frühzeitige Fusionstechnik zeichnet sich dadurch aus, dass die Ausgaben kombiniert werden, bevor ein oder mehrere Datenverarbeitungsschritte auf die kombinierte Ausgabe angewendet werden. In einer Ausführungsform wird eine späte Fusionstechnik verwendet. Eine späte Fusionstechnik zeichnet sich dadurch aus, dass die Ausgaben kombiniert werden, nachdem ein oder mehrere Datenverarbeitungsschritte auf die einzelnen Ausgaben angewendet wurden.
  • 6 zeigt ein Beispiel für ein LiDAR-System 602 (z. B. die in 5 gezeigte Eingabe 502a). Das LiDAR-System 602 emittiert Licht 604a-c aus einem Lichtemitter 606 (z. B. einem Laseremitter). Das durch ein LiDAR-System emittierte Licht liegt in der Regel nicht im sichtbaren Spektrum; beispielsweise wird häufig Infrarotlicht verwendet. Ein Teil des emittierten Lichts 604b trifft auf ein physisches Objekt 608 (z. B. ein Fahrzeug) und wird zurück zum LiDAR-System 602 reflektiert. (Das durch ein LiDAR-System emittierte Licht durchdringt normalerweise keine physischen Objekte, z. B. physische Objekte in fester Form.) Das LiDAR-System 602 verfügt auch über einen oder mehrere Lichtdetektoren 610, die das reflektierte Licht detektieren. In einer Ausführungsform erzeugen ein oder mehrere dem LiDAR-System zugeordnete Datenverarbeitungssysteme ein Bild 612, das das Sichtfeld 614 des LiDAR-Systems darstellt. Das Bild 612 enthält Informationen, die die Begrenzungen 616 eines physischen Objekts 608 repräsentieren. Auf diese Weise wird das Bild 612 verwendet, um die Begrenzungen 616 eines oder mehrerer physischer Objekte in der Nähe eines AF zu bestimmen.
  • 7 zeigt das LiDAR-System 602 im Betrieb. In dem in dieser Figur dargestellten Szenario empfängt das AF 100 sowohl die Kamerasystemausgabe 504c in Form eines Bildes 702 als auch die LiDAR-Systemausgabe 504a in Form von LiDAR-Datenpunkten 704. Beim Betrieb vergleicht das Datenverarbeitungssystem des AF 100 das Bild 702 mit den Datenpunkten 704. Insbesondere wird ein im Bild 702 identifiziertes physisches Objekt 706 ebenfalls unter den Datenpunkten 704 identifiziert. Auf diese Weise nimmt das AF 100 die Begrenzungen des physischen Objekts anhand der Kontur und Dichte der Datenpunkte 704 wahr.
  • 8 zeigt die Funktionsweise des LiDAR-Systems 602 mit zusätzlichen Details. Wie oben beschrieben, erkennt das AF 100 die Begrenzung eines physischen Objekts anhand der Merkmale der durch das LiDAR-System 602 erfassten Datenpunkte. Wie in 8 gezeigt, reflektiert ein ebenes Objekt, wie z. B. der Boden 802, das durch ein LiDAR-System 602 emittierte Licht 804a-d auf konsistente Weise. Anders ausgedrückt, da das LiDAR-System 602 Licht in gleichmäßigen Abständen emittiert, reflektiert der Boden 802 das Licht mit dem gleichen konsistenten Abstand zum LiDAR-System 602 zurück. Während sich das AF 100 über den Boden 802 bewegt, erkennt das LiDAR-System 602 weiterhin das durch den nächsten gültigen Bodenpunkt 806 reflektierte Licht, falls nichts die Straße versperrt. Falls jedoch ein Objekt 808 die Straße versperrt, wird das durch das LiDAR-System 602 emittierte Licht 804e-f von den Punkten 810a-b in einer Weise reflektiert, die nicht mit der erwarteten Gleichmäßigkeit übereinstimmt. Aus diesen Informationen kann das AF 100 bestimmen, dass das Objekt 808 vorhanden ist.
  • Wegplanung
  • 9 zeigt in einem Blockdiagramm 900 die Zusammenhänge zwischen Ein- und Ausgaben eines Planungsmoduls 404 (z. B. wie in 4 gezeigt). Allgemein ist die Ausgabe eines Planungsmoduls 404 eine Route 902 aus einem Startpunkt 904 (z. B. Quellort oder Anfangsort) und einem Endpunkt 906 (z. B. Ziel- oder Endort). Die Route 902 ist in der Regel durch ein oder mehrere Segmente definiert. Ein Segment ist zum Beispiel eine Entfernung, die mindestens über einen Abschnitt einer Straße, einer Landstraße, einer Autobahn, einer Einfahrt oder eines anderen für den Autoverkehr geeigneten physischen Bereichs zurückzulegen ist. In einigen Beispielen, z. B. falls das AF 100 ein geländegängiges Fahrzeug wie z. B. ein vierradgetriebener (4WD) oder allradgetriebener (AWD) PKW, SUV, Lieferwagen o. ä. ist, umfasst die Route 902 „geländegängige“ Segmente wie unbefestigte Wege oder offene Felder.
  • Zusätzlich zur Route 902 gibt ein Planungsmodul auch Daten zur Routenplanung auf Fahrstreifenebene 908 aus. Die Routenplanungsdaten auf Fahrstreifenebene 908 werden verwendet, um Segmente der Route 902 basierend auf den Bedingungen des Segments zu einem bestimmten Zeitpunkt zu durchfahren. Falls die Route 902 beispielsweise eine Autobahn mit mehreren Fahrstreifen umfasst, enthalten die Routenplanungsdaten auf Fahrstreifenebene 908 die Bewegungsbahnplanungsdaten 910, die das AF 100 verwenden kann, um einen Fahrstreifen unter den mehreren Fahrstreifen auszuwählen, z. B. in Abhängigkeit davon, ob sich eine Ausfahrt nähert, ob eine oder mehrere der Fahrstreifen andere Fahrzeuge aufweisen oder aufgrund anderer Faktoren, die im Laufe weniger Minuten oder weniger variieren. In ähnlicher Weise enthalten in einigen Implementierungen die Routenplanungsdaten auf Fahrstreifenebene 908 auch Geschwindigkeitsbeschränkungen 912, die spezifisch für ein Segment der Route 902 gelten. Falls das Segment zum Beispiel Fußgänger oder unerwarteten Verkehr enthält, können die Geschwindigkeitsbeschränkungen 912 das AF 100 auf eine Fahrgeschwindigkeit beschränken, die langsamer als eine erwartete Geschwindigkeit ist, z. B. eine Geschwindigkeit, die auf den Geschwindigkeitsbegrenzungsdaten für das Segment basiert.
  • In einer Ausführungsform umfassen die Eingaben an das Planungsmodul 404 auch die Datenbankdaten 914 (z. B. aus dem in 4 dargestellten Datenbankmodul 410), die aktuellen Ortdaten 916 (z. B. die in 4 dargestellte AF-Position 418), die Zielortdaten 918 (z. B. für den in 4 dargestellten Zielort 412) und die Objektdaten 920 (z. B. die klassifizierten Objekte 416, die durch das Wahrnehmungsmodul 402 wahrgenommen werden, wie in 4 gezeigt). In einer Ausführungsform enthalten die Datenbankdaten 914 Regeln, die bei der Planung verwendet werden. Regeln werden durch eine formale Sprache spezifiziert, z. B. durch boolesche Logik. In jeder Situation, in der sich das AF 100 befindet, sind mindestens einige der Regeln auf die Situation anwendbar. Eine Regel gilt für eine gegebene Situation, falls die Regel Bedingungen enthält, die basierend auf den dem AF 100 zur Verfügung stehenden Informationen, z. B. Informationen über die Umgebung, erfüllt sind. Regeln können eine Priorität aufweisen. Beispielsweise kann eine Regel, die besagt: „Falls die Straße eine Autobahn ist, auf den äußerst linken Fahrstreifen wechseln“, eine niedrigere Priorität als „Falls die Ausfahrt sich innerhalb von 2 Kilometern nähert, auf den äußerst rechten Fahrstreifen wechseln“ haben.
  • 10 zeigt einen gerichteten Graphen 1000, der bei der Wegplanung z. B. durch das Planungsmodul 404 verwendet wird (4). Allgemein wird ein gerichteter Graph 1000 wie der in 10 gezeigte verwendet, um einen Weg zwischen einem beliebigen Startpunkt 1002 und Endpunkt 1004 zu bestimmen. In der Praxis kann die Entfernung zwischen dem Startpunkt 1002 und dem Endpunkt 1004 relativ groß (z. B. in zwei verschiedenen Ballungsgebieten) oder relativ klein (z. B. zwei Einmündungen, die an einen Stadtblock angrenzen oder zwei Fahrstreifen einer Straße mit mehreren Fahrstreifen) sein.
  • In einer Ausführungsform hat der gerichtete Graph 1000 Knoten 1006a-d, die verschiedene Orte zwischen dem Startpunkt 1002 und dem Endpunkt 1004 darstellen, die durch ein AF 100 belegt werden könnten. In einigen Beispielen, z. B. wenn der Startpunkt 1002 und der Endpunkt 1004 verschiedene Ballungsräume darstellen, stellen die Knoten 1006a-d Straßensegmente dar. In einigen Beispielen, z. B. wenn der Startpunkt 1002 und der Endpunkt 1004 verschiedene Orte auf derselben Straße darstellen, stellen die Knoten 1006a-d verschiedene Positionen auf dieser Straße dar. Auf diese Weise enthält der gerichtete Graph 1000 Informationen in unterschiedlicher Granularität. In einer Ausführungsform ist ein gerichteter Graph mit hoher Granularität auch ein Teilgraph eines anderen gerichteten Graphen mit einem größeren Maßstab. Zum Beispiel hat ein gerichteter Graph, bei dem der Startpunkt 1002 und der Endpunkt 1004 weit entfernt sind (z. B. viele Kilometer auseinander liegend), die meisten seiner Informationen in einer niedrigen Granularität und basiert auf gespeicherten Daten, enthält aber auch einige Informationen mit hoher Granularität für den Abschnitt des Graphen, der physische Orte im Sichtfeld des AF 100 darstellt.
  • Die Knoten 1006a-d unterscheiden sich von Objekten 1008a-b, die sich nicht mit einem Knoten überlappen können. In einer Ausführungsform, wenn die Granularität gering ist, stellen die Objekte 1008a-b Regionen dar, die nicht mit dem Auto befahren werden können, z. B. Gebiete, die keine Straßen oder Wege aufweisen. Bei hoher Granularität stellen die Objekte 1008a-b physische Objekte im Sichtfeld des AF 100 dar, z. B. andere Kraftfahrzeuge, Fußgänger oder andere Objekte, mit denen das AF 100 den physischen Raum nicht teilen kann. In einer Ausführungsform sind einige oder alle der Objekte 1008a-b statische Objekte (z. B. ein Objekt, das seine Position nicht ändert, wie eine Straßenlampe oder ein Strommast) oder dynamische Objekte (z. B. ein Objekt, das seine Position ändern kann, wie ein Fußgänger oder ein anderes Kraftfahrzeug).
  • Die Knoten 1006a-d sind durch die Kanten 1010a-c verbunden. Falls zwei Knoten 1006a-b durch eine Kante 1010a verbunden sind, ist es möglich, dass ein AF 100 zwischen dem einen Knoten 1006a und dem anderen Knoten 1006b fahren kann, z. B. ohne zu einem Zwischenknoten fahren zu müssen, bevor es am anderen Knoten 1006b ankommt. (Wenn wir von einem zwischen Knoten fahrenden AF 100 sprechen, meinen wir, dass sich das AF 100 zwischen den beiden physischen Positionen bewegt, die durch die jeweiligen Knoten dargestellt werden.) Die Kanten 1010a-c sind oft bidirektional, in dem Sinne, dass ein AF 100 von einem ersten Knoten zu einem zweiten Knoten oder vom zweiten Knoten zum ersten Knoten fährt. In einer Ausführungsform sind die Kanten 1010a-c unidirektional, in dem Sinne, dass ein AF 100 von einem ersten Knoten zu einem zweiten Knoten fahren kann, das AF 100 jedoch nicht vom zweiten Knoten zum ersten Knoten fahren kann. Die Kanten 1010a-c sind unidirektional, wenn sie z. B. Einbahnstraßen, einzelne Fahrstreifen einer Straße, eines Weges oder einer Landstraße oder andere Merkmale darstellen, die aufgrund rechtlicher oder physischer Beschränkungen nur in einer Richtung befahren werden können.
  • In einer Ausführungsform verwendet das Planungsmodul 404 den gerichteten Graphen 1000 zum Identifizieren eines Weges 1012, der aus Knoten und Kanten zwischen dem Startpunkt 1002 und dem Endpunkt 1004 besteht.
  • Eine Kante 1010a-c ist einem Aufwand 1014a-b zugeordnet. Der Kostenwert 1014a-b ist ein Wert, der die Ressourcen darstellt, die aufgewendet werden, falls das AF 100 diese Kante auswählt. Eine typische Ressource ist die Zeit. Falls zum Beispiel eine Kante 1010a eine physische Entfernung darstellt, die doppelt so groß wie die einer anderen Kante 1010b ist, kann der zugeordnete Kostenwert 1014a der ersten Kante 1010a doppelt so groß wie der zugeordnete Kostenwert 1014b der zweiten Kante 1010b sein. Andere Faktoren, die sich auf die Zeit auswirken, sind der erwartete Verkehr, die Anzahl der Einmündungen, Geschwindigkeitsbegrenzungen usw. Eine weitere typische Ressource ist der Kraftstoffverbrauch. Zwei Kanten 1010a-b können die gleiche physische Entfernung darstellen, aber eine Kante 1010a kann mehr Kraftstoff als eine andere Kante 1010b erfordern, z. B. aufgrund von Straßenbedingungen, voraussichtlichem Wetter usw.
  • Wenn das Planungsmodul 404 einen Weg 1012 zwischen dem Startpunkt 1002 und dem Endpunkt 1004 identifiziert, wählt das Planungsmodul 404 in der Regel einen Weg mit optimiertem Kostenwert, z. B. den Weg mit dem geringsten Gesamtkostenwert, wenn die einzelnen Kostenwerte der Kanten addiert werden.
  • Steuerung autonomer Fahrzeuge
  • 11 zeigt in einem Blockdiagramm 1100 die Ein- und Ausgaben eines Steuermoduls 406 (z. B. wie in 4 gezeigt). Ein Steuermodul arbeitet gemäß einer Steuervorrichtung 1102, die z. B. einen oder mehrere Prozessoren (z. B. einen oder mehrere Computerprozessoren wie Mikroprozessoren oder Mikrocontroller oder beides) ähnlich dem Prozessor 304, einen Kurzzeit- und/oder Langzeitdatenspeicher (z. B. Direktzugriffsspeicher oder Flashspeicher oder beides) ähnlich dem Hauptspeicher 306, ROM 1308 und Speichervorrichtung 210 und im Speicher gespeicherte Anweisungen enthält, die Operationen der Steuervorrichtung 1102 durchführen, wenn die Anweisungen ausgeführt werden (z. B. durch den einen oder die mehreren Prozessoren).
  • In einer Ausführungsform empfängt die Steuervorrichtung 1102 Daten, die eine gewünschte Ausgabe 1104 darstellen. Die gewünschte Ausgabe 1104 umfasst in der Regel eine Geschwindigkeit und eine Fahrtrichtung. Die gewünschte Ausgabe 1104 kann z. B. auf Daten basieren, die aus einem Planungsmodul 404 empfangen wurden (z. B. wie in 4 gezeigt). Die Steuervorrichtung 1102 erzeugt gemäß der gewünschten Ausgabe 1104 Daten, die als Drosselklappeneingabe 1106 und als Lenkungseingabe 1108 verwendet werden können. Die Drosselklappeneingabe 1106 stellt die Größe dar, in der die Drosselklappe (z. B. Beschleunigungssteuerung) eines AF 100 zu betätigen ist, z. B. durch Betätigen des Lenkpedals oder durch Betätigen einer anderen Drosselklappensteuerung, um die gewünschte Ausgabe 1104 zu erreichen. In einigen Beispielen umfasst die Drosselklappeneingabe 1106 auch Daten, die zum Betätigen der Bremse (z. B. Verlangsamungssteuerung) des AF 100 verwendet werden können. Die Lenkungseingabe 1108 stellt einen Lenkwinkel dar, z. B. den Winkel, in dem die Lenksteuerung (z. B. Lenkrad, Lenkwinkelsteller oder eine andere Funktion zur Steuerung des Lenkwinkels) des AF positioniert werden sollte, um die gewünschte Ausgabe 1104 zu erreichen.
  • In einer Ausführungsform empfängt die Steuervorrichtung 1102 eine Rückmeldung, die bei der Anpassung der für die Drosselklappe und Lenkung bereitgestellten Eingaben verwendet wird. Falls beispielsweise das AF 100 auf eine Störung 1110 wie z. B. einen Hügel trifft, wird die gemessene Geschwindigkeit 1112 des AF 100 unter die gewünschte Ausgabegeschwindigkeit abgesenkt. In einer Ausführungsform wird der Steuervorrichtung 1102 eine Messwertausgabe 1114 zur Verfügung gestellt, sodass die nötigen Anpassungen, z. B. basierend auf der Differenz 1113 zwischen der gemessenen Geschwindigkeit und der gewünschten Ausgabe, durchgeführt werden. Die gemessene Ausgabe 1114 umfasst die gemessene Position 1116, die gemessene Geschwindigkeit 1118 (einschließlich Drehzahl und Fahrtrichtung), die gemessene Beschleunigung 1120 und andere durch Sensoren des AF 100 messbare Ausgaben.
  • In einer Ausführungsform werden Informationen über die Störung 1110 im Voraus erkannt, z. B. durch einen Sensor wie eine Kamera oder einen LiDAR-Sensor, und einem vorausschauenden Rückmeldemodul 1122 zur Verfügung gestellt. Das vorausschauende Rückmeldemodul 1122 liefert dann Informationen an die Steuervorrichtung 1102, die die Steuervorrichtung 1102 zur entsprechenden Anpassung verwenden kann. Falls zum Beispiel die Sensoren des AF 100 einen Hügel erkennen („sehen“), können diese Informationen durch die Steuervorrichtung 1102 genutzt werden, um sich darauf vorzubereiten, die Drosselklappe zum geeigneten Zeitpunkt zu betätigen, um eine wesentliche Verlangsamung zu vermeiden.
  • 12 zeigt ein Blockdiagramm 1200 der Eingaben, Ausgaben und Komponenten der Steuervorrichtung 1102. Die Steuervorrichtung 1102 weist einen Geschwindigkeitsprofilersteller 1202 auf, der den Betrieb einer Drosselklappen-/Bremssteuervorrichtung 1204 beeinflusst. Beispielsweise weist der Geschwindigkeitsprofilersteller 1202 die Drosselklappen-/Bremssteuervorrichtung 1204 an, eine Beschleunigung oder Verlangsamung unter Verwendung der Drosselklappe/Bremse 1206 einzuleiten, abhängig z. B. von der Rückmeldung, die durch die Steuervorrichtung 1102 empfangen und durch den Geschwindigkeitsprofilersteller 1202 verarbeitet wird.
  • Die Steuervorrichtung 1102 weist auch eine Seitenführungssteuervorrichtung 1208 auf, die den Betrieb einer Lenksteuervorrichtung 1210 beeinflusst. Zum Beispiel weist die Seitenführungssteuervorrichtung 1208 die Lenksteuervorrichtung 1204 an, die Position des Lenkwinkelstellers 1212 abhängig von z. B. der Rückmeldung anzupassen, die durch die Steuervorrichtung 1102 empfangen und durch die Seitenführungssteuervorrichtung 1208 verarbeitet wird.
  • Die Steuervorrichtung 1102 empfängt mehrere Eingaben, mit denen bestimmt wird, wie die Drosselklappe/Bremse 1206 und der Lenkwinkelsteller 1212 gesteuert werden sollen. Ein Planungsmodul 404 liefert Informationen, die durch die Steuervorrichtung 1102 verwendet werden, um z. B. eine Bewegungsrichtung zu wählen, wenn das AF 100 den Betrieb aufnimmt, und um zu bestimmen, welches Straßensegment befahren werden soll, wenn das AF 100 eine Einmündung erreicht. Ein Lokalisierungsmodul 408 liefert der Steuervorrichtung 1102 Informationen, die zum Beispiel den aktuellen Ort des AF 100 beschreiben, sodass die Steuervorrichtung 1102 bestimmen kann, ob sich das AF 100 an einem Ort befindet, der basierend auf der Art und Weise, in der die Drosselklappe/Bremse 1206 und der Lenkwinkelsteller 1212 gesteuert werden, erwartet wird. In einer Ausführungsform empfängt die Steuervorrichtung 1102 Informationen aus anderen Eingaben 1214, z. B. Informationen, die aus Datenbanken, Computernetzwerken usw. empfangen werden.
  • Betriebsumgebung für autonomen Fahrzeugbetrieb mittels linearer temporaler Logik
  • 13 zeigt ein Blockdiagramm einer Betriebsumgebung 1300 für den Betrieb eines autonomen Fahrzeugs (AF) mittels linearer temporaler Logik gemäß einer oder mehreren Ausführungsformen. Das Blockdiagramm von 13 enthält einen entfernten Server 136 und die Betriebsumgebung 1300. In anderen Ausführungsformen enthält das Blockdiagramm von 13 weitere oder weniger Objekte als die hier beschriebenen.
  • Der in 13 gezeigte entfernte Server 136 ist ein Teleoperationsserver oder ein Cloud-Server wie oben mit Bezug auf 1 dargestellt und beschrieben. Der entfernte Server 136 enthält einen oder mehrere Prozessoren und einen Datenspeicher. Der entfernte Server 136 kommuniziert mit Einrichtungen in der Betriebsumgebung 1300, z. B. dem AF 100, über ein Netzwerk. Das Netzwerk stellt eine Kombination aus einem oder mehreren lokalen Netzwerken, Weitverkehrsnetzwerken oder Internetnetzwerken dar, die über drahtgebundene oder drahtlose Verbindungen mittels terrestrischer oder satellitengestützter Verbindungstechnik gekoppelt sind. Daten, die über das Netzwerk ausgetauscht werden, werden mittels einer Anzahl von Netzwerkschichtprotokollen übertragen, wie z. B. Internet Protocol (IP), Multiprotocol Label Switching (MPLS), Asynchronous Transfer Mode (ATM), Frame Relay, usw. Fernerhin werden in Ausführungsformen, in denen das Netzwerk eine Kombination aus mehreren Teilnetzwerken darstellt, in jedem der zugrunde liegenden Teilnetzwerke unterschiedliche Netzwerkschichtprotokolle verwendet. In einer Ausführungsform stellt das Netzwerk ein oder mehrere miteinander verbundene Internetnetzwerke dar, wie z. B. das öffentliche Internet.
  • Die Betriebsumgebung 1300 repräsentiert ein geografisches Gebiet, z. B. ein Bundesland, eine Stadt, eine Wohngegend oder ein Straßennetz. Die Betriebsumgebung 1300 kann ein Beispiel für die Betriebsumgebung 190 sein, die oben mit Bezug auf 1 dargestellt und beschrieben ist. Das AF 100 und ein oder mehrere Objekte 1008 befinden sich innerhalb der Betriebsumgebung 1300. Die Objekte 1008 sind physische Einheiten außerhalb des AF 100, wie oben mit Bezug auf FIG. 1000 beschrieben.
  • Das eine oder die mehreren Objekte 1008 befinden sich außerhalb des AF 100 und können Beispiele für die Objekte 416 sein, die oben mit Bezug auf 4 und 5 dargestellt und beschrieben sind. Das Objekt 1008 ist oben mit Bezug auf FIG. 1008 dargestellt und beschrieben. In einer Ausführungsform ist das Objekt 1008 ein statischer Abschnitt oder Aspekt der AF-Betriebsumgebung 1300, wie z. B. ein Straßensegment, eine Ampelanlage, ein Gebäude, ein Parkplatz auf einem Straßensegment, eine Autobahnaus- oder -einfahrtrampe, mehrere Fahrstreifen eines befahrbaren Bereichs der AF-Betriebsumgebung 1300, eine Erhebung des befahrbaren Bereichs, ein an den befahrbaren Bereich angrenzender Bordstein oder ein Mittelstreifen, der zwei Fahrstreifen des befahrbaren Bereichs trennt. In einer Ausführungsform ist das Objekt 1008 ein dynamisches Objekt, wie z. B. ein anderes Fahrzeug 193, ein Fußgänger 192, ein Radfahrer oder eine Person, die auf einem Fahrzeug mit kleinem Formfaktor wie z. B. einem Skateboard, einem Elektroroller, einem Segway™, einem persönlichen elektrischen Leichtfahrzeug oder einer persönlichen Mobilitätsvorrichtung fährt. Das AF 100 empfängt Sensordaten, die die Merkmale der Objekte 1008 repräsentieren, und führt eine Kollisionsvorhersage durch und reduziert ggf. die Fahraggressivität. Die Objekte 1008 sind oben mit Bezug auf das physische Objekt 608, die Begrenzungen 616 eines physischen Objekts 608, das physische Objekt 706, den Boden 802 und das Objekt 808 in 6, 7 und 8 näher beschrieben.
  • Das AF 100 ist ein teilautonomes oder vollautonomes Fahrzeug, das mit einem oder mehreren Sensoren 1304 und einem Planungsmodul 404 eine Bewegungsbahn plant, um das Objekt 1008 zu umfahren. Ein Beispiel für eine solche Bewegungsbahn ist die in 1 gezeigte Bewegungsbahn 198. Das AF 100 enthält die Sensoren 1304, einen oder mehrere Fahrgastsensoren 1308, ein Steuermodul 406, das Planungsmodul 404, ein oder mehrere Eingabevorrichtungen 314 und eine Datenspeichereinheit 142. Das AF 100 ist oben mit Bezug auf 1 ausführlicher beschrieben. In anderen Ausführungsformen umfasst das AF 100 zusätzliche oder weniger Komponenten als die hier beschriebenen. Ebenso sind die Funktionen auf andere Weise als hier beschrieben auf die Komponenten und/oder verschiedenen Einrichtungen verteilt.
  • Der eine oder die mehreren Sensoren 1304 des AF 100 umfassen visuelle Sensoren, die einen Zustand der Betriebsumgebung 1300 erfassen, wie z. B. das Vorhandensein der Objekte 1008. Die Sensoren 1304 sind kommunizierend mit dem Wahrnehmungsmodul 402 zum Übertragen von Sensordaten gekoppelt. Das Wahrnehmungsmodul 402 ist oben mit Bezug auf 4 ausführlicher beschrieben. Die Sensoren 1304 umfassen eine oder mehrere monokulare oder Stereo-Videokameras im sichtbaren Licht, im Infrarot- oder Wärmespektrum (oder in beiden Spektren), LiDAR, RADAR, Ultraschallsensoren oder Time-of-Flight(TOF)-Tiefensensoren. Die Sensoren 1304 können ein Beispiel für die Sensoren 122-123 sein, die oben mit Bezug auf 1 dargestellt und beschrieben sind.
  • In einer Ausführungsform umfassen die Sensordaten LiDAR-Punktwolkendaten oder Kamerabilder. Mit den LiDAR-Sensoren des AF 100 werden die Objekte 1008 mit gepulstem Laserlicht beleuchtet und die reflektierten Impulse gemessen. Die Unterschiede in den Laserrücklaufzeiten und Wellenlängen werden dann verwendet, um die Sensordaten zu erzeugen und eine digitale 3-D-Darstellung der Objekte 1008 zu erstellen. In einer Ausführungsform werden die LiDAR-Punktwolkendaten als mehrdimensionales Belegungsraster gespeichert. Die LiDAR-Punktwolkendaten werden auf der Signalebene vorverarbeitet und dann auf einer höheren Ebene verarbeitet, um Merkmale der Objekte 1008 zu extrahieren. In einer Ausführungsform wird eine kombinierte zwei- und dreidimensionale Rasterstruktur verwendet, und der Raum in diesen Strukturen wird in mehrere diskrete Zellen tesseliert. Die Struktur der LiDAR-Punktwolkendaten ermöglicht die Verarbeitung einer großen Menge an Rohmessdaten durch das AF 100.
  • Der eine oder die mehreren Fahrgastsensoren 1308 umfassen Sensoren zum Aufzeichnen von Daten wie Mimik des Fahrgastes, Hautleitwert, Puls und Herzfrequenz, Körpertemperatur des Fahrgastes, Pupillenerweiterung und Druck auf die Armlehnen des AF-Sitzes. Jede Art von Daten wird mit einem anderen Sensor oder einer Kombination verschiedener Sensoren aufgezeichnet werden, z. B. mit einem Herzfrequenzmessgerät, einem Sphygmomanometer, einem Pupillometer, einem Infrarotthermometer oder einem Sensor für die galvanische Hautreaktion. Das Planungsmodul 404 erzeugt eine Bewegungsbahn für das AF 100, um z. B. eine erhöhte Herzfrequenz oder einen erhöhten Hautleitwert, die durch die Fahrgastsensoren 1308 erkannt werden und auf Unbehagen oder Stress des Fahrgastes hinweisen, zu reduzieren. Wie für einen Fachmann verständlich, können eine oder mehrere physische Messungen eines oder mehrerer Fahrgäste mit einem Unbehaglichkeits- oder Stressniveau korreliert werden, das durch eine Änderung der Bewegungsbahn ausgeglichen werden kann.
  • In einer Ausführungsform erzeugt das Planungsmodul 404 die Bewegungsbahn so, dass ein mit den Fahrgastsensoren gemessener Grad an Fahrgastkomfort über einem Schwellenwert liegt. Der Schwellenwert liegt zum Beispiel zwischen 75 % und 90 %. Ein Grad an Fahrgastkomfort von 0 % bedeutet, dass der Fahrgast sich extrem unwohl fühlt. Ein solcher Wert wird normalerweise nie erreicht werden. Ein Grad an Fahrgastkomfort von 100 % bedeutet, dass der Fahrgast sich sehr wohl fühlt und weitere Änderungen der Bewegungsbahn den Grad an Fahrgastkomfort nicht erhöhen. Das Planungsmodul 404 wählt eine niedrigere Geschwindigkeit oder weniger scharfe Kurven, um eine andere Bewegungsbahn zu erzeugen, die einen höheren Grad an Fahrgastkomfort bietet. Auf diese Weise nutzt das Planungsmodul 404 die Bewegungsplanung zur Verbesserung des Fahrgastkomforts.
  • Die Eingabevorrichtung 314 ist oben mit Bezug auf 3 dargestellt und ausführlicher beschrieben. In einer Ausführungsform enthält die Eingabevorrichtung 314 einen intelligenten Lautsprecher, der einen Sprachbefehl von einem Fahrgast im AF 100 empfängt. Der intelligente Lautsprecher enthält ein oder mehrere Nah- oder Fernfeldmikrofone, um die Befehle zu empfangen. Der intelligente Lautsprecher übermittelt auch Audionachrichten vom AF 100 oder entfernten Server 136 an einen Fahrgast. In einer Ausführungsform enthält der intelligente Lautsprecher einen intelligenten Assistenten des AF 100 oder des entfernten Servers 136 oder ist mit diesem verbunden. Der intelligente Assistent fragt Informationen wie Wetter, Routenplanung usw. ab und warnt den Fahrgast auch vor bevorstehenden Fahrmanövern.
  • Die Datenspeichereinheit 142 ist oben mit Bezug auf 1 dargestellt und ausführlicher beschrieben. Die Datenspeichereinheit 142 wird verwendet, um Daten zu speichern, z. B. Sensordaten aus den Sensoren 1304, Fahrgastsensordaten aus den Fahrgastsensoren 1308, aus dem entfernten Server 136 empfangene Anweisungen zur Streckenführung oder durch das Planungsmodul 404 erzeugte Bewegungsbahndaten.
  • Das Planungsmodul 404 ist oben mit Bezug auf 4 dargestellt und ausführlicher beschrieben. Im Fahrmodus verwendet das Wahrnehmungsmodul 402 Daten aus den Sensoren 1304, z. B. akustische Sensordaten, LiDAR-Daten oder Stereokameradaten, um statische Objekte und dynamische Objekte in der Betriebsumgebung 1300 zu erkennen und zu klassifizieren oder abzubilden. Die klassifizierten/abgebildeten Objekte 1008 und deren Merkmale, z. B. Positionen, Geschwindigkeiten oder Richtungen, werden durch das Planungsmodul 404 verwendet, um eine Kollision zwischen dem AF 100 und einem Objekt 1008 innerhalb der Betriebsumgebung 1300 vorherzusagen und eine sichere Bewegungsbahn durch die Betriebsumgebung 1300 zu erzeugen.
  • In einer Ausführungsform befindet sich das AF 100 an einem raumzeitlichen Anfangsort, wie z. B. einem Hotel oder einem Transitzentrum. Das AF 100 empfängt aus dem entfernten Server 136 oder aus der Datenspeichereinheit 142 einen linearen temporalen Logikausdruck, der eine Betriebsbeschränkung für das Betreiben des AF 100 definiert. Eine Betriebsbeschränkung ist eine Regel, die das AF 100 beim Fahren in der Betriebsumgebung 1300 befolgen soll. Die Betriebsbeschränkung ist eine Verkehrsregel oder eine Beschränkung, die den Grad an Fahrgastkomfort für einen im AF 100 mitfahrenden Fahrgast erhöht. Eine Beschränkung, die den Grad an Fahrgastkomfort erhöht, gibt beispielsweise eine maximale Begrenzung der Beschleunigung des AF 100 vor. In einer Ausführungsform empfängt das AF 100 aus dem entfernten Server 136 oder ruft aus der Datenspeichereinheit 142 eine oder mehrere Betriebsbeschränkungen für das Betreiben des AF 100 ab. Jede Betriebsbeschränkung der einen oder mehreren Betriebsbeschränkungen ist durch einen entsprechenden linearen temporalen Logikausdruck definiert.
  • Die lineare temporale Logik ist eine modale temporale Logik mit Modalitäten, die sich auf die Zeit beziehen. Ein linearer temporaler Logikausdruck ist eine Formel, die ausdrückt, ob eine Betriebsbedingung des AF 100 irgendwann wahr sein wird oder ob die Betriebsbedingung des AF 100 wahr sein wird, bis eine andere Bedingung erfüllt ist, usw. Ein linearer temporaler Logikausdruck wird aus einer endlichen Menge von Aussagenvariablen AP, den logischen Operatoren und V und den temporalen Modaloperatoren NEXT und UNTIL erzeugt. Die Verwendung des temporalen Modaloperators NEXT wird im Folgenden näher beschrieben.
  • In einer Ausführungsform empfängt das AF 100 aus dem entfernten Server 136 oder von einem Fahrgast über die Eingabevorrichtung 314 einen raumzeitlichen Zielort, zu dem das AF 100 fahren soll. Der raumzeitliche Zielort ist zum Beispiel ein Wohnsitz oder ein Büro. Das Planungsmodul 404 identifiziert ein Bewegungssegment für die Fahrt vom raumzeitlichen Anfangsort zum raumzeitlichen Zielort. Ein Bewegungssegment ist ein Teil des befahrbaren Bereichs der Betriebsumgebung 1300. Ein Bewegungssegment enthält zum Beispiel einen Fahrstreifen, einen Straßenabschnitt oder eine Kreuzung. Ein Bewegungssegment gibt z. B. eine Geschwindigkeit des AF 100, eine Beschleunigung des AF 100 oder eine Richtung des AF 100 an, wenn das AF 100 gemäß dem Bewegungssegment betrieben wird. In einer Ausführungsform verwendet das Planungsmodul 404 Sensordaten, die mittels der Sensoren 1304 empfangen wurden, um ein Bewegungssegment basierend auf einem Wegplanungsgraphen, z. B. dem oben mit Bezug auf 10 dargestellten und näher beschriebenen Wegplanungsgraphen 1000, zu identifizieren. In einer Ausführungsform verwendet das AF 100 das Planungsmodul 404, um ein oder mehrere Bewegungssegmente zum Betreiben des AF 100 zu bestimmen.
  • Das Planungsmodul 404 bestimmt einen Wert eines linearen temporalen Logikausdrucks für das AF 100 basierend auf einem Bewegungssegment. In einer Ausführungsform ist der Wert des linearen temporalen Logikausdrucks ein Binärwert, z. B. wahr/falsch oder 0/1. In anderen Ausführungsformen repräsentiert der Wert des linearen temporalen Logikausdrucks eine Betriebseigenschaft oder einen Zustand des AF 100. Der Wert des linearen temporalen Logikausdrucks gibt zum Beispiel an, ob das AF 100 den Fahrstreifen wechselt, ob eine rechte Fahrstreifenbegrenzung des AF 100 unterbrochene gelbe Linien enthält oder ob sich das AF 100 innerhalb einer Kreuzung befindet. Ein linearer temporaler Logikausdruck enthält einen oder mehrere lineare temporale Logikaussagen. Zum Beispiel definiert ein linearer temporaler Logikausdruck eine Betriebsbeschränkung, die angibt, dass das AF 100 während des Fahrens innerhalb einer Kreuzung nicht den Fahrstreifen wechseln sollte. Der lineare temporale Logikausdruck wird formuliert durch:
    id: kein_Fahrstreifenwechsel_in_Kreuzung
    Anforderung :
       in_Kreuzung|| ist_Ausgangslage
    ist_dynamisch: 0,

wobei !in_Kreuzung eine lineare temporale Logikaussage ist, die angibt, ob sich das AF 100 nicht innerhalb einer Kreuzung befindet, und ist Ausgangslage eine Aussagenvariable ist, die den raumzeitlichen Ort des AF 100 angibt. In ähnlicher Weise repräsentiert eine lineare temporale Logikaussage einen Fahrstreifen, in dem das AF 100 fährt. Bezogen auf das obige Beispiel entspricht ein Wert des linearen temporalen Logikausdrucks
kein_Fahrstreifenwechsel_in_Kreuzung, ob das AF 100 während des Betriebs innerhalb der Kreuzung den Fahrstreifen wechselt.
  • In einer Ausführungsform entspricht ein Wert eines linearen temporalen Logikausdrucks, ob das AF 100 in einer durch die Betriebsbeschränkung festgelegten Richtung fährt. Zum Beispiel wird ein linearer temporaler Logikausdruck, der dem entspricht, ob das AF 100 in eine Richtung fährt, die durch die Verkehrsregeln des Fahrstreifens festgelegt ist, ausgedrückt durch:
  •     id : Fahrstreifenrichtung
        Anforderung :
           !ist_Fahrtrichtung_richtig
        ist_dynamisch: 0
  • Das Planungsmodul 404 wertet jeden linearen temporalen Logikausdruck aus, indem es einen Wert jeder linearen temporalen Logikaussage von einer oder mehreren linearen temporalen Logikaussagen in dem linearen temporalen Logikausdruck bestimmt. Das Planungsmodul 404 wertet also den linearen temporalen Logikausdruck aus, indem es einen oder mehrere Werte der einen oder mehreren linearen temporalen Logikaussagen logisch aggregiert, um einen Wert des linearen temporalen Logikausdrucks herzuleiten. Das Planungsmodul 404 erzeugt eine Bewegungsbahn durch Analysieren des AF 100, dessen Zustand sich im Zeitverlauf kontinuierlich entwickelt. Um das AF 100, das sich kontinuierlich im Zeitverlauf entwickelt, als eine Folge von Zuständen zu modellieren, tastet das Planungsmodul 404 den Zustand des AF 100 zu verschiedenen Zeitpunkten ab und fügt die abgetasteten Zustände zur Folge von Zuständen hinzu. Zum Beispiel werden alle Zeiten abgetastet, in denen sich eine beliebige lineare temporale Logikaussage (z. B. ist_Ausgangslage, in_Kreuzung, Fahrstreien_Index, rechte Linie oder linke Linie) ändert. Für jeden Index i gibt es also einige Eigenschaften, die sich bei einem Zustand si und bei einem Zustand s{i+i} unterscheiden.
  • In einer Ausführungsform wertet das Planungsmodul 404 einen linearen temporalen Logikausdruck aus, indem es Werte des linearen temporalen Logikausdrucks für eine Folge von Zuständen des AF 100 basierend auf einem temporalen Modaloperator bestimmt. Zum Beispiel verwendet das Planungsmodul 404 den temporalen Modaloperator NEXT, um den Betrieb des AF 100 in einer Folge von Zuständen auszuwerten, indem es den zeitlich nächsten Zustand in der Folge nach einem Zustand von Interesse auswertet. Ein linearer temporaler Logikausdruck, der eine Betriebsbeschränkung für das AF 100 definiert, wird z. B. dargestellt durch:
  •     id: Fahrstreifenwechsel_Fahrstreifen_zu_Fahrstreifen
        Anforderung : 
           ist_Ausgangslage || in_Kreuzung ||
           Fahrstreifen_Index < 0 || NEXT(Fahrstreifen_Index) < 0 ||
           (NEXT(Fahrstreifen_Index) == Fahrstreifen_Index) ||
           (NEXT(Fahrstreifen_Index) > Fahrstreifen_Index && (rechte_Linie == 1 || rechte
              Linie == 3 || rechte Linie == 5)) ||
           (NEXT(Fahrstreifen_Index) < Fahrstreifen_Index && (linke_Linie = 1 || linke_Linie
              == 3 || linke_Linie == 5))
        ist_dynamisch: 0
  • Um den linearen temporalen Logikausdruck im obigen Beispiel auszuwerten, bezeichnet das Planungsmodul 404 eine Folge von Zuständen des AF 100 mit s0 s1 s2..., wobei 0, 1 und 2 die Indizes und s0, s1 und s2 den Zustand des AF 100 bei Index 0, 1 bzw. 2 bezeichnen. Das Planungsmodul 404 bestimmt, ob bei Index i die Folge von Zuständen NEXT(P) für eine lineare temporale logische Aussage P erfüllt. Das Planungsmodul 404 wertet aus, ob der Zustand s{i+1} P erfüllt, weil s{i+1} der Zustand des AF 100 nach dem Zustand bei Index i ist.
  • In Fortsetzung des obigen Beispiels wertet das Planungsmodul 404 die lineare temporale Logikaussage NEXT(Fahrstreifen_Index) == Fahrstreifen_Index aus. Die Variable Li bezeichnet den Fahrstreifen_Index bei Zustand Si. Wenn NEXT(Fahrstreifen_Index) == Fahrstreifen_Index beim Index i ausgewertet wird, dann ist L{i+1} gleich Li, d. h. der Fahrstreifen_Index beim Zustand i+1 ist der gleiche wie der Fahrstreifen Index beim Zustand i. Mit anderen Worten ändert sich der Fahrstreifen Index nicht vom Zustand i zum Zustand i+1. Das Planungsmodul 404 wertet dann die Aussage (NEXT(Fahrstreifen_Index) > Fahrstreifen_Index && (rechte_Linie == 1 ||rechte_Linie == 3 || rechte_Linie == 5)) am Index i aus. Wenn NEXT(Fahrstreifen_Index) > Fahrstreifen index, dann L{i+1} > Li, d.h., der Fahrstreifen im Zustand i+1 befindet sich rechts vom Fahrstreifen im Zustand i. Die lineare temporale Logikaussage rechte_Linie == 1 besagt, dass die rechte Fahrstreifenmarkierung im Zustand i eine gestrichelte weiße Linie ist. Die lineare temporale Logikaussage rechte Linie == 3 bedeutet, dass die rechte Fahrstreifenmarkierung im Zustand i eine unterbrochene gelbe Linie ist. Die lineare temporale Logikaussage rechte_Linie == 5 bedeutet, dass die rechte Fahrstreifenmarkierung im Zustand i keine Linie ist. Daher bestimmt das Planungsmodul 404 bei der Auswertung der kombinierten linearen temporalen Logikaussage (NEXT(Fahrstreifen_Index) > Fahrstreifen_Index && (rechte_Linie = 1 || rechte_Linie = 3 || rechte_Linie == 5)) im Zustand i, dass der Fahrstreifen im Zustand i+1 rechts vom Fahrstreifen im Zustand i ist, und dass die rechte Fahrstreifenmarkierung im Zustand i entweder unterbrochen weiß, unterbrochen gelb oder keine Linie ist.
  • In Fortsetzung des obigen Beispiels wertet das Planungsmodul 404 die lineare temporale Logikaussage (NEXT(Fahrstreifen_Index) < Fahrstreifen_Index && (linke_Linie == 1 || linke_Linie == 3 || linke_Linie = 5)) aus. Dieser lineare temporale Logikaussage ist ähnlich der oben ausgewerteten linearen temporalen Logikaussage. Beim Index i bedeutet die lineare temporale Logik, dass der Fahrstreifen im Zustand i+1 links vom Fahrstreifen im Zustand i liegt und dass die linke Fahrstreifenmarkierung im Zustand i entweder unterbrochen weiß, unterbrochen gelb oder keine Linie ist. Daher wird der kombinierte lineare temporale Logikausdruck (NEXT(Fahrstreifen_Index) == Fahrstreifen_Index) || (NEXT(Fahrstreifen_Index) > Fahrstreifen_Index && (rechte_Linie == 1 || rechte_Linie = 3 || rechte_Linie == 5)) || (NEXT(Fahrstreifen_Index) < Fahrstreifen_Index && (linke_Linie = 1 || linke_Linie == 3 || linke_Linie == 5)) ausgewertet, um zu bestimmen, dass bei Index i das AF 100 entweder (1) nicht den Fahrstreifen wechselt, (2) zum rechten Fahrstreifen wechselt und die rechte Fahrstreifenbegrenzung entweder gestrichelt weiß, gestrichelt gelb oder keine Linie ist, oder (3) zum linken Fahrstreifen wechselt und die linke Fahrstreifenbegrenzung entweder gestrichelt weiß, gestrichelt gelb oder keine Linie ist.
  • In einer Ausführungsform bestimmt das Planungsmodul 404, ob basierend auf einem linearen temporalen Logikausdruck, der die Betriebsbeschränkung definiert, das Betreiben des AF 100 gemäß einem Bewegungssegment eine Betriebsbeschränkung verletzt, Das Bestimmen, ob das Betreiben des AF 100 gemäß dem Bewegungssegment die Betriebsbeschränkung verletzt, wird in Reaktion darauf durchgeführt, dass der Wert des linearen temporalen Logikausdrucks falsch ist. In einer Ausführungsform entscheidet das Planungsmodul 404, das AF 100 gemäß einem ausgewählten Bewegungssegment zu betreiben, obwohl der Betrieb eine Betriebsbeschränkung einer oder mehrerer Betriebsbeschränkungen verletzt. Das Betreiben des AF 100 gemäß dem ausgewählten Bewegungssegment verletzt die Betriebsbeschränkung in Reaktion darauf, dass der Wert eines linearen temporalen Logikausdrucks, der die Betriebsbeschränkung definiert, falsch ist. Eine höherrangige Betriebsbeschränkung gibt z. B. an, dass das AF 100 eine Kollision mit dem Objekt 1008 vermeiden soll. Eine niedrigerrangige Betriebsbeschränkung gibt eine Maximalgeschwindigkeit für das AF 100 vor. Das Planungsmodul 404 kann die niedrigerrangige Betriebsbeschränkung verletzen und die Geschwindigkeit erhöhen, um die höherrangige Betriebsbeschränkung zu befolgen und eine Kollision zu vermeiden.
  • In einer Ausführungsform erzeugt das Planungsmodul 404 eine Kripke-Struktur als Teil seines Bewegungsbahnerzeugungsprozesses. Ein Beispiel für eine Kripke-Struktur wird im Folgenden unter Bezugnahme auf 14 dargestellt und näher beschrieben. Die Kripke-Struktur repräsentiert ein oder mehrere Bewegungssegmente, die ausgewertet werden sollen. Die Kripke-Struktur ist ein Graph, dessen Knoten die erreichbaren Zustände des AF 100 repräsentieren und dessen Kanten Zustandsübergänge repräsentieren. Das Planungsmodul 404 wertet einen linearen temporalen Logikausdruck unter Verwendung der Kripke-Struktur aus. Die Kripke-Struktur enthält mehrere Knoten. Ein erster Knoten der Kripke-Struktur entspricht einem raumzeitlichen Anfangsort des AF 100. Ein zweiter Knoten der Kripke-Struktur entspricht einem raumzeitlichen Zielort des AF 100. Eine Kante der Kripke-Struktur, die den ersten Knoten und den zweiten Knoten verbindet, entspricht einem Bewegungssegment zum Betreiben des AF 100 vom raumzeitlichen Anfangsort zum raumzeitlichen Zielort.
  • In einer Ausführungsform randomisiert das Planungsmodul 404 raumzeitliche Informationen, die aus einer Karte der Betriebsumgebung 1300 gewonnen werden, um eine Kripke-Struktur zu erzeugen. Das AF 100 empfängt die Karte vom entfernten Server 136 oder ruft die Karte aus der Datenspeichereinheit 142 ab. Wenn sich das AF 100 an einem raumzeitlichen Anfangsort befindet, randomisiert es die raumzeitlichen Informationen in der Karte, um mehrere Optionen oder Bewegungssegmente zu erzeugen, gemäß denen es arbeiten kann. Mithilfe der mehreren Optionen oder Bewegungssegmente wird eine Kripke-Struktur erzeugt. Das Planungsmodul 404 verwendet die Kripke-Struktur, um jedes Bewegungssegment oder jede Option basierend auf einem oder mehreren linearen temporalen Logikausdrücken auszuwerten. In einer Ausführungsform nimmt das Planungsmodul 404 raumzeitliche Informationen auf, die aus der Karte der Betriebsumgebung 1300 gewonnen werden, um die Kripke-Struktur zu erzeugen. Zum Beispiel wählt das Planungsmodul 404 Punkte in der Karte aus, die innerhalb einer bestimmten Entfernung vom raumzeitlichen Anfangsort des AF 100 liegen, um mehrere Bewegungssegmente zu erzeugen, die dann zum Erzeugen einer Kripke-Struktur verwendet werden.
  • Das Planungsmodul 404 wertet einen linearen temporalen Logikausdruck aus, indem es in jedem Knoten der mehreren Knoten einen Wert des linearen temporalen Logikausdrucks bestimmt. Der lineare temporale Logikausdruck definiert eine bestimmte Betriebsbeschränkung. In einigen Fällen unterscheidet sich ein erster Wert des linearen temporalen Logikausdrucks, der im ersten Knoten ausgewertet wird, von einem zweiten Wert des linearen temporalen Logikausdrucks, der im zweiten Knoten ausgewertet wird. Das Planungsmodul 404 bestimmt, dass die bestimmte Betriebsbeschränkung in Reaktion darauf, dass der erste Wert des linearen temporalen Logikausdrucks, der im ersten Knoten der Kripke-Struktur ausgewertet wird, von dem zweiten Wert des linearen temporalen Logikausdrucks, der im zweiten Knoten der Kripke-Struktur ausgewertet wird, verschieden ist, verletzt wird.
  • In einer Ausführungsform ändert sich ein Wert eines linearen temporalen Logikausdrucks in einem Zwischenpunkt auf einem Bewegungssegment. Wenn sich der Wert des linearen temporalen Logikausdrucks ändert, teilt das Planungsmodul 404 das Bewegungssegment im Zwischenpunkt in zwei verschiedene Bewegungssegmente auf. Das Aufteilen der Bewegungssegmente wird im Folgenden unter Bezugnahme auf 15 dargestellt und näher beschrieben. Ein Bewegungssegment wird an einem raumzeitlichen Ort geteilt, wenn sich der Wert eines linearen temporalen Logikausdrucks an dem raumzeitlichen Ort ändert. Die Aufteilung wird durchgeführt, um sicherzustellen, dass sich ein Wert eines linearen temporalen Logikausdrucks höchstens einmal entlang eines Bewegungssegments ändert.
  • In einer Ausführungsform wird eine Menge der möglichen Zustände des AF 100 mit S bezeichnet. Ein bestimmter Zustand s des AF 100 umfasst z. B. die Position, den Kurs oder die Geschwindigkeit des AF 100 sowie die anderer Objekte 1008 in der Betriebsumgebung 1300. In diesem Beispiel gibt es insgesamt n Aussagenvariablen von Interesse v1, v2, ..., vn. Beispiele für Aussagenvariablen sind ist_Ausgangslage, in_Kreuzung, Fahrstreifen_ Index, linke_Linie und rechte Linie, wie im obigen Beispiel näher beschrieben. Die Aussagenvariablen abstrahieren den Zustand des AF 100 zu einer sinnvollen Größe für die Bewegungsbahnplanung. Zum Beispiel wird eine (x,y)-Position des AF 100 abstrahiert, um zu bestimmen, ob sich das AF 100 aufgrund der (x,y)-Position vollständig innerhalb eines Fahrstreifens oder innerhalb einer Kreuzung befindet. Der Wert von v = (v1, v2, ..., vn), der bei einem Zustand des AF 100 ausgewertet wird, wird als „Abbildung“ dieses Zustands bezeichnet. Für jede Abbildung vi bezeichnet Fi eine Funktion, die den Zustand des AF 100 als Eingabe empfängt und den Wert von vi als Ausgabe erzeugt. In einer Ausführungsform wertet das Planungsmodul 404 einen linearen temporalen Logikausdruck aus, um einen Fahrstreifen zu bestimmen, in dem sich das AF 100 in einem bestimmten Zustand des AF 100 befindet. Wenn z. B. vi die Aussagenvariable Fahrstreifen Index bezeichnet, gibt Fi(S) den Fahrstreifenindex des AF 100 zurück, wenn der Systemzustand s ist. Die Funktion F = (F1, F2, ..., Fn) wird als „Abbilder“ bezeichnet, weil sie einen Zustand des AF 100 in das Kennzeichen in diesem Zustand umsetzt.
  • In Fortsetzung des obigen Beispiel bezeichnet E eine Kante einer Kripke-Struktur. E(d) bezeichnet einen Zustand das AF 100 in einer Entfernung d entlang der Kante E, z. B. bezeichnet E(0) den Zustand des AF 100 am Anfang der Kante E. Das Planungsmodul 404 betrachtet do = 0 und berechnet F = (F1(E(d0)), F2(E(d0)), ..., Fn(E(d0)), z. B. die Abbildung des Zustands des AF 100 am Anfang der Kante E. Das Planungsmodul 404 bestimmt das kleinste di, sodass ein Index i existiert, bei dem Fi(E(d1)) != Fi(E(do)) ist. Der Wert von di ist die Entfernung entlang der Kante E, bei der sich die Abbildung ändert. Das Planungsmodul 404 fährt in der oben beschriebenen Weise fort, um Werte von d2, d3, ..., dm zu bestimmen, sodass für jedes dj ein Index i existiert, sodass Fi(E(d{j-1})) != Fi(E(dj)) ist. Die Werte von d1, d2, ..., dm sind die Entfernungen entlang der Kante E, bei der sich die Abbildung ändert. Wenn sich die Abbildung entlang der Kante E nicht ändert, dann ist m = 0, da di nicht existiert. Für den Fall, dass m != 0 ist, z. B. eine Entfernung entlang der Kante E existiert, bei der die Abbildung ihren Wert ändert, teilt das Planungsmodul 404 die Kante E in verschiedene Kanten E1, E2, ..., Em, wobei jede Kante Ei Teil der ursprünglichen Kante E, beginnend mit der Entfernung d{i-1} bis zur Entfernung di, ist. Das Planungsmodul 404 stellt somit sicher, dass die resultierenden Unterkanten maximal eine Änderung des Abbildungswertes enthalten.
  • In einer Ausführungsform erzeugt das Planungsmodul 404 eine Betriebskennzahl zum Betreiben des AF 100 gemäß einem Bewegungssegment. Die Betriebskennzahl basiert auf einem bestimmten Wert eines linearen temporalen Logikausdrucks, wenn der lineare temporale Logikausdruck basierend auf dem Bewegungssegment ausgewertet wird. Die Betriebskennzahl ist ein Kostenwert für das Betreiben des AF 100 gemäß dem Bewegungssegment. Wenn das Planungsmodul 404 beispielsweise vorhersagt, dass das Betreiben des AF 100 gemäß dem Bewegungssegment zu einer Kollision führt oder eine andere Verkehrsregel verletzt, weist das Planungsmodul dem Bewegungssegment eine höhere Betriebskennzahl (Kostenwert) zu. Das Planungsmodul wird das Betreiben des AF 100 gemäß dem Bewegungssegment vermeiden, um den Kostenwert zu reduzieren. Die Verwendung von Kostenwerten, die Kanten in einem Planungsgraphen zugeordnet sind, ist oben mit Bezug auf 10 dargestellt und näher beschrieben.
  • In einer Ausführungsform entscheidet das Planungsmodul 404, das AF 100 gemäß einem Bewegungssegment zu betreiben, in Reaktion darauf, dass eine dem Bewegungssegment zugewiesene Betriebskennzahl kleiner als ein Schwellenwert ist. Eine grafische Darstellung enthält z. B. ein oder mehrere Bewegungssegmente. Das AF 100 empfängt einen oder mehrere lineare temporale Logikausdrücke, die eine oder mehrere Betriebsbeschränkungen für das AF 100 definieren. Das Planungsmodul 404 wertet jeden linearen temporalen Logikausdruck des einen oder der mehreren linearen temporalen Logikausdrücke für jedes Bewegungssegment des einen oder der mehreren Bewegungssegmente aus. In Reaktion darauf, dass ein Wert eines linearen temporalen Logikausdrucks falsch ist, weist das Planungsmodul 404 dem Bewegungssegment eine Betriebskennzahl (einen Kostenwert) zu. Das Planungsmodul wählt ein Bewegungssegment des einen oder der mehreren Bewegungssegmente so aus, dass das ausgewählte Bewegungssegment eine zugewiesene Betriebskennzahl unterhalb eines Schwellenwerts aufweist. Zum Beispiel kann eine Betriebskennzahl von 0 bis 99 reichen, wobei 99 der höchste Kostenwert sind. Wenn der Schwellenwert 5 ist, wird ein Bewegungssegment ausgewählt, das eine Betriebskennzahl kleiner als 5 aufweist.
  • In einer Ausführungsform ist eine Betriebsbeschränkung für das Betreiben des AF 100 eine aus einer rangmäßig gestuften Vielzahl von Betriebsbeschränkungen. So wird z. B. eine Betriebsbeschränkung, die eine größere Auswirkung auf die Navigationssicherheit hat, höher eingestuft. In einer Ausführungsform erzeugt das Planungsmodul 404 eine Betriebskennzahl, indem es einen Rang der Betriebsbeschränkung bestimmt. Wenn z. B. eine Betriebsbeschränkung mit dem Rang 10 verletzt wird, ist die Betriebskennzahl höher als bei einer Verletzung einer Betriebsbeschränkung mit dem Rang 1. In einer Ausführungsform weist das Planungsmodul 404 einem Bewegungssegment eine Betriebskennzahl zu, indem es einen Rang einer Betriebsbeschränkung bestimmt, die durch einen linearen temporalen Logikausdruck definiert ist, der als falsch ausgewertet wird. Wenn ein linearer temporaler Logikausdruck als falsch ausgewertet wird, bestimmt das Planungsmodul 404, dass die entsprechende Betriebsbeschränkung verletzt ist. Das Planungsmodul 404 bestimmt dann den Rang der verletzten Betriebsbeschränkung. Das Planungsmodul 404 weist dem Bewegungssegment die Betriebskennzahl zu, indem es den Rang der Betriebsbeschränkung, die durch den als falsch ausgewerteten linearen temporalen Logikausdruck definiert wurde, als Betriebskennzahl für das Bewegungssegment angibt.
  • In einer Ausführungsform speichert das AF 100 einen linearen temporalen Logikausdruck, der einer Kollision des AF 100 mit einem Objekt 1008 entspricht. Der lineare temporale Logikausdruck wird aus dem entfernten Server 136 abgerufen und in der Datenspeichereinheit 142 gespeichert. Der lineare temporale Logikausdruck beinhaltet zum Beispiel eine minimale Geschwindigkeit des AF 100, um eine Kollision des AF 100 mit dem Objekt 1008 zu vermeiden. In einem anderen Beispiel beinhaltet der lineare temporale Logikausdruck eine minimale Beschleunigung des AF 100, um eine Kollision des AF 100 mit dem Objekt 1008 zu vermeiden. Das AF 100 muss daher beschleunigen, um die Kollision zu vermeiden. In einer Ausführungsform ist der lineare temporale Logikausdruck einer von mehreren rangmäßig gestuften linearen temporalen Logikausdrücken. Ein linearer temporaler Logikausdruck, dem eine größere Auswirkung auf die Navigationssicherheit zugeordnet ist, weist einen höheren Rang auf.
  • Das AF 100 empfängt ein erstes Bewegungssegment zum Betreiben des AF 100. Das erste Bewegungssegment ist einer Straße, einem Parkplatz, einer Brücke, einer Baustelle, einem Bordstein einer Straße, einer Fahrstreifenbegrenzung oder einer Kreuzung zugeordnet. Das Betreiben des AF 100 gemäß dem ersten Bewegungssegment bewirkt beispielsweise, dass das AF 100 die Straße, den Parkplatz oder die Brücke überquert. Das Planungsmodul 404 bestimmt einen ersten Wert des linearen temporalen Logikausdrucks basierend auf dem ersten Bewegungssegment. Der erste Wert des linearen temporalen Logikausdrucks wird als falsch bestimmt. Daher bestimmt das Planungsmodul 404, dass das Betreiben des AF 100 gemäß dem ersten Bewegungssegment eine Kollision des AF 100 mit dem Objekt 1008 verursachen wird. In einer Ausführungsform bestimmt das Planungsmodul 404, dass der erste Wert des linearen temporalen Logikausdrucks in Reaktion darauf, dass eine Betriebsgeschwindigkeit des AF 100 größer als eine maximale Geschwindigkeitsbegrenzung ist, falsch ist. Wenn das Planungsmodul 404 z. B. vorhersagt, dass das Bewegungssegment eine Überschreitung der Geschwindigkeitsbegrenzung des AF 100 verursacht, wird die entsprechende Betriebsbeschränkung verletzt.
  • In einer Ausführungsform bestimmt das Planungsmodul 404 den ersten Wert des linearen temporalen Logikausdrucks, indem es eine Entfernung zwischen dem AF 100 und dem Objekt 1008 basierend auf Sensordaten bestimmt, die aus dem einen oder den mehreren Sensoren 1304 erhalten wurden. Wenn z. B. die Entfernung klein ist und das AF 100 in Richtung des Objekts 1008 fährt, bestimmt das Planungsmodul 404, dass das Betreiben des AF 100 gemäß dem ersten Bewegungssegment eine Kollision verursachen wird. In einer Ausführungsform bestimmt das Planungsmodul 404 den ersten Wert des linearen temporalen Logikausdrucks als falsch in Reaktion darauf, dass eine erste Kollisionswahrscheinlichkeit des AF 100 mit dem Objekt 1008 größer als ein Schwellenwert ist. Der Schwellenwert beträgt z. B. 10 %. Planungsmodul 404 bestimmt die erste Kollisionswahrscheinlichkeit durch Vorhersagen einer Bewegungsbahn für das Objekt 1008. In einer Ausführungsform verwendet das Planungsmodul 404 ein erweitertes Kalman-Filter, um das Objekt 1008 zu verfolgen und einen Zeitpunkt für eine potenzielle Kollision zu bestimmen. Das Planungsmodul 404 bestimmt potenzielle Verhaltensweisen für das Objekt 1008 (z. B. Fahrstreifenwechsel, Linksschwenken) und weist jedem potenziellen Verhalten Wahrscheinlichkeiten zu. In einer Ausführungsform bestimmt das Planungsmodul 404 die erste Kollisionswahrscheinlichkeit für das AF 1000 mit dem Objekt 1008 relativ zu einem Ort auf einer Längsachse des AF 100, wobei sich der Ort von einer Hinterachse des AF 100 entfernt befindet.
  • Das Planungsmodul erzeugt eine Kripke-Struktur, die das erste Bewegungssegment repräsentiert. In einer Ausführungsform erzeugt das Planungsmodul die Kripke-Struktur, indem es eine seitliche Fehlertoleranz des AF 100 in Bezug auf das Objekt 1008 bestimmt, wenn das AF 100 gemäß dem ersten Bewegungssegment betrieben wird. Die seitliche Fehlertoleranz stellt ein Maß für die Seitenfreiheit des AF 100 dar, um zur Seite zu lenken und dabei eine Kollision mit dem Objekt 1008 zu vermeiden. Ist die seitliche Fehlertoleranz kleiner, befindet sich das AF 100 seitlich näher am Objekt 1008. Das Planungsmodul 404 erzeugt die Kripke-Struktur, indem es eine Kante der Kripke-Struktur, die dem ersten Bewegungssegment entspricht, der bestimmten seitlichen Fehlertoleranz zuordnet.
  • In einer Ausführungsform sendet das Planungsmodul 404 eine Nachricht an das Steuermodul 406, um das Betreiben des AF 100 gemäß dem ersten Bewegungssegment zu beenden. Das Planungsmodul 404 sendet die Nachricht zum Beenden des Betreibens des AF 100 in Reaktion darauf, dass die erste Kollisionswahrscheinlichkeit des AF 100 mit dem Objekt 1008 größer als ein Schwellenwert ist. Der Schwellenwert beträgt z. B. 5 %. In Reaktion auf den bestimmten ersten Wert, der angibt, dass die erste Wahrscheinlichkeit einer Kollision des AF 100 mit dem Objekt 1008 (z. B. 30 %) größer als der Schwellenwert ist, betreibt das Steuermodul 406 das AF 100 gemäß einem zweiten Bewegungssegment, das von dem ersten Bewegungssegment verschieden ist. Das Planungsmodul 404 bestimmt, dass ein zweiter Wert des linearen temporalen Logikausdrucks, der basierend auf dem zweiten Bewegungssegment bestimmt wurde, angibt, dass eine zweite Wahrscheinlichkeit einer Kollision des AF 100 mit dem Objekt 1008 (z. B. 0 %) kleiner als der Schwellenwert ist. Daher verwendet das Planungsmodul 404 die Auswertung linearer temporaler Logikausdrücke, um zwischen Bewegungssegmenten basierend auf der jedem Bewegungssegment zugeordneten Kollisionswahrscheinlichkeit auszuwählen.
  • In einer Ausführungsform ist eine erste Betriebskennzahl, die dem linearen temporalen Logikausdruck zugeordnet ist, größer als eine zweite Betriebskennzahl, die einem zweiten linearen temporalen Logikausdruck zugeordnet ist. Die Auswirkung des linearen temporalen Logikausdrucks auf die Navigationssicherheit des AF 100 ist größer als die Auswirkung des zweiten linearen temporalen Logikausdrucks auf die Navigationssicherheit. Zum Beispiel ist der zweite lineare temporale Logikausdruck einem Grad an Fahrgastkomfort zugeordnet, der durch den einen oder die mehreren Fahrgastsensoren 1308 des AF 100 gemessen wird. In einer Ausführungsform beinhaltet der zweite lineare temporale Logikausdruck eine maximale Geschwindigkeit des AF 100, die dem durch die Fahrgastsensoren 1308 gemessenen Grad an Fahrgastkomfort zugeordnet ist. Wenn ein bestimmtes Bewegungssegment dazu führt, dass das AF 100 die maximale Geschwindigkeit überschreitet, weist das Planungsmodul 404 dem bestimmten Bewegungssegment die zweite Betriebskennzahl zu. In einer Ausführungsform beinhaltet der zweite lineare temporale Logikausdruck eine maximale Beschleunigung des AF 100, die einem durch die Fahrgastsensoren 1308 gemessenen Grad an Fahrgastkomfort zugeordnet ist. Wenn das bestimmte Bewegungssegment dazu führt, dass das AF 100 die maximale Beschleunigung überschreitet, weist das Planungsmodul 404 dem bestimmten Bewegungssegment die zweite Betriebskennzahl zu. Die zweite Betriebskennzahl ist also der Kostenwert (ein geringerer Grad an Fahrgastkomfort) für das Betreiben des AF 100 gemäß dem jeweiligen Bewegungssegment (Beschleunigung über dem Höchstwert).
  • Das Steuermodul 406 steuert das AF 100 gemäß der durch das Planungsmodul 404 wie oben beschrieben erzeugten Bewegungsbahn. Das Steuermodul 406 ist oben mit Bezug auf 4 dargestellt und beschrieben. Das Steuermodul kann das AF 100 gemäß einem ausgewählten Bewegungssegment betreiben. In einer Ausführungsform betreibt das Steuermodul 406 das AF 100 gemäß einem Bewegungssegment, das eine niedrigere Betriebskennzahl aufweist, sodass die Betriebskennzahl über die gesamte Bewegungsbahn minimiert wird. Das Steuermodul 406 steuert das AF 100, um eine Kollision mit einem durch das Wahrnehmungsmodul 402 identifizierten Objekt 1008 zu vermeiden. Das Steuermodul 406 verwendet die Bewegungsbahn aus dem Planungsmodul 404, um die Bremsen 420c, die Lenkung 420a und die Drosselklappe 420b (oben mit Bezug auf 4 dargestellt und beschrieben) des AF 100 zu betätigen. In einer Ausführungsform betreibt das Steuermodul 406 das AF 100 innerhalb eines diskretisierten fahrbaren Bereichs der Betriebsumgebung 1300 gemäß der Bewegungsbahn.
  • Beispiele für den Betrieb autonomer Fahrzeuge mittels linearer temporaler Logik
  • 14 zeigt ein Beispiel für autonomen Fahrzeugbetrieb unter Verwendung linearer temporaler Logik gemäß einer oder mehrerer Ausführungsformen. In einer Ausführungsform empfängt das AF 100 mehrere Bewegungssegmente (Bewegungssegmente 1412, 1416, 1420, 1424) aus dem entfernten Server 136 zum Navigieren des AF 100. In anderen Ausführungsformen erzeugt das Planungsmodul 404 die mehreren Bewegungssegmente unter Verwendung des in 10 oben näher beschriebenen Graphen 1000. In anderen Ausführungsformen erzeugt das Planungsmodul 404 die mehreren Bewegungssegmente unter Verwendung der in 13 oben näher beschriebenen Verfahren. Jedes Bewegungssegment (z. B. Bewegungssegment 1412) der mehreren Bewegungssegmente verbindet einen ersten raumzeitlichen Ort 1404 mit einem zweiten raumzeitlichen Ort 1408. Ein Bewegungssegment ist z. B. einer Straße, einem Parkplatz, einer Brücke, einer Baustelle, einem Bordstein einer Straße, einer Fahrstreifenbegrenzung oder einer Kreuzung in der Betriebsumgebung 1300 zugeordnet.
  • Das Planungsmodul 404 erzeugt eine Kripke-Struktur 1400 mit einem ersten Knoten, der dem ersten raumzeitlichen Ort 1404 entspricht, und einem zweiten Knoten, der dem zweiten raumzeitlichen Ort 1408 entspricht. Die Kripke-Struktur 1400 enthält ferner mehrere Kanten. Jede Kante der mehreren Kanten entspricht einem entsprechenden Bewegungssegment (z. B. Bewegungssegment 1412) der mehreren Bewegungssegmente. Das AF 100 empfängt einen oder mehrere lineare temporale Logikausdrücke, die Betriebsbeschränkungen für das Betreiben des AF 100 definieren. In einer Ausführungsform empfängt das AF 100 die linearen temporalen Logikausdrücke aus dem entfernten Server 136. In anderen Ausführungsformen ruft das AF 100 die linearen temporalen Logikausdrücke aus der Datenspeichereinheit 142 ab. Jeder lineare temporale Logikausdruck definiert eine entsprechende Betriebsbeschränkung für das Betreiben des AF 100. Eine erste Betriebsbeschränkung legt zum Beispiel fest, dass das AF 100 nicht mit einem anderen Objekt (z. B. dem Objekt 1008) kollidieren darf. Eine zweite Betriebsbeschränkung legt fest, dass das AF 100 eine maximale Geschwindigkeit nicht überschreiten sollte, um die Verkehrsregeln einzuhalten. Eine dritte Betriebsbeschränkung legt fest, dass das AF 100 eine maximale Beschleunigung nicht überschreiten sollte, um einen bestimmten Grad an Fahrgastkomfort zu gewährleisten.
  • In einer Ausführungsform erzeugt das Planungsmodul 404 die Kripke-Struktur 1400, indem es für jedes Bewegungssegment (z. B. Bewegungssegment 1412) eine seitliche Fehlertoleranz des AF 100 in Bezug auf ein Objekt 1008 bestimmt, wenn das AF 100 gemäß dem Bewegungssegment 1412 betrieben wird. Wenn beispielsweise die bestimmte seitliche Fehlertoleranz kleiner ist, hat das AF 100 weniger Spielraum in seitlicher Richtung und eine Kollision mit dem Objekt 1008 ist wahrscheinlicher. Das Planungsmodul 404 erzeugt die Kripke-Struktur 1400, indem es jede Kante der mehreren Kanten der bestimmten seitlichen Fehlertoleranz zuordnet. In einer Ausführungsform enthält der lineare temporale Logikausdruck eine minimale Geschwindigkeit des AF 100, um eine Kollision des AF 100 mit dem Objekt 1008 zu vermeiden. Wenn ein bestimmtes Bewegungssegment (z. B. das Befahren eines Hügels) vorgibt, dass das AF 100 langsamer als die minimale Geschwindigkeit fährt, kann das AF 100 dem Objekt 1008 nicht ausweichen und eine Kollision mit dem Objekt 1008 ist wahrscheinlicher. In einer Ausführungsform enthält der lineare temporale Logikausdruck eine minimale Beschleunigung des AF 100, um eine Kollision des AF 100 mit dem Objekt 1008 zu vermeiden. Wenn ein bestimmtes Bewegungssegment vorgibt, dass das AF 100 langsamer als die minimale Beschleunigung beschleunigt, kann das AF 100 dem Objekt 1008 nicht ausweichen und eine Kollision mit dem Objekt 1008 ist wahrscheinlicher.
  • Das Planungsmodul 404 verwendet die Kripke-Struktur 1400, um ein Bewegungssegment (z. B. Bewegungssegment 1424) der mehreren Bewegungssegmente zum Betreiben des AF 100 vom ersten raumzeitlichen Ort 1404 zum zweiten raumzeitlichen Ort 1408 auszuwählen. Für die mehreren Kanten, die den Bewegungssegmenten entsprechen, wertet das Planungsmodul 404 jeden linearen temporalen Logikausdruck unter Verwendung der Kripke-Struktur 1400 aus. Wenn ein Wert eines linearen temporalen Logikausdrucks, der entweder im ersten Knoten oder im zweiten Knoten bestimmt wurde, für eine Kante falsch ist, weist das Planungsmodul 404 dem jeweiligen Bewegungssegment (z. B. dem Bewegungssegment 1412) eine Betriebskennzahl (z. B. OM1 = 99) zu. Die Betriebskennzahl OM1 = 99 ist ein Kostenwert für die Verletzung der Betriebsbeschränkung, die durch den linearen temporalen Logikausdruck definiert ist. In einer Ausführungsform, wenn der Wert eines linearen temporalen Logikausdrucks, der im ersten Knoten bestimmt wurde, nicht mit dem Wert im zweiten Knoten für eine bestimmte Kante übereinstimmt, wird das Betreiben des AF 100 gemäß dem jeweiligen Bewegungssegment die Betriebsbeschränkung verletzen, die durch den linearen temporalen Logikausdruck definiert ist.
  • In Fortsetzung des obigen Beispiels legt eine erste Betriebsbeschränkung fest, dass das AF 100 nicht mit dem Objekt 1008 kollidieren sollte. Ein erster linearer temporaler Logikausdruck, der die Betriebsbeschränkung definiert, ist daher einer Wahrscheinlichkeit einer Kollision des AF 100 mit dem Objekt 1008 zugeordnet. Wenn z. B. die Wahrscheinlichkeit einer Kollision höher ist, weist das Planungsmodul 404 dem Bewegungssegment, das die erste Betriebsbeschränkung verletzt, eine höhere Betriebskennzahl zu. In einer Ausführungsform weist das Planungsmodul 404 eine Betriebskennzahl zu, indem es eine Entfernung zwischen dem AF 100 und dem Objekt 1008 basierend auf Sensordaten bestimmt, die aus dem einen oder den mehreren Sensoren 1304 erhalten wurden. Wenn sich das AF 100 beispielsweise näher am Objekt 1008 befindet, ist die Wahrscheinlichkeit einer Kollision und damit die Betriebskennzahl höher. Die Betriebskennzahl nimmt mit abnehmender Entfernung zwischen dem AF 100 und dem Objekt 1008 zu. Das Planungsmodul 404 stellt z. B. fest, dass das Bewegungssegment 1412 eine Kollision verursachen wird und die Wahrscheinlichkeit der Kollision höher ist. Daher wird dem Bewegungssegment 1412 eine höhere Betriebskennzahl OM1 = 99 zugewiesen.
  • In einer Ausführungsform wird der Wert des linearen temporalen Logikausdrucks in Reaktion darauf, dass die Wahrscheinlichkeit einer Kollision des AF 100 mit dem Objekt 1008 größer als ein Schwellenwert ist, als falsch bestimmt. Wenn z. B. die Wahrscheinlichkeit einer Kollision des AF 100 mit dem Objekt 1008 80 % beträgt und der Schwellenwert 5 % ist, wird der Wert des linearen temporalen Logikausdrucks als falsch bestimmt.
  • In einer Ausführungsform ist jeder lineare temporale Logikausdruck einer von mehreren rangmäßig gestuften linearen temporalen Logikausdrücken. Die Rangfolge basiert auf der Auswirkung der einzelnen definierten Betriebsbeschränkungen auf die Navigationssicherheit. Zum Beispiel ist eine Betriebskennzahl eines ersten linearen temporalen Logikausdrucks der mehreren rangmäßig gestuften linearen temporalen Logikausdrücke größer als eine Betriebskennzahl eines zweiten linearen temporalen Logikausdrucks der mehreren rangmäßig gestuften linearen temporalen Logikausdrücke.
  • In Fortsetzung des obigen Beispiels legt eine zweite Betriebsbeschränkung fest, dass das AF 100 eine maximale Geschwindigkeit nicht überschreiten sollte, um die Verkehrsregeln zu befolgen. Ein Wert eines zweiten linearen temporalen Logikausdrucks, der die zweite Betriebsbeschränkung definiert, wird daher in Reaktion auf eine Betriebsgeschwindigkeit des AF 100, die größer als die maximale Geschwindigkeitsbegrenzung ist, als falsch bestimmt. Das Bewegungssegment 1416 bewirkt beispielsweise, dass das AF 100 beschleunigt, um eine Kollision mit dem Objekt 1008 zu vermeiden. So wird eine Kollision vermieden und die erste Betriebsbeschränkung nicht verletzt. Jedoch wird die zweite Betriebsbeschränkung verletzt. Das Planungsmodul 404 weist dem Bewegungssegment 1416 die Betriebskennzahl OM2 = 54 zu. Der Kostenwert OM2 (54) ist geringer als OM1 (99), da eine Überschreitung der maximalen Geschwindigkeitsbegrenzung eine geringere Auswirkung auf die Navigationssicherheit als eine Kollision aufweist.
  • In einer Ausführungsform ist ein linearer temporaler Logikausdruck einem Grad an Fahrgastkomfort zugeordnet, der durch ein oder mehrere Fahrgastsensoren 1308 des AF 100 gemessen wird. In Fortsetzung des obigen Beispiels legt die dritte Betriebsbeschränkung fest, dass das AF 100 eine maximale Beschleunigung nicht überschreiten sollte, um einen bestimmten Grad an Fahrgastkomfort zu gewährleisten. Ein dritter linearer temporaler Logikausdruck, der die dritte Betriebsbeschränkung definiert, beinhaltet daher eine maximale Geschwindigkeit oder eine maximale Beschleunigung des AF 100, die dem betreffenden Grad an Fahrgastkomfort zugeordnet ist. Beispielsweise bestimmt das Planungsmodul 404, dass das Betreiben des AF 100 gemäß dem Bewegungssegment 1420 dazu führt, dass das AF 100 die dritte Betriebsbeschränkung verletzt. Die dritte Betriebsbeschränkung hat jedoch eine geringere Auswirkung auf die Navigationssicherheit. Das Betreiben gemäß dem Bewegungssegment 1420 vermeidet eine Kollision und führt auch nicht zum Beschleunigen des AF 100. Somit wird dem Bewegungssegment 1420 ein niedrigerer Kostenwert OM3 = 11 zugewiesen. Durch Bestimmen der betreffenden Betriebskennzahlen kann das Planungsmodul 404 entscheiden, das AF 100 unter Verletzung der niedrigerrangigen dritten Betriebsbeschränkung zu betreiben, während die höherrangige erste Betriebsbeschränkung beachtet wird. Schließlich befolgt das Betreiben des AF 100 gemäß dem Bewegungssegment 1424 alle drei Betriebsbeschränkungen. Somit wird dem Bewegungssegment 1424 eine Betriebskennzahl OM4 = 0 zugewiesen.
  • In einer Ausfuhrungsform beendet das Planungsmodul 404 die Erzeugung einer Bewegungsbahn mit den Bewegungssegmenten 1412, 1416, 1420. Beispielsweise beendet das Planungsmodul 404 die Erzeugung der Bewegungsbahn in Reaktion darauf, dass eine einem Bewegungssegment zugewiesene Betriebskennzahl größer als ein Schwellenwert ist. Wenn der Schwellenwert 9 ist, wird das Planungsmodul 404 das Bewegungssegment 1412 mit der Betriebskennzahl OM1 = 99 nicht verwenden. In einer Ausführungsform wählt das Planungsmodul 404 ein Bewegungssegment aus, das einer niedrigsten Betriebskennzahl zugeordnet ist, um das AF 100 zu betreiben. Das Planungsmodul 404 wählt z. B. das Bewegungssegment 1424 mit der niedrigsten Betriebskennzahl OM4 = 0 aus. Das Planungsmodul 404 sendet eine Nachricht an das Steuermodul 406, um das AF 100 gemäß dem ausgewählten Bewegungssegment 1424 zu betreiben.
  • 15 zeigt ein Beispiel für autonomen Fahrzeugbetrieb unter Verwendung linearer temporaler Logik gemäß einer oder mehrerer Ausführungsformen. Die in 15 gezeigte Betriebsumgebung 1500 enthält eine Kreuzung 1504 einer Straße 1508 mit mehreren Fahrstreifen 1512, 1516 usw. Die Betriebsumgebung 1500 enthält einen raumzeitlichen Anfangsort 1520, an dem sich das AF 100 befindet, und einen raumzeitlichen Zielort 1524, zu dem das AF 100 fährt. Das Planungsmodul 404 bestimmt eine Bewegungsbahn vom raumzeitlichen Anfangsort 1520 zum raumzeitlichen Zielort 1524. Der raumzeitliche Anfangsort 1520 befindet sich innerhalb des Fahrstreifens 1516 und der raumzeitliche Zielort 1524 befindet sich innerhalb des Fahrstreifens 1512.
  • Die Betriebsumgebung 1500 enthält ein Bewegungssegment 1528 vom raumzeitlichen Anfangsort 1520 zum raumzeitlichen Ort 1532. Ein Bewegungssegment 1536 verbindet den raumzeitlichen Ort 1532 mit dem raumzeitlichen Ort 1540. Ein Bewegungssegment 1544 verbindet den raumzeitlichen Ort 1540 mit dem raumzeitlichen Zielort 1524. Das Navigieren des AF 100 gemäß dem Bewegungssegment 1536 entlang des Fahrstreifens 1516 wird jedoch langsamer sein, da sich an dem raumzeitlichen Ort 1540 ein weiteres Fahrzeug befindet. Ein Bewegungssegment 1560 verbindet den raumzeitlichen Ort 1532 mit dem raumzeitlichen Ort 1556 und enthält einen Fahrstreifenwechsel von Fahrstreifen 1516 zu Fahrstreifen 1512 am raumzeitlichen Ort 1564. Ein Bewegungssegment 1548 verbindet den raumzeitlichen Ort 1556 mit dem raumzeitlichen Zielort 1524. Das Navigieren des AF 100 gemäß dem Bewegungssegment 1560 und das Wechseln des Fahrstreifens am raumzeitlichen Ort 1532 erfolgt schneller, da das AF 100 dem Fahrzeug am raumzeitlichen Ort 1540 ausweicht. Das Bewegungssegment 1560 bewirkt jedoch, dass das AF 100 innerhalb der Kreuzung 1504 den Fahrstreifen wechselt. Eine Betriebsbeschränkung, die durch einen durch das AF 100 empfangenen linearen temporalen Logikausdruck definiert ist, legt fest, dass das AF 100 innerhalb einer Kreuzung nicht den Fahrstreifen wechseln sollte. Ein Beispiel für einen linearen temporalen Logikausdruck kein_Fahrstreifenwechsel_m_Kreuzung, der eine solche Betriebsbeschränkung definiert, ist oben unter Bezugnahme auf 13 näher beschrieben und ausgewertet.
  • Der lineare temporale Logikausdruck enthält einen oder mehrere lineare temporale Logikaussagen, wie in 13 näher beschrieben. Zum Beispiel entspricht eine erste lineare temporale Logikaussage in_Kreuzung, ob sich das Fahrzeug innerhalb einer Kreuzung befindet. Eine zweite lineare temporale Logikaussage entspricht einem Fahrstreifen, in dem das Fahrzeug fährt. Wie oben näher beschrieben, ist ist_Ausgangslage beispielsweise eine Aussagenvariable, die den raumzeitlichen Ort des AF 100 angibt. Ein Wert des linearen temporalen Logikausdrucks kein_Fahrstreifenwechsel_in_Kreuzung entspricht daher, ob das AF 100 den Fahrstreifen wechselt, in dem das AF 100 fährt, während das AF 100 innerhalb der Kreuzung 1504 fährt.
  • In einer Ausführungsform entspricht ein Wert eines linearen temporalen Logikausdrucks, ob das AF 100 in einer durch eine Betriebsbeschränkung festgelegten Richtung fährt. Eine Betriebsbeschränkung legt zum Beispiel fest, dass das AF 100 in Richtung der Fahrstreifen 1512, 1516 fahren soll. Eine solche Betriebsbeschränkung wird durch einen Ausdruck der temporalen Logik wie folgt definiert:
  •     id : Fahrstreifenrichtung
        Anforderung :
           ist_Fahrtrichtung_richtig
        ist_dynamisch: 0

    Der obige temporale Logikausdruck „Fahrstreifenrichtung“ wird ähnlich wie der Ausdruck „kein Fahrstreifenwechel in Kreuzung“ ausgewertet.
  • Das Planungsmodul 404 speichert eine Kripke-Struktur, die die Bewegungssegmente 1528, 1536, 1544, 1560, 1548 für das Betreiben des AF 100 repräsentiert, in der Datenspeichereinheit 142 zum Verarbeiten. In einer Ausführungsform erzeugt das Planungsmodul 404 die Kripke-Struktur unter Verwendung der oben unter Bezugnahme auf 13, 14 näher beschriebenen Verfahren. In anderen Ausführungsformen empfängt das Planungsmodul 404 die Kripke-Struktur aus dem entfernten Server 136. Jedes der Bewegungssegmente (z. B. das Bewegungssegment 1560) enthält mehrere raumzeitliche Orte (z. B. die raumzeitlichen Orte 1532, 1564, 1556). Jeder Knoten von mehreren Knoten der Kripke-Struktur entspricht einem betreffenden raumzeitlichen Ort der mehreren raumzeitlichen Orte. Eine Kante der Kripke-Struktur, die einen ersten Knoten und einen zweiten Knoten verbindet, entspricht einem Bewegungssegment (z. B. Bewegungssegment 1528) für das Betreiben des AF 100 von einem raumzeitlichen Anfangsort (z. B. raumzeitlicher Anfangsort 1520) zu einem zweiten raumzeitlichen Ort (z. B. raumzeitlicher Ort 1532).
  • Das Planungsmodul 404 wertet jedes Bewegungssegment (z. B. Bewegungssegment 1560) unter Verwendung des linearen temporalen Logikausdrucks basierend auf der Kripke-Struktur aus. Die Kripke-Struktur enthält eine Kante, die jedem Bewegungssegment entspricht, wie oben mit Bezug auf 14 gezeigt und näher beschrieben. Für jeden raumzeitlichen Ort der mehreren raumzeitlichen Orte 1532, 1564, 1556 des Bewegungssegments 1560 wertet das Planungsmodul 404 den linearen temporalen Logikausdruck basierend auf der Kripke-Struktur aus. Die Auswertung des linearen temporalen Logikausdrucks kein_Fahrstreifenwechsel_in_Kreuzung ist weiter oben mit Bezug auf 13 näher beschrieben. Im Beispiel von 15 ist ein erster Wert des linearen temporalen Logikausdrucks kein_Fahrstreifenwechsel_in_Kreuzung, der in einem ersten Knoten ausgewertet wird, der dem raumzeitlichen Ort 1532 entspricht, von einem zweiten Wert des linearen temporalen Logikausdrucks, der in einem zweiten Knoten ausgewertet wird, der dem raumzeitlichen Ort 1556 entspricht, verschieden.
  • Das Planungsmodul 404 bestimmt, ob das Betreiben des AF 100 gemäß dem Bewegungssegment 1560 die durch kein_Fahrstreifenwechsel_in_Kreuzung definierte Betriebsbeschränkung verletzt. Beispielsweise bestimmt das Planungsmodul 404, dass das Bewegungssegment 1560 die Betriebsbeschränkung verletzt, wenn der Wert des linearen temporalen Logikausdrucks kein_Fahrstreifenwechsel_in_Kreuzung in einem Knoten der Kripke-Struktur falsch ist. Da das Bewegungssegment 1560 das AF 100 dazu veranlasst, am raumzeitlichen Ort 1564 den Fahrstreifen innerhalb der Kreuzung 1504 zu wechseln, ändert sich ein Wert des linearen temporalen Logikausdrucks kein_Fahrstreifenwechsel_in_Kreuzung am raumzeitlichen Ort 1564. In Reaktion auf das Bestimmen dieser Wertänderung fügt das Planungsmodul 404 eine Ortsmarkierung innerhalb der Kripke-Struktur an dem raumzeitlichen Ort 1564 ein, um das Bewegungssegment 1560 in zwei verschiedene Bewegungssegmente 1568, 1572 zu teilen. Das Bewegungssegment 1568 verbindet den raumzeitlichen Ort 1532 mit dem raumzeitlichen Ort 1564. Das Bewegungssegment 1572 verbindet den raumzeitlichen Ort 1564 mit dem raumzeitlichen Ort 1556.
  • Das Planungsmodul 404 weist jedem Bewegungssegment der beiden verschiedenen Bewegungssegmente 1568, 1572 eine Betriebskennzahl zu, die auf der Ortsmarkierung basiert. In einer Ausführungsform weist das Planungsmodul 404 die Betriebskennzahl zu, indem es einen Rang der Betriebsbeschränkung bestimmt. Die Betriebsbeschränkung ist eine einer Vielzahl von rangmäßig gestuften Betriebsbeschränkungen. Eine andere Betriebsbeschränkung, die keine Kollisionen vorschreibt, ist höher eingestuft. Zum Beispiel weist das Planungsmodul jedem der Bewegungssegmente 1568, 1572 eine niedrigere Betriebskennzahl zu, weil die beiden Bewegungssegmente eine Regelverletzung beinhalten, die im Beispiel von 15 keine Kollision beinhaltet. Das Planungsmodul bestimmt oder erzeugt eine Bewegungsbahn für das Betreiben des AF 100 basierend auf den Betriebskennzahlen der einzelnen Bewegungssegmente. In einer Ausführungsform wird eine Betriebskennzahl über die Bewegungsbahn minimiert. Das AF 100 entscheidet sich z. B. für das Betreiben gemäß den Bewegungssegmenten 1536, 1544, weil diese einen geringeren Gesamtkostenwert aufweisen. In einer Ausführungsform reagiert das Betreiben des AF 100 gemäß der ermittelten Bewegungsbahn darauf, dass eine Betriebskennzahl auf der Bewegungsbahn kleiner als ein Schwellenwert ist. Wenn der Schwellenwert z. B. 50 ist und die dem Bewegungssegment 1568 zugewiesene Betriebskennzahl 60 ist, wird die Bewegungsbahn das Bewegungssegment 1568 vermeiden. Das Steuermodul 406 betreibt das AF 100 gemäß der bestimmten Bewegungsbahn.
  • Prozesse für autonomen Fahrzeugbetrieb mittels linearer temporaler Logik
  • 16 zeigt einen Prozess 1600 zum autonomen Fahrzeugbetrieb mittels linearer temporaler Logik gemäß einer oder mehreren Ausführungsformen. In einer Ausführungsform wird der Prozess von 16 durch das AF 100 durchgeführt. In anderen Ausführungsformen führen z. B. eine oder mehrere Komponenten des entfernten Servers 136 einen oder alle Schritte des Prozesses 1600 durch. Ebenso können Ausführungsformen verschiedene und/oder zusätzliche Schritte enthalten oder die Schritte in verschiedener Reihenfolge durchführen.
  • Das AF 100 verwendet einen oder mehrere Prozessoren, um einen linearen temporalen Logikausdruck zu speichern 1604, der eine Betriebsbeschränkung für das Betreiben des AF 100 definiert. Das AF 100 befindet sich an einem ersten raumzeitlichen Ort (z. B. am raumzeitlichen Ort 1404). Ein linearer temporaler Logikausdruck ist eine Formel, die ausdrückt, ob eine Betriebsbedingung des AF 100 letztendlich wahr sein wird oder ob die Betriebsbedingung des AF 100 wahr sein wird, bis eine andere Bedingung erfüllt ist, usw. Eine Betriebsbeschränkung ist eine Regel, die das AF 100 beim Fahren in der Betriebsumgebung 1300 befolgen soll. Die Betriebsbeschränkung ist eine Verkehrsregel oder eine Beschränkung, die den Grad an Fahrgastkomfort für einen im AF 100 mitfahrenden Fahrgast erhöht.
  • Das AF 100 verwendet den einen oder die mehreren Prozessoren, um 1608 einen zweiten raumzeitlichen Ort (z. B. den raumzeitlichen Ort 1408) für das AF 100 zu empfangen. Beispielsweise kann das AF 100 den zweiten raumzeitlichen Ort 1408 aus dem entfernten Server 136 empfangen.
  • Das AF 100 verwendet den einen oder die mehreren Prozessoren, um ein Bewegungssegment (z. B. das Bewegungssegment 1420) zu identifizieren 1612, um das AF 100 von dem ersten raumzeitlichen Ort 1404 zum zweiten raumzeitlichen Ort 1408 zu betreiben. Beispielsweise identifiziert das AF 100 das Bewegungssegment 1420 basierend auf Sensordaten. Ein Bewegungssegment ist ein Teil des befahrbaren Bereichs der Betriebsumgebung 1300. Ein Bewegungssegment enthält zum Beispiel einen Fahrstreifen, einen Straßenabschnitt oder eine Kreuzung. Ein Bewegungssegment gibt z. B. eine Geschwindigkeit des AF 100, eine Beschleunigung des AF 100 oder eine Richtung des AF 100 an, wenn das AF 100 gemäß dem Bewegungssegment betrieben wird.
  • Das AF 100 verwendet den einen oder die mehreren Prozessoren, um einen Wert des linearen temporalen Logikausdrucks basierend auf dem Bewegungssegment 1420 zu bestimmen 1616. Der Wert ist z. B. wahr, wenn das Bewegungssegment 1420 die Betriebsbeschränkung befolgt, oder falsch, wenn das Bewegungssegment 1420 die Betriebsbeschränkung verletzt. Das AF 100 wertet den linearen temporalen Logikausdruck aus, indem es einen Wert für jede lineare temporale Logikaussage in dem linearen temporalen Logikausdruck bestimmt. Das AF 100 wertet also den linearen temporalen Logikausdruck aus, indem es einen oder mehrere Werte der einen oder mehreren linearen temporalen Logikaussagen logisch aggregiert, um einen Wert des linearen temporalen Logikausdrucks herzuleiten.
  • Das AF 100 verwendet den einen oder die mehreren Prozessoren, um eine Betriebskennzahl (z. B. die Betriebskennzahl OM3) für das Betreiben des AF 100 gemäß dem Bewegungssegment 1420 basierend auf dem bestimmten Wert des linearen temporalen Logikausdrucks zu erzeugen 1620. Die Betriebskennzahl OM3 ist ein Kostenwert für das Betreiben des AF 100 gemäß dem Bewegungssegment 1420. Wenn das AF 100 z. B. vorhersagt, dass das Betreiben gemäß dem Bewegungssegment 1420 zu einer Kollision führen wird, weist das AF 100 dem Bewegungssegment 1420 eine höhere Betriebskennzahl (einen höheren Kostenwert) zu. Das AF 100 wird das Betreiben gemäß dem Bewegungssegment 1420 vermeiden, um den Kostenwert zu reduzieren.
  • 17 zeigt einen Prozess 1700 zum autonomen Fahrzeugbetrieb mittels linearer temporaler Logik gemäß einer oder mehreren Ausführungsformen. In einer Ausführungsform wird der Prozess von 17 durch das AF 100 durchgeführt. In anderen Ausführungsformen führen z. B. eine oder mehrere Komponenten des entfernten Servers 136 einen oder alle Schritte des Prozesses 1700 durch. Ebenso können Ausführungsformen verschiedene und/oder zusätzliche Schritte enthalten oder die Schritte in verschiedener Reihenfolge durchführen.
  • Das AF 100 verwendet einen oder mehrere Prozessoren, um 1704 eine oder mehrere Betriebsbeschränkungen für das Betreiben des AF 100 zu empfangen. Jede Betriebsbeschränkung der einen oder mehreren Betriebsbeschränkungen ist durch einen entsprechenden linearen temporalen Logikausdruck definiert. In einer Ausführungsform empfängt das AF 100 die eine oder mehreren Betriebsbeschränkungen aus dem entfernten Server 136. In anderen Ausführungsformen ruft das AF 100 die eine oder mehreren Betriebsbeschränkungen aus der Datenspeichereinheit 142 ab.
  • Das AF 100 verwendet den einen oder die mehreren Prozessoren, um ein oder mehrere Bewegungssegmente (z. B. die Bewegungssegmente 1412, 1416, 1420 und 1424) für das Betreiben des AF 100 zu bestimmen 1708. Jedes Bewegungssegment des einen oder der mehreren Bewegungssegmente verbindet zwei verschiedene raumzeitliche Orte, zum Beispiel den ersten raumzeitlichen Ort 1404 und den zweiten raumzeitlichen Ort 1408. Ein Bewegungssegment ist ein Teil des befahrbaren Bereichs der Betriebsumgebung 1300. Ein Bewegungssegment enthält zum Beispiel einen Fahrstreifen, einen Straßenabschnitt oder eine Kreuzung. Ein Bewegungssegment gibt eine Geschwindigkeit des AF 100, eine Beschleunigung des AF 100 oder eine Richtung des AF 100 an, wenn das AF 100 gemäß dem Bewegungssegment betrieben wird.
  • Das AF 100 verwendet den einen oder die mehreren Prozessoren, um 1712 Werte des einen oder der mehreren temporalen Logikausdrücke basierend auf einem temporalen Modaloperator, z. B. dem NEXT-Operator, zu bestimmen. Ein Wert ist z. B. wahr, wenn ein Bewegungssegment 1420 eine Betriebsbeschränkung befolgt, oder falsch, wenn das Bewegungssegment 1420 die Betriebsbeschränkung verletzt. Das AF 100 wertet einen linearen temporalen Logikausdruck aus, indem es einen Wert jeder linearen temporalen Logikaussage einer oder mehrerer linearer temporaler Logikaussagen in dem linearen temporalen Logikausdruck bestimmt. Das AF 100 wertet also den linearen temporalen Logikausdruck aus, indem es einen oder mehrere Werte der einen oder mehreren linearen temporalen Logikaussagen logisch aggregiert, um einen Wert des linearen temporalen Logikausdrucks herzuleiten.
  • In Reaktion darauf, dass ein Wert des jeweiligen linearen temporalen Logikausdrucks falsch ist, verwendet das AF 100 den einen oder die mehreren Prozessoren, um dem Bewegungssegment 1420 eine Betriebskennzahl (z. B. die Betriebskennzahl OM3) zuzuweisen (1716). Die Betriebskennzahl OM3 ist ein Kostenwert für das Betreiben des AF 100 gemäß dem Bewegungssegment 1420. Wenn das AF 100 z. B. vorhersagt, dass das Betreiben gemäß dem Bewegungssegment 1420 zu einer Kollision führen wird, weist das AF 100 dem Bewegungssegment 1420 eine höhere Betriebskennzahl (einen höheren Kostenwert) zu. Das AF 100 wird das Betreiben gemäß dem Bewegungssegment 1420 vermeiden, um den Kostenwert zu reduzieren.
  • Das AF 100 verwendet den einen oder die mehreren Prozessoren, um ein Bewegungssegment (z. B. das Bewegungssegment 1424) des einen oder der mehreren Bewegungssegmente so auszuwählen 1720, dass das ausgewählte Bewegungssegment 1424 eine zugewiesene Betriebskennzahl OM4 unterhalb eines Schwellenwerts aufweist. Wenn der Schwellenwert z. B. 5 beträgt, wird das Bewegungssegment 1424 ausgewählt, da OM4 = 0 ist. Wenn mehr als ein Bewegungssegment eine Betriebskennzahl unterhalb des Schwellenwerts (z. B. eines Schwellenwerts von 15) aufweist, wird der Schwellenwert gesenkt oder das Bewegungssegment 1424 mit der niedrigsten Betriebskennzahl 0 ausgewählt.
  • Das AF 100 verwendet ein Steuermodul (z. B. das Steuermodul 406), um gemäß dem ausgewählten Bewegungssegment 1424 zu arbeiten, wie oben mit Bezug auf 13 beschrieben.
  • 18 zeigt einen Prozess 1800 zum autonomen Fahrzeugbetrieb mittels linearer temporaler Logik gemäß einer oder mehreren Ausführungsformen. In einer Ausführungsform wird der Prozess von 18 durch das AF 100 durchgeführt. In anderen Ausführungsformen führen z. B. eine oder mehrere Komponenten des entfernten Servers 136 einen oder alle Schritte des Prozesses 1800 durch. Ebenso können Ausführungsformen verschiedene und/oder zusätzliche Schritte enthalten oder die Schritte in verschiedener Reihenfolge durchführen.
  • Das AF 100 verwendet einen oder mehrere Prozessoren, um mehrere Bewegungssegmente, z. B. die Bewegungssegmente 1412, 1416, 1420 und 1424, zu empfangen 1804. Jedes Bewegungssegment der mehreren Bewegungssegmente verbindet einen ersten raumzeitlichen Ort (z. B. den raumzeitlichen Ort 1404) mit einem zweiten raumzeitlichen Ort (z. B. dem raumzeitlichen Ort 1408). Ein Bewegungssegment ist ein Teil des befahrbaren Bereichs der Betriebsumgebung 1300. Ein Bewegungssegment enthält zum Beispiel einen Fahrstreifen, einen Straßenabschnitt oder eine Kreuzung. Ein Bewegungssegment gibt eine Geschwindigkeit des AF 100, eine Beschleunigung des AF 100 oder eine Richtung des AF 100 an, wenn das AF 100 gemäß dem Bewegungssegment betrieben wird.
  • Das AF 100 verwendet den einen oder die mehreren Prozessoren, um eine Kripke-Struktur (z. B. die Kripke-Struktur 1400) zu erzeugen 1808. Die Kripke-Struktur 1400 enthält einen ersten Knoten, der dem ersten raumzeitlichen Ort 1404 entspricht, und einen zweiten Knoten, der dem zweiten raumzeitlichen Ort 1408 entspricht. Die Kripke-Struktur 1400 enthält ferner mehrere Kanten, wobei jede Kante der mehreren Kanten einem betreffenden Bewegungssegment der mehreren Bewegungssegmente entspricht.
  • Das AF 100 verwendet den einen oder die mehreren Prozessoren, um einen linearen temporalen Logikausdruck zu empfangen 1812, der eine Betriebsbeschränkung für das Betreiben des AF 100 definiert. Die Betriebsbeschränkung gibt z. B. an, dass das AF 100 nicht mit einem Objekt (z. B. dem Objekt 1008) kollidieren darf. Ein linearer temporaler Logikausdruck ist eine Formel, die ausdrückt, ob eine Betriebsbedingung des AF 100 letztendlich wahr sein wird oder ob die Betriebsbedingung des AF 100 wahr sein wird, bis eine andere Bedingung erfüllt ist, usw. Eine Betriebsbeschränkung ist eine Regel, die das AF 100 beim Fahren in der Betriebsumgebung 1300 befolgen soll. Die Betriebsbeschränkung ist eine Verkehrsregel oder eine Beschränkung, die den Grad an Fahrgastkomfort für einen im AF 100 mitfahrenden Fahrgast erhöht.
  • Für jede Kante der mehreren Kanten innerhalb der Kripke-Struktur 1400 weist das AF 100 als Reaktion darauf, dass ein Wert des linearen temporalen Logikausdrucks, der entweder im ersten Knoten oder im zweiten Knoten bestimmt wurde, falsch ist, einem Bewegungssegment (z. B. Bewegungssegment 1412), das der Kante entspricht, eine Betriebskennzahl (z. B. OM1 = 99) zu 1816. Die Betriebskennzahl OM1 ist ein Kostenwert für das Betreiben des AF 100 gemäß dem Bewegungssegment 1412. Wenn das AF 100 z. B. vorhersagt, dass das Betreiben gemäß dem Bewegungssegment 1412 zu einer Kollision führen wird, weist das AF 100 dem Bewegungssegment 1412 eine höhere Betriebskennzahl (99) zu.
  • Das AF 100 verwendet den einen oder die mehreren Prozessoren, um ein Bewegungssegment (z. B. Bewegungssegment 1424) auszuwählen 1820, das einer niedrigsten Betriebskennzahl zugeordnet ist, um das AF 100 zu betreiben. Das AF 100 wählt z. B. das Bewegungssegment 1424 mit der niedrigsten Betriebskennzahl OM4 = 0 aus. Das Planungsmodul 404 sendet eine Nachricht an das Steuermodul 406, um das AF 100 gemäß dem ausgewählten Bewegungssegment 1424 zu betreiben.
  • 19 zeigt einen Prozess 1900 zum autonomen Fahrzeugbetrieb mittels linearer temporaler Logik gemäß einer oder mehreren Ausführungsformen. In einer Ausführungsform wird der Prozess von 19 durch das AF 100 durchgeführt. In anderen Ausführungsformen führen z. B. eine oder mehrere Komponenten des entfernten Servers 136 einen oder alle Schritte des Prozesses 1900 durch. Ebenso können Ausführungsformen verschiedene und/oder zusätzliche Schritte enthalten oder die Schritte in verschiedener Reihenfolge durchführen.
  • Das AF 100 verwendet einen oder mehrere Prozessoren, um eine Kripke-Struktur zu speichern 1904, die ein Bewegungssegment (z. B. das Bewegungssegment 1560) für das Betreiben des AF 100 repräsentiert. Das Bewegungssegment 1560 enthält mehrere raumzeitliche Orte (z. B. die raumzeitlichen Orte 1532, 1564, 1556). Die Kripke-Struktur enthält einen ersten Knoten, der dem ersten raumzeitlichen Ort 1532 entspricht, und einen zweiten Knoten, der dem zweiten raumzeitlichen Ort 1556 entspricht. Die Kripke-Struktur enthält ferner eine Kante, die dem Bewegungssegment 1560 entspricht.
  • Für jeden raumzeitlichen Ort (z. B. den raumzeitlichen Ort 1564) der mehreren raumzeitlichen Orte verwendet das AF 100 den einen oder die mehreren Prozessoren, um einen linearen temporalen Logikausdruck basierend auf der Kripke-Struktur auszuwerten 1908. Der lineare temporale Logikausdruck definiert eine Betriebsbeschränkung für das Betreiben des AF 100 gemäß dem Bewegungssegment 1560. Die Betriebsbeschränkung, die durch den linearen temporalen Logikausdruck definiert ist, legt zum Beispiel fest, dass das AF 100 innerhalb einer Kreuzung nicht den Fahrstreifen wechseln sollte. Ein Beispiel für einen linearen temporalen Logikausdruck kein_Fahrstreifenwechselin_Kreuzung, der eine solche Betriebsbeschränkung definiert, ist oben unter Bezugnahme auf 13 näher beschrieben und ausgewertet.
  • In Reaktion darauf, dass sich ein Wert des linearen temporalen Logikausdrucks an dem raumzeitlichen Ort 1564 ändert, verwendet das AF 100 den einen oder die mehreren Prozessoren, um eine Ortsmarkierung innerhalb der Kripke-Struktur an dem raumzeitlichen Ort 1564 einzufügen 1912. Das AF 100 teilt also das Bewegungssegment 1560 in zwei verschiedene Bewegungssegmente (z. B. die Bewegungssegmente 1568, 1572) auf.
  • Das AF 100 verwendet den einen oder die mehreren Prozessoren, um jedem Bewegungssegment (z. B. dem Bewegungssegment 1568) der beiden verschiedenen Bewegungssegmente 1568, 1572 basierend auf der Ortsmarkierung am raumzeitlichen Ort 1564 eine Betriebskennzahl zuzuweisen 1916. In einer Ausführungsform weist das AF 100 die Betriebskennzahl zu, indem es einen Rang der Betriebsbeschränkung bestimmt. Die Betriebsbeschränkung ist eine einer Vielzahl von rangmäßig gestuften Betriebsbeschränkungen. Eine andere Betriebsbeschränkung, die keine Kollisionen vorschreibt, ist höher eingestuft. Zum Beispiel weist das AF 100 jedem der Bewegungssegmente 1568, 1572 eine niedrigere Betriebskennzahl zu, weil die beiden Bewegungssegmente eine Regelverletzung beinhalten, die keine Kollision beinhaltet.
  • Das AF 100 verwendet den einen oder die mehreren Prozessoren, um eine Bewegungsbahn für das Betreiben des AF 100 basierend auf der Betriebskennzahl zu bestimmen 1920. In einer Ausführungsform wird die Betriebskennzahl über die Bewegungsbahn minimiert. Das AF 100 bestimmt z. B. das Betreiben gemäß den Bewegungssegmenten 1536, 1544, weil diese einen geringeren Gesamtkostenwert aufweisen.
  • 20 zeigt einen Prozess 2000 zum autonomen Fahrzeugbetrieb mittels linearer temporaler Logik gemäß einer oder mehreren Ausführungsformen. In einer Ausführungsform wird der Prozess von 20 durch das AF 100 durchgeführt. In anderen Ausführungsformen führen z. B. eine oder mehrere Komponenten des entfernten Servers 136 einen oder alle Schritte des Prozesses 2000 durch. Ebenso können Ausführungsformen verschiedene und/oder zusätzliche Schritte enthalten oder die Schritte in verschiedener Reihenfolge durchführen.
  • Das AF 100 verwendet einen oder mehrere Prozessoren, um einen linearen temporalen Logikausdruck zu speichern 2004, der einer Kollision des AF 100 mit einem Objekt (z. B. Objekt 1008) entspricht. Der lineare temporale Logikausdruck wird aus dem entfernten Server 136 abgerufen und in der Datenspeichereinheit 142 gespeichert. Der lineare temporale Logikausdruck beinhaltet zum Beispiel eine minimale Geschwindigkeit des AF 100, um eine Kollision des AF 100 mit dem Objekt 1008 zu vermeiden.
  • Das AF 100 verwendet den einen oder die mehreren Prozessoren, um 2008 ein erstes Bewegungssegment (z. B. Bewegungssegment 1412) für das Betreiben des AF 100 zu empfangen. Das erste Bewegungssegment 1412 ist einer Straße, einem Parkplatz, einer Brücke, einer Baustelle, einem Bordstein einer Straße, einer Fahrstreifenbegrenzung oder einer Kreuzung zugeordnet. Das Betreiben des AF 100 gemäß dem ersten Bewegungssegment 1412 bewirkt beispielsweise, dass das AF 100 die Straße, den Parkplatz oder die Brücke überquert.
  • Das AF 100 verwendet den einen oder die mehreren Prozessoren, um einen ersten Wert des linearen temporalen Logikausdrucks basierend auf dem ersten Bewegungssegment 1412 zu bestimmen 2012. Zum Beispiel wird der erste Wert des linearen temporalen Logikausdrucks als falsch bestimmt. Daher bestimmt das AF 100, dass das Betreiben des AF 100 gemäß dem ersten Bewegungssegment 1412 eine Kollision des AF 100 mit dem Objekt 1008 verursachen wird. Das AF 100 bestimmt ferner, dass eine erste Wahrscheinlichkeit einer Kollision des AF 100 mit dem Objekt 1008 größer als ein Schwellenwert ist. Der Schwellenwert beträgt z. B. 5 % und die erste Kollisionswahrscheinlichkeit beträgt 30 %.
  • In Reaktion auf den bestimmten ersten Wert, der angibt, dass die erste Wahrscheinlichkeit einer Kollision des AF 100 mit dem Objekt 1008 größer als der Schwellenwert ist, verwendet das AF 100 das Steuermodul 406, um das AF 100 gemäß einem zweiten Bewegungssegment (z. B. dem Bewegungssegment 1424) zu betreiben 2016, das von dem ersten Bewegungssegment 1412 verschieden ist. Ein zweiter Wert des linearen temporalen Logikausdrucks, der basierend auf dem zweiten Bewegungssegment 1424 bestimmt wird, gibt an, dass eine zweite Wahrscheinlichkeit einer Kollision des AF 100 mit dem Objekt 1008 kleiner als der Schwellenwert ist. Zum Beispiel beträgt die zweite Kollisionswahrscheinlichkeit 0 %.
  • Weitere Ausführungsformen
  • In einigen Ausführungsformen empfangen ein oder mehrere Prozessoren eines Fahrzeugs eine oder mehrere Betriebseinschränkungen zum Betreiben des Fahrzeugs. Jede Betriebsbeschränkung der einen oder mehreren Betriebsbeschränkungen ist durch einen entsprechenden linearen temporalen Logikausdruck definiert. Der eine oder die mehreren Prozessoren bestimmen ein oder mehrere Bewegungssegmente zum Betreiben des Fahrzeugs. Jedes Bewegungssegment des einen oder der mehreren Bewegungssegmente verbindet zwei verschiedene raumzeitliche Orte. Der eine oder die mehreren Prozessoren bestimmen Werte des einen oder der mehreren linearen temporalen Logikausdrücke für eine Folge von Zuständen des Fahrzeugs basierend auf einem temporalen Modaloperators. Der eine oder die mehreren Prozessoren weisen dem einen oder den mehreren Bewegungssegmenten Betriebskennzahlen zu, die auf den Werten des einen oder der mehreren linearen temporalen Logikausdrücke basieren. Der eine oder die mehreren Prozessoren wählen ein Bewegungssegment des einen oder der mehreren Bewegungssegmente so aus, dass das ausgewählte Bewegungssegment eine zugewiesene Betriebskennzahl unterhalb eines Schwellenwerts aufweist. Ein Steuermodul des Fahrzeugs betreibt das Fahrzeug gemäß dem ausgewählten Bewegungssegment.
  • In einigen Ausführungsformen beinhaltet das Zuweisen der Betriebskennzahlen zu dem einen oder den mehreren Bewegungssegmenten das Bestimmen von Rängen der einen oder mehreren Betriebsbeschränkungen.
  • In einigen Ausführungsformen beinhaltet das Zuweisen der Betriebskennzahlen ferner das Angeben eines Rangs einer Betriebsbeschränkung, die durch einen linearen temporalen Logikausdruck als Betriebskennzahl für das Bewegungssegment definiert ist.
  • In einigen Ausführungsformen teilen der eine oder die mehreren Prozessoren ein Bewegungssegment des einen oder der mehreren Bewegungssegmente in zwei verschiedene Bewegungssegmente an einem raumzeitlichen Ort auf.
  • In einigen Ausführungsformen wird die Aufteilung des Bewegungssegments in Reaktion auf einen Wert eines linearen temporalen Logikausdrucks durchgeführt, der sich an dem raumzeitlichen Ort ändert.
  • In einigen Ausführungsformen beinhaltet das Bestimmen der Werte des einen oder der mehreren linearen temporalen Logikausdrücke das Auswerten jeder linearen temporalen Logikaussage des einen oder der mehreren linearen temporalen Logikaussagen.
  • In einigen Ausführungsformen enthält jeder temporaler Logikausdruck einen oder mehrere lineare temporale Logikaussagen.
  • In einigen Ausführungsformen beinhaltet das Bestimmen der Werte des einen oder der mehreren linearen temporalen Logikausdrücke ferner das Aggregieren der ausgewerteten einzelnen linearen temporalen Logikaussagen des einen oder der mehreren linearen temporalen Logikaussagen.
  • In einigen Ausführungsformen randomisieren der eine oder die mehreren Prozessoren raumzeitliche Informationen, die aus einer Karte der Umgebung, in der sich das Fahrzeug befindet, erhalten werden, um eine Kripke-Struktur zu erzeugen.
  • In einigen Ausführungsformen nehmen der eine oder die mehreren Prozessoren raumzeitliche Informationen auf, die aus einer Karte der Umgebung, in der sich das Fahrzeug befindet, erhalten werden, um die Kripke-Struktur zu erzeugen.
  • In einigen Ausführungsformen wird eine Betriebsbeschränkung in Reaktion auf einen ersten Wert eines linearen temporalen Logikausdrucks verletzt, der in einem ersten Knoten der Kripke-Struktur ausgewertet wird und von einem zweiten Wert des linearen temporalen Logikausdrucks verschieden ist, der in einem zweiten Knoten der Kripke-Struktur ausgewertet wird. Der lineare temporale Logikausdruck definiert die Betriebsbeschränkung.
  • In einigen Ausführungsformen beinhaltet das Bestimmen der Werte des einen oder der mehreren linearen temporalen Logikausdrücke das Bestimmen, ob ein Wert eines linearen temporalen Logikausdrucks wahr oder falsch ist.
  • In einigen Ausführungsformen verstößt das Betreiben des Fahrzeugs gemäß dem ausgewählten Bewegungssegment gegen eine Betriebsbeschränkung der einen oder mehreren Betriebsbeschränkungen.
  • In einigen Ausführungsformen verletzt das Betreiben des Fahrzeugs gemäß dem ausgewählten Bewegungssegment die Betriebsbeschränkung in Reaktion darauf, dass ein Wert eines linearen temporalen Logikausdrucks, der die Betriebsbeschränkung definiert, falsch ist.
  • In einigen Ausführungsformen wird eine Kripke-Struktur erzeugt.
  • In einigen Ausführungsformen entspricht ein erster Knoten der Kripke-Struktur einem ersten raumzeitlichen Ort der beiden verschiedenen raumzeitlichen Orte des Fahrzeugs.
  • In einigen Ausführungsformen entspricht ein zweiter Knoten der Kripke-Struktur einem zweiten raumzeitlichen Ort der beiden verschiedenen raumzeitlichen Orte.
  • In einigen Ausführungsformen entspricht eine Kante der Kripke-Struktur, die den ersten Knoten und den zweiten Knoten verbindet, einem Bewegungssegment für das Betreiben des Fahrzeugs vom ersten raumzeitlichen Ort zum zweiten raumzeitlichen Ort.
  • In einigen Ausführungsformen enthält die Kripke-Struktur mehrere Knoten.
  • In einigen Ausführungsformen beinhaltet das Bestimmen der Werte des einen oder der mehreren linearen temporalen Logikausdrücke das Auswerten des einen oder der mehreren linearen temporalen Logikausdrücke in jedem Knoten der mehreren Knoten.
  • In einigen Ausführungsformen empfangen ein oder mehrere Prozessoren eines Fahrzeugs mehrere Bewegungssegmente. Jedes Bewegungssegment der mehreren Bewegungssegmente verbindet einen ersten raumzeitlichen Ort mit einem zweiten raumzeitlichen Ort. Der eine oder die mehreren Prozessoren erzeugen eine Kripke-Struktur mit einem ersten Knoten, der dem ersten raumzeitlichen Ort entspricht, einem zweiten Knoten, der dem zweiten raumzeitlichen Ort entspricht, und mehreren Kanten. Jede Kante der mehreren Kanten entspricht einem betreffenden Bewegungssegment der mehreren Bewegungssegmente. Der eine oder die mehreren Prozessoren empfangen einen linearen temporalen Logikausdruck, der eine Betriebsbeschränkung zum Betreiben des Fahrzeugs definiert. Für jede Kante der mehreren Kanten innerhalb der Kripke-Struktur wird in Reaktion darauf, dass ein Wert des linearen temporalen Logikausdrucks, der entweder im ersten Knoten oder im zweiten Knoten bestimmt wurde, falsch ist, einem Bewegungssegment, das der Kante entspricht, eine Betriebskennzahl zugewiesen. Der eine oder die mehrere Prozessoren wählen ein Bewegungssegment aus, das einer niedrigsten Betriebskennzahl zugeordnet ist, um das Fahrzeug zu betreiben.
  • In einigen Ausführungsformen beinhaltet das Zuweisen der Betriebskennzahl das Bestimmen einer Entfernung zwischen dem Fahrzeug und einem Objekt basierend auf Sensordaten, die aus einem oder mehreren Sensoren des Fahrzeugs erhalten werden.
  • In einigen Ausführungsformen nimmt die Betriebskennzahl mit abnehmender Entfernung zwischen dem Fahrzeug und dem Objekt zu.
  • In einigen Ausführungsformen beenden der eine oder die mehreren Prozessoren die Erzeugung einer Bewegungsbahn, die ein Bewegungssegment der mehreren Bewegungssegmente enthält.
  • In einigen Ausführungsformen wird das Beenden der Erzeugung der Bewegungsbahn in Reaktion darauf durchgeführt, dass eine dem Bewegungssegment zugewiesene Betriebskennzahl größer als ein Schwellenwert ist.
  • In einigen Ausführungsformen ist der lineare temporale Logikausdruck einer von mehreren rangmäßig gestuften linearen temporalen Logikausdrücken.
  • In einigen Ausführungsformen ist eine Betriebskennzahl eines ersten linearen temporalen Logikausdrucks der mehreren rangmäßig gestuften linearen temporalen Logikausdrücke größer als eine Betriebskennzahl eines zweiten linearen temporalen Logikausdrucks der mehreren rangmäßig gestuften linearen temporalen Logikausdrücke.
  • In einigen Ausführungsformen ist der erste lineare temporale Logikausdruck einer Wahrscheinlichkeit einer Kollision des Fahrzeugs mit einem Objekt zugeordnet und der zweite lineare temporale Logikausdruck einem Grad an Fahrgastkomfort zugeordnet, der durch einen oder mehrere Fahrgastsensoren des Fahrzeugs gemessen wird.
  • In einigen Ausführungsformen wird der Wert des linearen temporalen Logikausdrucks als falsch bestimmt, wenn die Wahrscheinlichkeit einer Kollision des Fahrzeugs mit dem Objekt größer als ein Schwellenwert ist.
  • In einigen Ausführungsformen enthält der lineare temporale Logikausdruck eine Aussagenvariable, die eine (x,y)-Position des Fahrzeugs repräsentiert.
  • In einigen Ausführungsformen ist die (x,y)-Position des Fahrzeugs damit verknüpft, ob sich das Fahrzeug innerhalb eines Fahrstreifens oder einer Kreuzung befindet.
  • In einigen Ausführungsformen beinhaltet das Erzeugen der Kripke-Struktur: für jedes Bewegungssegment das Bestimmen einer seitlichen Fehlertoleranz des Fahrzeugs in Bezug auf ein Objekt, wenn das Fahrzeug gemäß dem Bewegungssegment betrieben wird.
  • In einigen Ausführungsformen beinhaltet das Erzeugen der Kripke-Struktur ferner das Zuordnen jeder Kante der mehreren Kanten unter Verwendung des einen oder der mehreren Prozessoren zu der bestimmten seitlichen Fehlertoleranz.
  • In einigen Ausführungsformen beinhaltet der lineare temporale Logikausdruck eine minimale Geschwindigkeit des Fahrzeugs, um eine Kollision des Fahrzeugs mit dem Objekt zu vermeiden.
  • In einigen Ausführungsformen beinhaltet der lineare temporale Logikausdruck eine minimale Beschleunigung des Fahrzeugs, um eine Kollision des Fahrzeugs mit dem Objekt zu vermeiden.
  • In einigen Ausführungsformen beinhaltet der lineare temporale Logikausdruck eine maximale Geschwindigkeit oder eine maximale Beschleunigung des Fahrzeugs, die einem Grad an Fahrgastkomfort zugeordnet ist, der durch am Fahrzeug vorhandenen Fahrgastsensoren gemessen wird.
  • In einigen Ausführungsformen betreibt ein Steuermodul des Fahrzeugs das Fahrzeug gemäß dem ausgewählten Bewegungssegment, während es die Betriebsbeschränkung verletzt, um eine Kollision des Fahrzeugs mit dem Objekt zu vermeiden.
  • In einigen Ausführungsformen speichern ein oder mehrere Prozessoren eines Fahrzeugs eine Kripke-Struktur, die ein Bewegungssegment für das Betreiben des Fahrzeugs repräsentiert. Das Bewegungssegment enthält mehrere raumzeitliche Orte. Für jeden raumzeitlichen Ort der mehreren raumzeitlichen Orte: Der eine oder die mehreren Prozessoren werten einen linearen temporalen Logikausdruck basierend auf der Kripke-Struktur aus. Der lineare temporale Logikausdruck definiert eine Betriebsbeschränkung zum Betreiben des Fahrzeugs gemäß dem Bewegungssegment. In Reaktion darauf, dass sich ein Wert des linearen temporalen Logikausdrucks an dem raumzeitlichen Ort ändert, fügen der eine oder die mehreren Prozessoren eine Ortsmarkierung innerhalb der Kripke-Struktur an dem raumzeitlichen Ort ein, um das Bewegungssegment in zwei verschiedene Bewegungssegmente zu unterteilen. Der eine oder die mehreren Prozessoren weisen jedem Bewegungssegment der beiden verschiedenen Bewegungssegmente eine auf der Ortsmarkierung basierende Betriebskennzahl zu, Der eine oder die mehreren Prozessoren bestimmen eine Bewegungsbahn zum Betreiben des Fahrzeugs basierend auf der Betriebskennzahl.
  • In einigen Ausführungsformen wird die Betriebskennzahl über die Bewegungsbahn minimiert.
  • In einigen Ausführungsformen enthält der lineare temporale Logikausdruck eine oder mehrere lineare temporale Logikaussagen.
  • In einigen Ausführungsformen entspricht eine erste lineare temporale Logikaussage der einen oder mehreren linearen temporalen Logikaussagen, ob sich das Fahrzeug innerhalb einer Kreuzung befindet.
  • In einigen Ausführungsformen entspricht eine zweite lineare temporale Logikaussage der einen oder mehreren linearen temporalen Logikaussagen einem Fahrstreifen, in dem das Fahrzeug fährt.
  • In einigen Ausführungsformen entspricht der Wert des linearen temporalen Logikausdrucks, ob das Fahrzeug den Fahrstreifen wechselt, in dem das Fahrzeug fährt, während das Fahrzeug innerhalb der Kreuzung fährt.
  • In einigen Ausführungsformen entspricht der Wert des linearen temporalen Logikausdrucks, ob das Fahrzeug in einer durch die Betriebsbeschränkung festgelegten Richtung fährt.
  • In einigen Ausführungsformen betreibt ein Steuermodul des Fahrzeugs das Fahrzeug gemäß der bestimmten Bewegungsbahn.
  • In einigen Ausführungsformen wird bestimmt, ob das Betreiben des Fahrzeugs gemäß dem Bewegungssegment die Betriebsbeschränkung verletzt.
  • In einigen Ausführungsformen reagiert das Bestimmen, dass das Betreiben des Fahrzeugs die Betriebsbeschränkung verletzt, darauf, dass der Wert des linearen temporalen Logikausdrucks falsch ist.
  • In einigen Ausführungsformen beinhaltet das Auswerten des linearen temporalen Logikausdrucks das Bestimmen von Werten des linearen temporalen Logikausdrucks für eine Folge von Zuständen des Fahrzeugs basierend auf einem temporalen Modaloperator.
  • In einigen Ausführungsformen reagiert das Betreiben des Fahrzeugs gemäß der ermittelten Bewegungsbahn darauf, dass die Betriebskennzahl kleiner als ein Schwellenwert ist.
  • In einigen Ausführungsformen beinhaltet das Zuweisen der Betriebskennzahl das Bestimmen eines Rangs der Betriebsbeschränkung.
  • In einigen Ausführungsformen ist die Betriebsbeschränkung eine aus einer Vielzahl von Betriebsbeschränkungen.
  • In einigen Ausführungsformen wird die Kripke-Struktur erzeugt. Jeder Knoten von mehreren Knoten der Kripke-Struktur entspricht einem betreffenden raumzeitlichen Ort der mehreren raumzeitlichen Orte.
  • In einigen Ausführungsformen entspricht eine Kante der Kripke-Struktur, die einen ersten Knoten und einen zweiten Knoten verbindet, dem Bewegungssegment für das Betreiben des Fahrzeugs von einem ersten raumzeitlichen Ort zu einem zweiten raumzeitlichen Ort.
  • In einigen Ausführungsformen ist ein erster Wert des linearen temporalen Logikausdrucks, der im ersten Knoten ausgewertet wird, verschieden von einem zweiten Wert des linearen temporalen Logikausdrucks, der im zweiten Knoten ausgewertet wird.
  • In der vorgenannten Beschreibung sind Ausführungsformen der Erfindung unter Bezugnahme auf zahlreiche spezifische Details beschrieben, die von Implementierung zu Implementierung verschieden sein können. Die Beschreibung und die Zeichnungen sind dementsprechend in einem veranschaulichenden statt einem einschränkenden Sinn zu sehen. Der einzige und ausschließliche Indikator für den Schutzbereich der Erfindung und das, was durch die Anmelder als Schutzbereich der Erfindung beabsichtigt ist, ist der wörtliche und äquivalente Schutzbereich der Menge der Ansprüche, die aus dieser Anmeldung in der spezifischen Form hervorgehen, in der diese Ansprüche ausgestellt sind, einschließlich etwaiger späterer Korrekturen. Alle hier ausdrücklich dargelegten Definitionen für Begriffe, die in diesen Ansprüchen enthalten sind, regeln die Bedeutung der in den Ansprüchen verwendeten Begriffe. Darüber hinaus kann bei Verwendung des Begriffs „ferner umfassend“ in der vorstehenden Beschreibung oder in den folgenden Ansprüchen das auf diese Formulierung Folgende ein zusätzlicher Schritt oder eine zusätzliche Einrichtung oder ein Unterschritt bzw. eine Untereinrichtung eines bereits erwähnten Schritts oder einer bereits erwähnten Einrichtung sein.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 62/856875 [0001]

    Claims (20)

    1. Verfahren, umfassend: Speichern eines linearen temporalen Logikausdrucks, der eine Betriebsbeschränkung für das Betreiben des Fahrzeugs definiert, unter Verwendung eines oder mehrerer Prozessoren eines Fahrzeugs, das sich an einem ersten raumzeitlichen Ort befindet; Empfangen eines zweiten raumzeitlichen Ortes für das Fahrzeug unter Verwendung des einen oder der mehreren Prozessoren; Identifizieren eines Bewegungssegments für das Betreiben des Fahrzeugs von dem ersten raumzeitlichen Ort zu dem zweiten raumzeitlichen Ort unter Verwendung des einen oder der mehreren Prozessoren; Bestimmen eines Wertes des linearen temporalen Logikausdrucks basierend auf dem Bewegungssegment unter Verwendung des einen oder der mehreren Prozessoren; und Erzeugen einer Betriebskennzahl für das Betreiben des Fahrzeugs gemäß dem Bewegungssegment basierend auf dem bestimmten Wert des linearen temporalen Logikausdrucks unter Verwendung des einen oder der mehreren Prozessoren.
    2. Verfahren gemäß Anspruch 1, wobei der lineare temporale Logikausdruck eine oder mehrere lineare temporale Logikaussagen umfasst.
    3. Verfahren gemäß Anspruch 2, wobei eine erste lineare temporale Logikaussage der einen oder mehreren linearen temporalen Logikaussagen repräsentiert, ob sich das Fahrzeug innerhalb einer Kreuzung befindet.
    4. Verfahren gemäß Anspruch 3, wobei ein Wert des linearen temporalen Logikausdrucks dem entspricht, ob das Fahrzeug während des Betriebs innerhalb der Kreuzung den Fahrstreifen wechselt.
    5. Verfahren gemäß einem der Ansprüche 2 bis 4, wobei eine zweite lineare temporale Logikaussage der einen oder mehreren linearen temporalen Logikaussagen einen Fahrstreifen repräsentiert, in dem das Fahrzeug fährt.
    6. Verfahren gemäß einem der Ansprüche 1 bis 5, wobei ein Wert des linearen temporalen Logikausdrucks dem entspricht, ob das Fahrzeug in einer durch die Betriebsbeschränkung festgelegten Richtung fährt.
    7. Verfahren gemäß einem der Ansprüche 1 bis 6, ferner umfassend das Betreiben des Fahrzeugs unter Verwendung eines Steuermoduls des Fahrzeugs gemäß dem Bewegungssegment.
    8. Verfahren gemäß Anspruch 7, ferner umfassend das Bestimmen, ob das Betreiben des Fahrzeugs gemäß dem Bewegungssegment die Betriebsbeschränkung basierend auf dem linearen temporalen Logikausdruck verletzt.
    9. Verfahren gemäß Anspruch 8, wobei das Bestimmen, ob das Betreiben des Fahrzeugs gemäß dem Bewegungssegment die Betriebsbeschränkung verletzt, in Reaktion darauf durchgeführt wird, dass der Wert des linearen temporalen Logikausdrucks falsch ist.
    10. Verfahren gemäß einem der Ansprüche 7-9, wobei das Betreiben des Fahrzeugs gemäß dem Bewegungssegment in Reaktion darauf durchgeführt wird, dass die Betriebskennzahl kleiner als ein Schwellenwert ist.
    11. Verfahren gemäß einem der Ansprüche 1-10, wobei das Erzeugen der Betriebskennzahl das Bestimmen eines Rangs der Betriebsbeschränkung umfasst.
    12. Verfahren gemäß einem der Ansprüche 1-11, wobei die Betriebsbeschränkung für das Betreiben des Fahrzeugs eine aus einer rangmäßig gestuften Vielzahl von Betriebsbeschränkungen ist.
    13. Verfahren gemäß einem der Ansprüche 1 bis 12, ferner umfassend das Erzeugen einer Kripke-Struktur, die das Bewegungssegment repräsentiert.
    14. Verfahren gemäß Anspruch 13, wobei ein erster Knoten der Kripke-Struktur dem ersten raumzeitlichen Ort entspricht.
    15. Verfahren gemäß Anspruch 14, wobei ein zweiter Knoten der Kripke-Struktur dem zweiten raumzeitlichen Ort entspricht.
    16. Verfahren gemäß Anspruch 15, wobei eine Kante der Kripke-Struktur, die den ersten Knoten und den zweiten Knoten verbindet, dem Bewegungssegment zum Betreiben des Fahrzeugs vom ersten raumzeitlichen Ort zum zweiten raumzeitlichen Ort entspricht.
    17. Verfahren gemäß einem der Ansprüche 15-16, wobei ein erster Wert des linearen temporalen Logikausdrucks, der im ersten Knoten ausgewertet wird, von einem zweiten Wert des linearen temporalen Logikausdrucks, der im zweiten Knoten ausgewertet wird, verschieden ist.
    18. Fahrzeug, umfassend: einen oder mehrere Computerprozessoren; und ein oder mehrere nicht-flüchtige Speichermedien, auf denen Anweisungen gespeichert sind, die beim Ausführen durch den einen oder die mehreren Computerprozessoren den einen oder die mehreren Computerprozessoren dazu veranlassen: einen linearen temporalen Logikausdruck zu speichern, der eine Betriebsbeschränkung für das Betreiben des Fahrzeugs definiert, wobei sich das Fahrzeug an einem ersten raumzeitlichen Ort befindet; einen zweiten raumzeitlichen Ort für das Fahrzeug zu empfangen; ein Bewegungssegment für das Betreiben des Fahrzeugs vom ersten raumzeitlichen Ort zum zweiten raumzeitlichen Ort zu identifizieren; einen Wert des linearen temporalen Logikausdrucks basierend auf dem Bewegungssegment zu bestimmen; und eine Betriebskennzahl für das Betreiben des Fahrzeugs gemäß dem Bewegungssegment basierend auf dem bestimmten Wert des linearen temporalen Logikausdrucks zu erzeugen.
    19. Fahrzeug gemäß Anspruch 18, wobei der lineare temporale Logikausdruck einen oder mehrere lineare temporale Logikaussagen umfasst.
    20. Ein oder mehrere nicht-flüchtige Speichermedien, die Anweisungen speichern, die beim Ausführen durch eine oder mehrere Rechenvorrichtungen die eine oder mehreren Rechenvorrichtungen veranlassen: einen linearen temporalen Logikausdruck zu speichern, der eine Betriebsbeschränkung für das Betreiben des Fahrzeugs definiert, wobei sich das Fahrzeug an einem ersten raumzeitlichen Ort befindet; einen zweiten raumzeitlichen Ort für das Fahrzeug zu empfangen; ein Bewegungssegment für das Betreiben des Fahrzeugs vom ersten raumzeitlichen Ort zum zweiten raumzeitlichen Ort zu identifizieren; einen Wert des linearen temporalen Logikausdrucks basierend auf dem Bewegungssegment zu bestimmen; und eine Betriebskennzahl für das Betreiben des Fahrzeugs gemäß dem Bewegungssegment basierend auf dem bestimmten Wert des linearen temporalen Logikausdrucks zu erzeugen.
    DE112020002695.7T 2019-06-04 2020-06-04 Autonomer fahrzeugbetrieb mittels linearer temporaler logik Pending DE112020002695T5 (de)

    Applications Claiming Priority (3)

    Application Number Priority Date Filing Date Title
    US201962856875P 2019-06-04 2019-06-04
    US62/856,875 2019-06-04
    PCT/IB2020/055287 WO2020245769A1 (en) 2019-06-04 2020-06-04 Autonomous vehicle operation using linear temporal logic

    Publications (1)

    Publication Number Publication Date
    DE112020002695T5 true DE112020002695T5 (de) 2022-04-21

    Family

    ID=71094633

    Family Applications (1)

    Application Number Title Priority Date Filing Date
    DE112020002695.7T Pending DE112020002695T5 (de) 2019-06-04 2020-06-04 Autonomer fahrzeugbetrieb mittels linearer temporaler logik

    Country Status (6)

    Country Link
    US (2) US11577754B2 (de)
    KR (2) KR102511954B1 (de)
    CN (1) CN113195333A (de)
    DE (1) DE112020002695T5 (de)
    GB (4) GB2589245B (de)
    WO (1) WO2020245769A1 (de)

    Families Citing this family (8)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    US11623662B2 (en) * 2020-05-08 2023-04-11 Baidu Usa Llc Planning system for speed limit changes for autonomous vehicles
    US11904890B2 (en) * 2020-06-17 2024-02-20 Baidu Usa Llc Lane change system for lanes with different speed limits
    CN113064429B (zh) * 2021-03-15 2022-04-01 江南大学 一种磁性微机器人群体独立驱动控制系统
    WO2022239250A1 (ja) * 2021-05-14 2022-11-17 三菱電機株式会社 行動決定装置、行動決定方法、行動決定プログラム、設計支援装置、設計支援方法および設計支援プログラム
    KR102317430B1 (ko) * 2021-05-27 2021-10-26 주식회사 라이드플럭스 자율주행 차량의 주행 계획을 위한 로드 네트워크 맵 생성방법, 서버 및 컴퓨터프로그램
    US11634158B1 (en) * 2022-06-08 2023-04-25 Motional Ad Llc Control parameter based search space for vehicle motion planning
    US20230417565A1 (en) * 2022-06-27 2023-12-28 Waymo Llc Lane changes for autonomous vehicles involving traffic stacks at intersection
    US20240042993A1 (en) * 2022-08-04 2024-02-08 Motional Ad Llc Trajectory generation utilizing diverse trajectories

    Family Cites Families (15)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    JPS6261564A (ja) 1985-09-10 1987-03-18 Fujiya Seika Kk 煎り落花生等の炒成方法
    DE102015208790A1 (de) * 2015-05-12 2016-11-17 Volkswagen Aktiengesellschaft Bestimmen einer Trajektorie für ein Fahrzeug
    US9821801B2 (en) * 2015-06-29 2017-11-21 Mitsubishi Electric Research Laboratories, Inc. System and method for controlling semi-autonomous vehicles
    KR20170077332A (ko) 2015-12-28 2017-07-06 전자부품연구원 지능형 자율 주행 차량을 위한 우선 순위 기반의 충돌 회피 제어 방법 및 시스템
    KR101740529B1 (ko) * 2015-12-30 2017-05-30 한국철도기술연구원 무인운전차량의 주행경로 결정 및 배차 방법
    WO2017139613A1 (en) * 2016-02-11 2017-08-17 Massachusetts Institute Of Technology Motion planning for robotic systems
    US9915948B2 (en) 2016-07-14 2018-03-13 Mitsubishi Electric Research Laboratories, Inc. System and method for controlling motion of vehicle
    US10671076B1 (en) * 2017-03-01 2020-06-02 Zoox, Inc. Trajectory prediction of third-party objects using temporal logic and tree search
    US10353390B2 (en) * 2017-03-01 2019-07-16 Zoox, Inc. Trajectory generation and execution architecture
    JP6235748B1 (ja) 2017-06-22 2017-11-22 株式会社ショーワ 経路生成装置、車両、及び車両システム
    DE102017120366A1 (de) * 2017-09-05 2019-03-07 Bayerische Motoren Werke Aktiengesellschaft Verfahren, Vorrichtung, Computerprogramm und Computerprogrammprodukt zur Bewegungsplanung eines Systems
    EP3454269A1 (de) * 2017-09-08 2019-03-13 Nutonomy Inc. Planung autonomer bewegungen
    US10606277B2 (en) * 2017-09-18 2020-03-31 Baidu Usa Llc Speed optimization based on constrained smoothing spline for autonomous driving vehicles
    US11235761B2 (en) * 2019-04-30 2022-02-01 Retrospect Technology, LLC Operational risk assessment for autonomous vehicle control
    US11161502B2 (en) * 2019-08-13 2021-11-02 Zoox, Inc. Cost-based path determination

    Also Published As

    Publication number Publication date
    GB2611438B (en) 2023-11-01
    GB202218139D0 (en) 2023-01-18
    US20230095915A1 (en) 2023-03-30
    GB202307197D0 (en) 2023-06-28
    GB2616364B (en) 2024-02-21
    GB2611438A (en) 2023-04-05
    KR102511954B1 (ko) 2023-03-20
    GB2589245B (en) 2023-01-25
    GB2619174A (en) 2023-11-29
    KR20230042401A (ko) 2023-03-28
    WO2020245769A1 (en) 2020-12-10
    GB202019751D0 (en) 2021-01-27
    GB2589245A (en) 2021-05-26
    CN113195333A (zh) 2021-07-30
    KR20210018436A (ko) 2021-02-17
    KR102569135B1 (ko) 2023-08-22
    GB202311889D0 (en) 2023-09-13
    US11577754B2 (en) 2023-02-14
    US20200385024A1 (en) 2020-12-10
    GB2616364A (en) 2023-09-06
    GB2619174B (en) 2024-03-27

    Similar Documents

    Publication Publication Date Title
    DE112019004832T5 (de) Betrieb eines Fahrzeugs unter Verwendung von Bewegungsplanung mit maschinellem Lernen
    DE102020111938A1 (de) Systeme und verfahren zum planen und aktualisieren einer fahrzeugtrajektorie
    DE102021101758A1 (de) Ampeldetektionssystem für ein fahrzeug
    DE102020129456A1 (de) Trajektorienvorhersage aus einer vorberechneten oder dynamisch generierten bank von trajektorien
    DE112020002695T5 (de) Autonomer fahrzeugbetrieb mittels linearer temporaler logik
    DE112020000487T5 (de) Automatisches wählen von datenproben zur annotation
    DE102020111682A1 (de) Systeme und verfahren zum implementieren einer autonomen fahrzeugreaktion auf ein sensorversagen
    DE102021112349A1 (de) Fahrzeugbetrieb unter verwendung eines dynamischen belegungsrasters
    DE102020210499A1 (de) Datengesteuerte regelwerke
    DE102020133744A1 (de) Vordergrundextraktion unter verwendung von flächenanpassung
    DE112019006282T5 (de) Betrieb eines Fahrzeugs unter Verwendung mehrerer Bewegungsbeschränkungen
    DE102020111250A1 (de) Grafische benutzerschnittstelle zur anzeige des verhaltens autonomer fahrzeuge
    DE102021132850A1 (de) Homotopiebasierter planer für autonome fahrzeuge
    DE102021133742A1 (de) Planung einer trajektorie eines autonomen fahrzeugs mit dynamischem zustand
    DE102021105001A1 (de) Steuerungsarchitekturen für autonome fahrzeuge
    DE102021132218A1 (de) Prädiktive Analytik für Fahrzeuggesundheitszustand
    DE102020128433A1 (de) Simulation eines autonomen Fahrzeugs zur Verbesserung der Sicherheit und Zuverlässigkeit eines autonomen Fahrzeugs
    DE102020126217A1 (de) Navigieren von Mehrwege-Stopp-Kreuzungen mit einem autonomen Fahrzeug
    DE102021133739A1 (de) Steuern eines autonomen fahrzeugs unter verwendung einer näheregel
    DE102020114306A1 (de) Schätzen von geschwindigkeitsprofilen
    DE102020132302A1 (de) Sicherheitssystem für ein fahrzeug
    DE102021211781A1 (de) Fahrzeugbetrieb unter verwendung von verhaltensregelprüfungen
    DE102021131844A1 (de) Systeme und verfahren zum implementieren von verdeckungspräsentationen über strassenmerkmale
    DE102021127118A1 (de) Identifizieren von Objekten mit LiDAR
    DE102021133340A1 (de) Modalitätsübergreifendes aktives lernen zur objekterkennung