DE102020111938A1 - Systeme und verfahren zum planen und aktualisieren einer fahrzeugtrajektorie - Google Patents

Systeme und verfahren zum planen und aktualisieren einer fahrzeugtrajektorie Download PDF

Info

Publication number
DE102020111938A1
DE102020111938A1 DE102020111938.0A DE102020111938A DE102020111938A1 DE 102020111938 A1 DE102020111938 A1 DE 102020111938A1 DE 102020111938 A DE102020111938 A DE 102020111938A DE 102020111938 A1 DE102020111938 A1 DE 102020111938A1
Authority
DE
Germany
Prior art keywords
vehicle
processors
objects
trajectory
determining
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
DE102020111938.0A
Other languages
English (en)
Inventor
Olivia Leitermann
Eryk Brian Nice
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
Hyundai Aptiv 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 Hyundai Aptiv Ad LLC filed Critical Hyundai Aptiv Ad LLC
Publication of DE102020111938A1 publication Critical patent/DE102020111938A1/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
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0968Systems involving transmission of navigation instructions to the vehicle
    • G08G1/096833Systems involving transmission of navigation instructions to the vehicle where different aspects are considered when computing the route
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/09Taking automatic action to avoid collision, e.g. braking and steering
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/095Predicting travel path or likelihood of collision
    • B60W30/0956Predicting travel path or likelihood of collision the prediction being responsive to traffic or environmental parameters
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/18Propelling the vehicle
    • B60W30/18009Propelling the vehicle related to particular drive situations
    • B60W30/18054Propelling the vehicle related to particular drive situations at stand still, e.g. engine in idling state
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • 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
    • 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/00272Planning or execution of driving tasks using trajectory prediction for other traffic participants relying on extrapolation of current movement
    • 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/00276Planning or execution of driving tasks using trajectory prediction for other traffic participants for two or more other traffic participants
    • 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/20Instruments for performing navigational calculations
    • 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
    • G01MEASURING; TESTING
    • G01KMEASURING TEMPERATURE; MEASURING QUANTITY OF HEAT; THERMALLY-SENSITIVE ELEMENTS NOT OTHERWISE PROVIDED FOR
    • G01K13/00Thermometers specially adapted for specific purposes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N33/00Investigating or analysing materials by specific methods not covered by groups G01N1/00 - G01N31/00
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P3/00Measuring linear or angular speed; Measuring differences of linear or angular speeds
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S11/00Systems for determining distance or velocity not using reflection or reradiation
    • G01S11/12Systems for determining distance or velocity not using reflection or reradiation using electromagnetic waves other than radio waves
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • G01S13/93Radar or analogous systems specially adapted for specific applications for anti-collision purposes
    • G01S13/931Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S15/00Systems using the reflection or reradiation of acoustic waves, e.g. sonar systems
    • G01S15/88Sonar systems specially adapted for specific applications
    • G01S15/93Sonar systems specially adapted for specific applications for anti-collision purposes
    • G01S15/931Sonar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/02Systems using the reflection of electromagnetic waves other than radio waves
    • G01S17/06Systems determining position data of a target
    • G01S17/08Systems determining position data of a target for measuring distance only
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • G01S19/45Determining position by combining measurements of signals from the satellite radio beacon positioning system with a supplementary measurement
    • G01S19/46Determining position by combining measurements of signals from the satellite radio beacon positioning system with a supplementary measurement the supplementary measurement being of a radio-wave signal type
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01WMETEOROLOGY
    • G01W1/00Meteorology
    • G01W1/14Rainfall or precipitation gauges
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0967Systems involving transmission of highway information, e.g. weather, speed limits
    • G08G1/096708Systems involving transmission of highway information, e.g. weather, speed limits where the received information might be used to generate an automatic action on the vehicle control
    • G08G1/096725Systems involving transmission of highway information, e.g. weather, speed limits where the received information might be used to generate an automatic action on the vehicle control where the received information generates an automatic action on the vehicle control
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • 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
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • 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/40Dynamic objects, e.g. animals, windblown objects
    • B60W2554/404Characteristics
    • B60W2554/4041Position
    • 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/40Dynamic objects, e.g. animals, windblown objects
    • B60W2554/404Characteristics
    • B60W2554/4042Longitudinal speed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2554/00Input parameters relating to objects
    • B60W2554/40Dynamic objects, e.g. animals, windblown objects
    • B60W2554/404Characteristics
    • B60W2554/4043Lateral speed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2554/00Input parameters relating to objects
    • B60W2554/80Spatial relation or speed relative to objects

Abstract

Techniken zum Generieren einer Fahrtrajektorie für ein Fahrzeug, während das Fahrzeug durch ein Objekt (z. B. ein anderes Fahrzeug, ein Fahrrad oder einen Fußgänger) blockiert wird (z. B. haben die Sensoren des Fahrzeugs ein Objekt detektiert, durch das das Fahrzeug nicht mehr in der Lage ist, sich zu bewegen), und Ausführen der Fahrtrajektorie, sobald das Fahrzeug nicht mehr blockiert wird, sind bereitgestellt. Zudem sind Techniken zum Aktualisieren eines Teils einer Fahrtrajektorie eines Fahrzeugs basierend auf einer Bestimmung, dass ein Objekt ein Segment der aktuellen Fahrtrajektorie zu einem späteren Zeitpunkt überqueren wird, ohne Neuberechnen der gesamten Trajektorie bereitgestellt.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
  • Diese Anmeldung beansprucht die Priorität der US-Patentanmeldung Nr. 62/844,689 , eingereicht am 7. Mai 2019. Die Offenbarung der Voranmeldung ist als Teil der Offenbarung der vorliegenden Anmeldung zu betrachten und wird in vollem Umfang in die vorliegende Anmeldung aufgenommen.
  • TECHNISCHES GEBIET DER ERFINDUNG
  • Die vorliegende Beschreibung betrifft Systeme und Verfahren zum Planen und Aktualisieren einer Fahrzeugtrajektorie.
  • HINTERGRUND
  • Autonome Fahrzeuge weisen gegenüber durch Personen geführten Fahrzeugen Vorteile auf, z. B. eine verringerte Anzahl an Verkehrstoten, weniger Verkehrsstaus, weniger überfüllte Parkplätze und eine verbesserte Kraftstoffeffizienz. Beim Treffen von Fahrentscheidungen berücksichtigen typische autonome Fahrzeugsysteme Objekte - wie beispielsweise andere Fahrzeuge und Hindernisse - in der umliegenden Umgebung, von denen dem autonomen Fahrzeugsystem mithilfe von Sensordaten bekannt ist, dass sie sich in der Umgebung des Fahrzeugs befinden. Herausforderungen ergeben sich jedoch, wenn die Fahrzeugsysteme basierend auf aktuell verfügbaren Sensordaten eine zukünftige Bewegung vorhersagen müssen.
  • KURZDARSTELLUNG
  • Techniken zum Generieren einer Fahrtrajektorie für ein Fahrzeug, während das Fahrzeug durch ein Objekt (z. B. ein anderes Fahrzeug, ein Fahrrad oder einen Fußgänger) blockiert wird (z. B. haben die Sensoren des Fahrzeugs ein Objekt detektiert, durch das das Fahrzeug nicht mehr in der Lage ist, sich zu bewegen), und Ausführen der Fahrtrajektorie, sobald das Fahrzeug nicht mehr blockiert wird, sind bereitgestellt. Zudem sind Techniken zum Aktualisieren eines Teils einer Fahrtrajektorie eines Fahrzeugs basierend auf einer Bestimmung, dass ein Objekt ein Segment der aktuellen Fahrtrajektorie zu einem späteren Zeitpunkt überqueren wird, ohne Neuberechnen der gesamten Trajektorie bereitgestellt.
  • Im Allgemeinen kann ein innovativer Aspekt des in der vorliegenden Patentschrift beschriebenen Gegenstands in Verfahren ausgeführt sein, die die Aktionen Abrufen von Sensordaten, die Objekte in einer Umgebung eines Fahrzeugs darstellen, und Bestimmen, dass das Fahrzeug durch eines oder mehrere der Objekte blockiert wird, umfassen. Weitere Aktionen umfassen Bestimmen, basierend auf den Sensordaten und einem Zeitstempel der Sensordaten, von wahrscheinlichen Standorten für zumindest einige der Objekte, Generieren, während das Fahrzeug blockiert wird und basierend auf den wahrscheinlichen Standorten von zumindest einigen der Objekte, eines oder mehrerer Operationsbefehle für das Fahrzeug und Ausführen des einen oder der mehreren Operationsbefehle durch eine Steuerschaltung des Fahrzeugs, wobei das Ausführen der Operationsbefehle Manövrieren des Fahrzeugs entlang einer Strecke, die nicht durch das Objekt blockiert wird, umfasst.
  • Diese und andere Aspekte, Merkmale und Implementierungen weisen einen oder mehrere der folgenden Vorteile auf. Eine Routenplanung kann durchgeführt werden, während sich das Fahrzeug nicht bewegt, was dem System mehr Zeit zum Verarbeiten von Information verschafft. Zudem hat das System mehr Zeit zum Aktualisieren einer Route basierend auf Änderungen von Bedingungen, während das Fahrzeug blockiert wird. Einige andere Vorteile umfassen, dass nicht eine gesamte Route basierend auf einer Änderung in einem Segment einer Route aktualisiert werden muss. Stattdessen kann nur der Teil der Route aktualisiert werden. Dieser Ansatz spart Verarbeitungsressourcen und ermöglicht eine effizientere Routenplanung.
  • Diese und andere Aspekte, Merkmale und Ausführungsformen können als Verfahren, Einrichtung, Systeme, Komponenten, Programmprodukte, Mittel oder Schritte zum Durchführen einer Funktion und auf andere Weise ausgedrückt sein.
  • Diese und andere Aspekte, Merkmale und Ausführungsformen sind aus der folgenden Beschreibung, einschließlich der Ansprüche, offensichtlich.
  • Figurenliste
    • 1 zeigt ein Beispiel eines autonomen Fahrzeugs mit autonomer Fähigkeit.
    • 2 veranschaulicht eine beispielhafte „Cloud“-Computingumgebung.
    • 3 veranschaulicht ein Computersystem.
    • 4 zeigt eine beispielhafte Architektur für ein autonomes Fahrzeug.
    • 5 zeigt ein Beispiel für Eingaben und Ausgaben, die durch ein Wahrnehmungsmodul verwendet werden können.
    • 6 zeigt ein Beispiel eines LiDAR-Systems.
    • 7 zeigt das LiDAR-System im Betrieb.
    • 8 zeigt den Betrieb des LiDAR-Systems in weiterem Detail.
    • 9 zeigt ein Blockdiagramm der Beziehungen zwischen Eingaben und Ausgaben eines Planungsmoduls.
    • 10 zeigt einen bei einer Streckenplanung verwendeten gerichteten Graphen.
    • 11 zeigt ein Blockdiagramm der Eingaben und Ausgaben eines Steuermoduls.
    • 12 zeigt ein Blockdiagramm der Eingaben, Ausgaben und Komponenten einer Steuerung.
    • 13 veranschaulicht ein Fahrzeug, das, während es durch einen Fußgänger blockiert wird, seine Sensoren verwendet, um eine Trajektorie für seine Bewegung, sobald das Fahrzeug nicht mehr blockiert wird, zu generieren.
    • 14 veranschaulicht einen Prozess zum Generieren einer Trajektorie für ein Fahrzeug, während das Fahrzeug durch ein Objekt blockiert wird, und Ausführen der Trajektorie, sobald das Fahrzeug nicht mehr blockiert wird.
    • 15 veranschaulicht einen Prozess zum Neugenerieren von Operationsbefehlen mit aktualisierten Daten.
    • 16 veranschaulicht ein Aktualisieren eines Teils einer Trajektorie eines Fahrzeugs basierend auf einer Wahrscheinlichkeit, dass ein Objekt ein Segment der Trajektorie überqueren wird.
    • 17 veranschaulicht ein Aktualisieren einer Fahrtrajektorie, wobei Operationsbefehle für ein Segment mit unterschiedlichen Operationsbefehlen aktualisiert werden.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Techniken zum Generieren einer Fahrtrajektorie für ein Fahrzeug, während das Fahrzeug durch ein Objekt (z. B. ein anderes Fahrzeug, ein Fahrrad oder einen Fußgänger) blockiert wird (z. B. haben die Sensoren des Fahrzeugs ein Objekt detektiert, durch das das Fahrzeug nicht mehr in der Lage ist, sich zu bewegen), und Ausführen der Fahrtrajektorie, sobald das Fahrzeug nicht mehr blockiert wird, sind bereitgestellt. Ferner sind Techniken zum Aktualisieren eines Teils einer Fahrtrajektorie eines Fahrzeugs basierend auf einer Wahrscheinlichkeit, dass ein Objekt ein Segment der aktuellen Fahrtrajektorie zu einem späteren Zeitpunkt überqueren wird, z. B. ohne Neuberechnen der gesamten Trajektorie bereitgestellt.
  • In der folgenden Beschreibung sind zu Zwecken der Erläuterung zahlreiche spezifische Details dargelegt, um ein umfassendes Verständnis der vorliegenden Erfindung bereitzustellen. Es ist jedoch offensichtlich, dass die vorliegende Erfindung ohne diese spezifischen Details ausgeführt werden kann. In anderen Fällen sind wohlbekannte Strukturen und Vorrichtungen in Blockdiagrammform gezeigt, um das Verständnis der vorliegenden Erfindung nicht unnötig zu erschweren.
  • In den Zeichnungen sind spezifische Anordnungen oder Reihenfolgen schematischer Elemente, wie beispielsweise solcher, die Vorrichtungen, Module, Anweisungsblöcke und Datenelemente darstellen, zur Vereinfachung der Beschreibung gezeigt. Für einen Fachmann auf dem Gebiet versteht es sich jedoch, dass die spezifische Reihenfolge oder Anordnung der schematischen Elemente in den Zeichnungen nicht implizieren soll, dass eine bestimmte Reihenfolge oder Abfolge einer Verarbeitung oder eine Trennung von Prozessen erforderlich ist. Ferner soll die Aufnahme eines schematischen Elements in eine Zeichnung nicht implizieren, dass ein solches Element in allen Ausführungsformen erforderlich ist oder dass das durch ein solches Element dargestellte Merkmal in einigen Ausführungsformen nicht in anderen Elementen beinhaltet sein oder mit diesen kombiniert werden kann.
  • Ferner soll in den Zeichnungen, wenn verbindende Elemente, wie beispielsweise durchgehende oder gestrichelte Linien oder Pfeile, verwendet sind, um eine Verbindung, eine Beziehung oder einen Zusammenhang zwischen oder unter zwei oder mehr anderen schematischen Elementen zu veranschaulichen, das Fehlen von solchen verbindenden Elementen nicht implizieren, dass keine Verbindung, keine Beziehung oder kein Zusammenhang bestehen kann. Mit anderen Worten sind einige Verbindungen, Beziehungen oder Zusammenhänge zwischen Elementen in den Zeichnungen nicht gezeigt, um die Offenbarung nicht schwerer verständlich zu machen. Zudem ist zur Vereinfachung der Darstellung ein einzelnes verbindendes Element verwendet, um mehrere Verbindungen, Beziehungen oder Zusammenhänge zwischen Elementen darzustellen. Wenn zum Beispiel ein verbindendes Element eine Kommunikation von Signalen, Daten oder Anweisungen darstellt, versteht es sich für einen Fachmann auf dem Gebiet, dass ein solches Element je nach Bedarf einen oder mehrere an der Kommunikation beteiligte Signalwege (z. B. einen Bus) darstellt.
  • Es wird nun im Detail auf Ausführungen Bezug genommen, von welchen Beispiele in den beigefügten Zeichnungen veranschaulicht sind. In der folgenden ausführlichen Beschreibung sind zahlreiche spezifische Details dargelegt, um ein umfassendes Verständnis der verschiedenen beschriebenen Ausführungsformen bereitzustellen. Es ist für einen Durchschnittsfachmann auf dem Gebiet jedoch offensichtlich, dass die verschiedenen beschriebenen Ausführungsformen ohne diese spezifischen Details ausgeführt werden können. In anderen Fällen sind wohlbekannte Verfahren, Abläufe, Komponenten, Schaltungen und Netzwerke nicht im Detail beschrieben, um das Verständnis der Aspekte der Ausführungsformen nicht unnötig zu erschweren.
  • Im Folgenden sind mehrere Merkmale beschrieben, die jeweils unabhängig voneinander oder in beliebiger Kombination mit anderen Merkmalen verwendet werden können. Einzelne Merkmale lösen jedoch möglicherweise keine der oben erörterten Probleme oder lösen vielleicht nur eines der oben erörterten Probleme. Einige der oben erörterten Probleme werden möglicherweise nicht vollständig durch eines der hierin beschriebenen Merkmale gelöst. Zwar sind Überschriften bereitgestellt, jedoch kann eine mit einer bestimmten Überschrift in Zusammenhang stehende Information, die nicht in dem Abschnitt mit der entsprechenden Überschrift zu finden ist, an anderer Stelle der vorliegenden Beschreibung zu finden sein. Ausführungsformen sind hierin gemäß der folgenden Gliederung beschrieben:
    1. 1. Allgemeine Übersicht
    2. 2. Systemübersicht
    3. 3. Autonome Fahrzeugarchitektur
    4. 4. Autonome Fahrzeugeingaben
    5. 5. Autonome Fahrzeugplanung
    6. 6. Autonome Fahrzeugsteuerung
    7. 7. Bewegungsplanung für ein blockiertes Fahrzeug
    8. 8. Teilweise Aktualisierung einer Trajektorie
  • Systemübersicht
  • 1 zeigt ein Beispiel eines autonomen Fahrzeugs 100 mit autonomer Fähigkeit.
  • Wie hierin verwendet, bezeichnet der Begriff „autonome Fähigkeit“ eine Funktion, ein Merkmal oder ein Leistungsmerkmal, die bzw. das einem Fahrzeug ermöglicht, teilweise oder vollständig ohne menschlichen Eingriff in Echtzeit betrieben zu werden, einschließlich, ohne darauf beschränkt zu sein, vollautonome Fahrzeuge, hochautonome Fahrzeuge und bedingt autonome Fahrzeuge.
  • Wie hierin verwendet, ist ein autonomes Fahrzeug (AV) ein Fahrzeug, das eine autonome Fähigkeit besitzt.
  • Wie hierin verwendet, beinhaltet „Fahrzeug“ Mittel zum Transport von Gütern oder Personen. Zum Beispiel Personenkraftwagen, Busse, Züge, Flugzeuge, Drohnen, Lastkraftwagen, Boote, Schiffe, Unterwasserfahrzeuge, lenkbare Luftschiffe usw. Ein fahrerloses Fahrzeug ist ein Beispiel für ein Fahrzeug.
  • Wie hierin verwendet, bezeichnet „Trajektorie“ eine Strecke oder Route, auf der ein AV von einem ersten raumzeitlichen Ort zu einem zweiten raumzeitlichen Ort navigiert wird. In einer Ausführungsform ist der erste raumzeitliche Ort als der anfängliche oder Startstandort bezeichnet und der zweite raumzeitliche Ort ist als das Ziel, die Endstation, die Bestimmung, die Bestimmungsposition oder der Bestimmungsort bezeichnet. In einigen Beispielen besteht eine Trajektorie aus einem oder mehreren Segmenten (z. B. Abschnitten einer Straße) und jedes Segment besteht aus einem oder mehreren Blöcken (z. B. Teilen eines Fahrstreifens oder einer Kreuzung). In einer Ausführungsform entsprechen die raumzeitlichen Orte realen Orten. Zum Beispiel sind die raumzeitlichen Orte Abhol- oder Absetzorte, an denen Personen oder Güter abgeholt oder abgesetzt werden.
  • Wie hierin verwendet, beinhaltet „Sensor(en)“ eine oder mehrere Hardwarekomponenten, die Information über die umliegende Umgebung des Sensors detektieren. Einige der Hardwarekomponenten können Abtastkomponenten (z. B. Bildsensoren, biometrische Sensoren), Übertragungs- und/oder Empfangskomponenten (z. B. Laser- oder Funkfrequenzwellentransmitter und -empfänger), elektronische Komponenten wie beispielsweise Analog-zu-Digital-Wandler, eine Datenspeichervorrichtung (beispielsweise einen RAM und/oder einen nicht-flüchtigen Speicher), Software- oder Firmwarekomponenten und Datenverarbeitungskomponenten wie beispielsweise eine ASIC (Application-Specific Integrated Circuit, anwendungsspezifische integrierte Schaltung), einen Mikroprozessor und/oder eine Mikrosteuerung beinhalten.
  • Wie hierin verwendet, ist eine „Szenenbeschreibung“ eine Datenstruktur (z. B. Liste) oder ein Datenstrom, die bzw. der ein oder mehrere klassifizierte oder gekennzeichnete Objekte beinhaltet, die durch einen oder mehrere Sensoren des AV-Fahrzeugs detektiert oder durch eine zu dem AV externe Quelle bereitgestellt werden.
  • Wie hierin verwendet, ist eine „Straße“ ein physischer Bereich, der durch ein Fahrzeug befahren werden kann und einem mit einem Name versehenen Verkehrsdurchgang (z. B. einer innerstädtischen Straße, einer Autobahn usw.) entsprechen kann oder einem unbenannten Verkehrsdurchgang (z. B. einer Zufahrt zu einem Haus oder Bürogebäude, einem Abschnitt eines Parkplatzes, einem Abschnitt einer Baulücke, einer unbefestigten Strecke in einem ländlichen Bereich usw.) entsprechen kann. Da einige Fahrzeuge (z. B. Kleinlastwagen mit Vierradantrieb, Geländewagen (SUVs) usw.) eine Vielzahl von physischen Bereichen befahren können, die nicht speziell für einen Fahrzeugverkehr ausgelegt sind, kann eine „Straße“ ein physischer Bereich sein, der nicht offiziell durch eine Gemeinde oder ein anderes Regierungs- oder Verwaltungsorgan als ein Verkehrsdurchgang definiert ist.
  • Wie hierin verwendet, ist ein „Fahrstreifen“ ein Teil einer Straße, der durch ein Fahrzeug befahren werden kann. Ein Fahrstreifen ist manchmal basierend auf Fahrbahnmarkierungen gekennzeichnet. Zum Beispiel kann ein Fahrstreifen dem Großteil oder der Gesamtheit des Raums zwischen Fahrbahnmarkierungen entsprechen oder nur einem Teil (z. B. weniger als 50 %) des Raums zwischen Fahrbahnmarkierungen entsprechen. Zum Beispiel könnte eine Straße, die weit voneinander beabstandete Fahrbahnmarkierungen aufweist, zwei oder mehr Fahrzeuge zwischen den Markierungen aufnehmen, sodass ein Fahrzeug das andere überholen kann, ohne die Fahrbahnmarkierungen zu überqueren, und könnte daher als einen Fahrstreifen aufweisend, der schmäler als der Raum zwischen den Fahrbahnmarkierungen ist, oder als zwei Fahrstreifen zwischen den Fahrbahnmarkierungen aufweisend gedeutet werden. Ein Fahrstreifen könnte auch gedeutet werden, wenn keine Fahrbahnmarkierungen vorhanden sind. Zum Beispiel kann ein Fahrstreifen basierend auf physischen Merkmalen einer Umgebung, z. B. Felsen und Bäumen entlang eines Verkehrsdurchgangs in einem ländlichen Bereich, z. B. natürlichen Hindernissen, die in einem unerschlossenen Bereich umfahren werden müssen, definiert werden. Ein Fahrstreifen kann auch unabhängig von Fahrbahnmarkierungen oder physischen Merkmalen gedeutet werden. Zum Beispiel könnte ein Fahrstreifen anhand einer willkürlichen Strecke gedeutet werden, die frei von Hindernissen in einem Bereich ist, der ansonsten keine Merkmale aufweist, die als Fahrbahnbegrenzungen gedeutet werden könnten. In einem beispielhaften Szenario könnte ein AV einen Fahrstreifen anhand eines hindernisfreien Teils eines Felds oder einer unbebauten Baulücke deuten. In einem anderen beispielhaften Szenario könnte das AV einen Fahrstreifen anhand einer breiten (z. B. breit genug für zwei oder mehr Fahrstreifen) Straße deuten, die keine Fahrbahnmarkierungen aufweist. In diesem Szenario könnte das AV Information über den Fahrstreifen an andere AVs kommunizieren, sodass die anderen AVs dieselbe Fahrstreifeninformation zum Abstimmen einer Streckenplanung untereinander nutzen können.
  • Der Begriff „Over-the-Air(OTA)-Client“ umfasst ein beliebiges AV oder eine beliebige elektronische Vorrichtung (z. B. Computer, Steuerung, IdD-Vorrichtung, elektronische Steuereinheit (ECU, Electronic Control Unit)), die in das AV einbettet, mit diesem gekoppelt oder mit diesem in Kommunikation ist.
  • Der Begriff „Over-the-Air(OTA)-Aktualisierung“ meint eine beliebige Aktualisierung, Änderung, Löschung oder Hinzufügung zu Software, Firmware, Daten oder Konfigurationseinstellungen oder einer beliebigen Kombination davon, die an einen OTA-Client bereitgestellt wird unter Verwenden proprietärer und/oder standardisierter Drahtloskommunikationstechnologie, einschließlich, jedoch nicht beschränkt auf: zelluläre Mobilkommunikationen (z. B. 2G, 3G, 4G, 5G), drahtlose Funkbereichsnetzwerke (z. B. WiFi) und/oder Internet via Satellit.
  • Der Begriff „Edge-Knoten“ meint eine oder mehrere mit einem Netzwerk gekoppelte Edge-Vorrichtungen, die ein Portal für eine Kommunikation mit AVs bereitstellen und mit anderen Edge-Knoten und einer cloudbasierten Computingplattform zum Terminieren und Bereitstellen von OTA-Aktualisierungen zu OTA-Clients kommunizieren kann.
  • Der Begriff „Edge-Vorrichtung“ meint eine Vorrichtung, die einen Edge-Knoten implementiert und einen physischen drahtlosen Zugriffspunkt (AP, Access Point) in Kernnetzwerken von Unternehmen oder Dienstanbietern (z. B. VERIZON, AT&T) bereitstellt. Beispiele für Edge-Vorrichtungen beinhalten, ohne darauf beschränkt zu sein: Computer, Steuerungen, Transmitter, Router, Routing-Switche, integrierte Zugriffsvorrichtungen (IADs, Integrated Access Devices), Multiplexer, Zugriffsvorrichtungen für Regionalnetze (MANs, Metropolitan Area Networks) und Weitverkehrsnetze (WANs, Wide Area Networks).
  • „Ein(e) oder mehrere“ beinhaltet eine Funktion, die durch ein Element durchgeführt wird, eine Funktion, die durch mehr als ein Element durchgeführt wird, z. B. in einer verteilten Weise, mehrere Funktionen, die durch ein Element durchgeführt werden, mehrere Funktionen, die durch mehrere Elemente durchgeführt werden, oder eine Kombination des oben Genannten.
  • Es versteht sich zudem, dass, auch wenn die Begriffe erstes, zweites usw. in einigen Fällen hierin verwendet sind, um verschiedene Elemente zu beschreiben, diese Element durch diese Begriffe nicht eingeschränkt sein sollen. Die Begriffe sind dienen ausschließlich dazu, um ein Element von einem anderen zu unterscheiden. Zum Beispiel könnte ein erster Kontakt als zweiter Kontakt bezeichnet werden, und gleichermaßen könnte ein zweiter Kontakt als erster Kontakt bezeichnet werden, ohne vom Schutzumfang der verschiedenen beschriebenen Ausführungsformen abzuweichen. Der erste Kontakt und der zweite Kontakt sind beides Kontakte, sind jedoch nicht derselbe Kontakt.
  • Die in der Beschreibung der verschiedenen beschriebenen Ausführungsformen hierin verwendete Terminologie dient lediglich dem Zweck eines Beschreibens bestimmter Ausführungsformen und soll die Ausführungsformen nicht einschränken. Wie in der Beschreibung der verschiedenen beschriebenen Ausführungsformen und den beigefügten Ansprüchen verwendet, sollen die Singularformen „ein“, „eine“, „einer“ und „der“, „die“, „das“ auch die Pluralformen beinhalten, sofern aus dem Zusammenhang nicht klar etwas anderes hervorgeht. Es versteht sich zudem, dass der Begriff „und/oder“ wie hierin verwendet beliebige und alle möglichen Kombinationen eines oder mehrerer der zugehörigen aufgeführten Elemente bezeichnet und einschließt. Es versteht sich ferner, dass die Begriffe „beinhaltet“, „beinhaltend“, „umfasst“ und/oder „umfassend“ wie in der vorliegenden Beschreibung verwendet das Vorhandensein von angegebenen Merkmalen, Ganzzahlen, Schritten, Operationen, Elementen und/oder Komponenten spezifizieren, jedoch nicht das Vorhandensein oder das Hinzufügen eines/r oder mehrerer anderer Merkmale, Ganzzahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen davon ausschließen.
  • Wie hierin verwendet, soll der Begriff „ob“ je nach Kontext gegebenenfalls „wenn“ oder „bei“ oder „in Reaktion auf ein Bestimmen“ oder „in Reaktion auf ein Detektieren“ bedeuten. Gleichermaßen soll der Ausdruck „wenn bestimmt wird“ oder „wenn [eine angegebene Bedingung oder ein angegebenes Ereignis] detektiert wird“ je nach Kontext gegebenenfalls „bei Bestimmen“ oder „in Reaktion auf ein Bestimmen“ oder „bei Detektieren [der angegebenen Bedingung oder des angegebenen Ereignisses]“ oder „in Reaktion auf ein Detektieren [der angegebenen Bedingung oder des angegebenen Ereignisses]“ bedeuten.
  • Wie hierin verwendet, betrifft ein AV-System das AV nebst der Reihe an Hardware, Software, gespeicherten Daten und in Echtzeit generierten Daten, die den Betrieb des AV unterstützen. In einer Ausführungsform ist das AV-System in das AV integriert. In einer Ausführungsform ist das AV-System über mehrere Orte verteilt. Zum Beispiel ist ein Teil der Software des AV-Systems in einer Cloud-Computingumgebung implementiert, die ähnlich zu der unten unter Bezugnahme auf 3 beschriebenen Cloud-Computingumgebung 300 ist.
  • Im Allgemeinen beschreibt das vorliegende Dokument Technologien, die auf beliebige Fahrzeuge anwendbar sind, die eine oder mehrere autonome Fähigkeiten aufweisen, einschließlich vollautonome Fahrzeuge, hochautonome Fahrzeuge und bedingt autonome Fahrzeuge, wie beispielsweise Fahrzeuge der sogenannten Stufe 5, Stufe 4 bzw. Stufe 3 (siehe Norm von SAE International J3016: Klassifizierung und Definition von Begriffen für straßengebundene Kraftfahrzeuge mit Systemen zum automatisierten Fahren, die für weitere Details zur Klassifizierung von Stufen einer Autonomie bei Fahrzeugen durch Verweis in vollem Umfang hierin aufgenommen wird). Die in dem vorliegenden Dokument beschriebenen Technologien sind auch auf teilautonome Fahrzeuge und Fahrzeuge mit Fahrerassistenzsystemen anwendbar, wie beispielsweise Fahrzeuge der sogenannten Stufe 2 und Stufe 1 (siehe Norm von SAE International J3016: Klassifizierung und Definition von Begriffen für straßengebundene Kraftfahrzeuge mit Systemen zum automatisierten Fahren). In einer Ausführungsform können ein oder mehrere Fahrzeugsysteme der Stufe 1, 2, 3, 4 und 5 bestimmte Fahrzeugoperationen (z. B. Lenken, Bremsen und Verwendung von Karten) unter bestimmten Betriebsbedingungen basierend auf einem Verarbeiten von Sensoreingaben automatisieren. Die in dem vorliegenden Dokument beschriebenen Technologien können Vorteile für Fahrzeuge aller Stufen bieten, von vollautonomen Fahrzeugen bis hin zu durch Personen geführten Fahrzeugen.
  • Autonome Fahrzeuge weisen gegenüber Fahrzeugen, die einen menschlichen Fahrer erfordern, Vorteile auf. Ein Vorteil ist Sicherheit. Zum Beispiel gab es 2016 in den USA 6 Millionen Verkehrsunfälle, 2,4 Millionen Verletzte, 40.000 Verkehrstote und 13 Millionen an Unfällen beteiligte Fahrzeuge mit geschätzten gesellschaftlichen Kosten in Höhe von über 910 Milliarden USD. Von 1965 bis 2015 hat sich die Zahl der Verkehrstoten in den USA von ca. sechs auf ca. einen Toten pro gefahrenen 100 Millionen Meilen verringert, teilweise aufgrund zusätzlicher Sicherheitsmaßnahmen, die in Fahrzeugen bereitgestellt werden. Zum Beispiel wird angenommen, dass eine Warnung über einen bevorstehenden Unfall, die eine halbe Sekunde früher erfolgt, 60 % aller Auffahrunfälle mildern könnte. Passive Sicherheitsmerkmale (z. B. Sicherheitsgurte, Airbags) haben wahrscheinlich jedoch bereits ihre Grenze bei der Verbesserung dieser Zahl erreicht. Daher sind aktive Sicherheitsmaßnahmen, wie beispielsweise eine automatisierte Steuerung eines Fahrzeugs, der wahrscheinliche nächste Schritt zum Verbessern dieser Statistik. Da angenommen wird, dass menschliche Fahrer bei 95 % aller Unfälle für ein kritisches Ereignis vor dem Unfall verantwortlich sind, erreichen automatisierte Fahrsysteme wahrscheinlich bessere Ergebnisse in puncto Sicherheit, z. B. indem sie kritische Situationen besser als Menschen zuverlässig erkennen und vermeiden; bessere Entscheidungen treffen, Verkehrsgesetze einhalten und besser als Menschen zukünftige Ereignisse vorhersagen; und ein Fahrzeug besser als ein Mensch zuverlässig steuern.
  • Unter Bezugnahme auf 1 betreibt ein AV-System 120 das AV 100 entlang einer Trajektorie 198 durch eine Umgebung 190 zu einem Ziel 199 (manchmal als eine Endstation bezeichnet), wobei es Objekte (z. B. natürliche Hindernisse 191, Fahrzeuge 193, Fußgänger 192, Fahrradfahrer und andere Behinderungen) umfährt und auf der Straße geltende Regeln einhält (z. B. Betriebsvorschriften oder Fahrpräferenzen).
  • In einer Ausführungsform beinhaltet das AV-System 120 Vorrichtungen 101, die instrumentiert sind, Operationsbefehle von den Computerprozessoren 146 zu empfangen und auf Basis derer zu agieren. Wie hierin verwendet, bezeichnet der Begriff „Operationsbefehl“ eine ausführbare Anweisung (oder einen Satz von Anweisungen), die ein Fahrzeug anweist, eine Aktion (z. B. ein Fahrmanöver) durchzuführen. Operationsbefehle können, ohne darauf beschränkt zu sein, Anweisungen für ein Fahrzeug, eine Vorwärtsbewegung zu beginnen, eine Vorwärtsbewegung anzuhalten, eine Rückwärtsbewegung zu beginnen, eine Rückwärtsbewegung anzuhalten, zu beschleunigen, zu verzögern, nach links abzubiegen und nach rechts abzubiegen, umfassen. In einer Ausführungsform sind die Computerprozessoren 146 ähnlich zu dem unten unter Bezugnahme auf 3 beschriebenen Prozessor 304. Beispiele für Vorrichtungen 101 beinhalten eine Lenksteuerung 102, Bremsen 103, Gänge, ein Gaspedal oder andere Beschleunigungssteuermechanismen, Scheibenwischer, Seitentürenverriegelungen, Fenstersteuerungen und Fahrtrichtungsanzeiger.
  • In einer Ausführungsform beinhaltet das AV-System 120 Sensoren 121 zum Messen oder Ableiten von Eigenschaften eines Status oder Zustands des AV 100, wie beispielsweise die Position des AV, Linear- und Winkelgeschwindigkeit und Beschleunigung sowie Fahrtrichtung (z. B. eine Ausrichtung eines vorderen Endes des AV 100). Beispiele für Sensoren 121 sind GPS, inertiale Messeinheiten (IMU, Inertial Measurement Units), die sowohl lineare Beschleunigungen als auch Winkelgeschwindigkeiten des Fahrzeugs messen, Raddrehzahlsensoren zum Messen oder Schätzen von Radschlupfverhältnissen, Radbremsdruck- oder Bremsmomentsensoren, Motordrehmoment- oder Raddrehmomentsensoren und Lenkwinkel- und Winkelgeschwindigkeitssensoren.
  • In einer Ausführungsform beinhalten die Sensoren 121 zudem Sensoren zum Abtasten oder Messen von Eigenschaften der Umgebung des AV. Zum Beispiel monokulare oder Stereo-Videokameras 122 im sichtbaren Licht-, Infrarot- oder Wärmespektrum (oder in beiden), LiDAR 123, RADAR, Ultraschallsensoren, Laufzeit(TOF, Time-Of-Flight)-Tiefensensoren, Geschwindigkeits- und Drehzahlsensoren, Temperatursensoren, Feuchtigkeitssensoren und Niederschlagssensoren.
  • In einer Ausführungsform beinhaltet das AV-System 120 eine Datenspeichereinheit 142 und einen Speicher 144 zum Speichern von Maschinenanweisungen in Zusammenhang mit Computerprozessoren 146 oder durch Sensoren 121 erhobenen Daten. In einer Ausführungsform ist die Datenspeichereinheit 142 ähnlich zu dem ROM 308 oder der Speichervorrichtung 310, die unten in Bezug auf 3 beschrieben sind. In einer Ausführungsform ist der Speicher 144 ähnlich zu dem unten beschriebenen Hauptspeicher 306. In einer Ausführungsform speichern die Datenspeichereinheit 142 und der Speicher 144 historische, Echtzeit- und/oder prädiktive Information über die Umgebung 190. In einer Ausführungsform beinhaltet die gespeicherte Information Karten, Fahrleistung, neueste Verkehrsstauberichte oder Wetterbedingungen. In einer Ausführungsform werden Daten in Bezug auf die Umgebung 190 über einen Kommunikationskanal von einer entfernt angeordneten Datenbank 134 an das AV 100 übertragen.
  • In einer Ausführungsform beinhaltet das AV-System 120 Kommunikationsvorrichtungen 140 zum Kommunizieren gemessener oder abgeleiteter Eigenschaften von Status und Zuständen anderer Fahrzeuge, wie beispielsweise Positionen, Linear- und Winkelgeschwindigkeiten, Linear- und Winkelbeschleunigungen sowie lineare Fahrtrichtungen und Fahrwinkel, an das AV 100. Die Vorrichtungen beinhalten Fahrzeug-zu-Fahrzeug(V2V, Vehicle-to-Vehicle)- und Fahrzeug-zu-Infrastruktur(V2I, Vehicle-to-Infrastructure)-Kommunikationsvorrichtungen und Vorrichtungen für Drahtloskommunikationen ü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 Kommunikationen) oder andere Medien (z. B. Luft und akustische Medien). Eine Kombination einer Fahrzeug-zu-Fahrzeug(V2V)-Fahrzeug-zu-Infrastruktur(V2I)-Kommunikation (und in einigen Ausführungsformen eine oder mehrere andere Arten von Kommunikation) wird manchmal als eine Fahrzeug-zu-X(V2X, Vehicle-to-Everything)-Kommunikation bezeichnet. Eine V2X-Kommunikation erfüllt in der Regel einen oder mehrere Kommunikationsstandards für eine Kommunikation mit, zwischen und unter autonomen Fahrzeugen.
  • In einer Ausführungsform beinhalten die Kommunikationsvorrichtungen 140 Kommunikationsschnittstellen. Zum Beispiel drahtgebundene, drahtlose, WiMAX-, Wi-Fi-, Bluetooth-, Satelliten-, Mobilfunk-, optische, Nahfeld-, Infrarot- oder Funkschnittstellen. Die Kommunikationsschnittstellen übertragen Daten von einer entfernt angeordneten Datenbank 134 an das AV-System 120. In einer Ausführungsform ist die entfernt angeordnete Datenbank 134 in eine Cloud-Computingumgebung 200 wie in 2 beschrieben eingebettet. Die Kommunikationsschnittstellen 140 übertragen von Sensoren 121 erhobene Daten oder andere Daten in Bezug auf den Betrieb des AV 100 an die entfernt angeordnete Datenbank 134. In einer Ausführungsform übertragen die Kommunikationsschnittstellen 140 Information in Bezug auf Teleoperationen an das AV 100. In einigen Ausführungsformen kommuniziert das AV 100 mit anderen entfernten (z. B. „Cloud-“) Servern 136.
  • In einer Ausführungsform speichert und überträgt die entfernt angeordnete Datenbank 134 zudem digitale Daten (z. B. speichert Daten wie Fahrbahn- und Straßenpositionen). Derartige Daten werden in dem Speicher 144 in dem AV 100 gespeichert oder über einen Kommunikationskanal von der entfernt angeordneten Datenbank 134 an das AV 100 übertragen.
  • In einer Ausführungsform speichert und überträgt die entfernt angeordnete Datenbank 134 historische Information zu Fahreigenschaften (z. B. Geschwindigkeits- und Beschleunigungsprofile) von Fahrzeugen, die zuvor zu ähnlichen Tageszeiten entlang der Trajektorie 198 gefahren sind. In einer Implementierung können derartige Daten in dem Speicher 144 in dem AV 100 gespeichert oder über einen Kommunikationskanal von der entfernt angeordneten Datenbank 134 an das AV 100 übertragen werden.
  • In dem AV 100 angeordnete Computervorrichtungen 146 generieren algorithmisch Steueraktionen basierend sowohl auf Echtzeit-Sensordaten als auch auf früherer Information, was dem AV-System 120 ermöglicht, seine autonomen Fahrfähigkeiten auszuführen.
  • In einer Ausführungsform beinhaltet das AV-System 120 Computerperipheriegeräte 132, die mit Computervorrichtungen 146 zum Bereitstellen von Information und Warnungen an einen und Empfangen einer Eingabe von einem Benutzer (z. B. einem Insassen oder einem entfernten Benutzer) des AV 100 gekoppelt sind. In einer Ausführungsform sind die Peripheriegeräte 132 ähnlich zu der Anzeige 312, der Eingabevorrichtung 314 und der Cursorsteuerung 316, die unten unter Bezugnahme auf 3 erörtert sind. Die Kopplung ist drahtlos oder drahtgebunden. Beliebige zwei oder mehr der Schnittstellenvorrichtungen können in eine einzelne Vorrichtung integriert sein.
  • 2 veranschaulicht eine beispielhafte „Cloud“-Computingumgebung. Cloud-Computing ist ein Modell einer Dienstbereitstellung zum Ermöglichen eines komfortablen bedarfsorientierten Netzwerkzugriffs auf einen gemeinsamen Pool von auslegbaren Computerressourcen (z. B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Primärspeicher, Sekundärspeicher, Anwendungen, virtuelle Maschinen und Dienste). Bei typischen Cloud-Computingsystemen sind die Maschinen, die zum Bereitstellen der durch die Cloud bereitgestellten Dienste verwendet werden, in einem oder mehreren größeren Cloud-Datenzentren untergebracht. Nunmehr Bezug nehmend auf 2 beinhaltet die Cloud-Computingumgebung 200 Cloud-Datenzentren 204a, 204b und 204c, die über die Cloud 202 miteinander verbunden sind. Die Datenzentren 204a, 204b und 204c stellen Cloud-Computingdienste zu den mit der Cloud 202 verbundenen Computersystemen 206a, 206b, 206c, 206d, 206e und 206f bereit.
  • Die Cloud-Computingumgebung 200 beinhaltet ein oder mehrere Cloud-Datenzentren. Im Allgemeinen bezeichnet ein Cloud-Datenzentrum, zum Beispiel das in 2 gezeigte Cloud-Datenzentrum 204a, die physische Anordnung von Servern, die eine Cloud, zum Beispiel die in 2 gezeigte Cloud 202, oder einen bestimmten Teil einer Cloud bilden. Zum Beispiel sind Server in dem Cloud-Datenzentrum physisch in Räumen, Gruppen, Reihen und Racks angeordnet. Ein Cloud-Datenzentrum hat eine oder mehrere Zonen, die einen oder mehrere Räume mit Servern beinhalten. Jeder Raum weist eine oder mehrere Reihen von Servern auf, und jede Reihe weist ein oder mehrere Racks auf. Jedes Rack beinhaltet einen oder mehrere einzelne Serverknoten. In einigen Implementierungen sind Server in Zonen, Räumen, Racks und/oder Reihen in Gruppen basierend auf physischen Infrastrukturanforderungen der Datenzentrumseinrichtung angeordnet, wie unter anderem Leistungs-, Energie-, thermische, Wärme- und/oder andere Anforderungen. In einer Ausführungsform sind die Serverknoten ähnlich zu dem in 3 beschriebenen Computersystem. Das Datenzentrum 204a weist viele Computersysteme auf, die über viele Racks verteilt sind.
  • Die Cloud 202 beinhaltet Cloud-Datenzentren 204a, 204b und 204c sowie das Netzwerk und Netzwerkressourcen (zum Beispiel Netzwerkausrüstung, Knoten, Router, Switche und Netzwerkkabel), die die Cloud-Datenzentren 204a, 204b und 204c miteinander verbinden und helfen, den Computersystemen 206a-f einen Zugriff auf Cloud-Computingdienste zu ermöglichen. In einer Ausführungsform stellt das Netzwerk eine beliebige Kombination von einem oder mehreren lokalen Netzwerken, Weitverkehrsnetzwerken oder Netzwerkverbunden dar, die unter Verwenden von drahtgebundenen oder drahtlosen Verbindungen gekoppelt sind, die unter Verwenden von terrestrischen oder Satellitenverbindungen bereitgestellt sind. Über das Netzwerk ausgetauschte Daten werden unter Verwenden einer beliebigen Anzahl von Netzwerkschichtprotokollen, beispielsweise „Internet Protocol“ (IP), „Multiprotocol Label Switching“ (MPLS), „Asynchronous Transfer Mode“ (ATM), „Frame Relay“ usw. übermittelt. Ferner werden in Ausführungsformen, in denen das Netzwerk eine Kombination aus mehreren Teilnetzwerken darstellt, unterschiedliche Netzwerkschichtprotokolle bei jedem der zugrunde liegenden Teilnetzwerke verwendet. In einigen Ausführungsformen stellt das Netzwerk einen oder mehrere miteinander verbundene Netzwerkverbunde dar, wie beispielsweise das öffentliche Internet.
  • Die Computersysteme 206a-f oder Cloud-Computingdienstabnehmer sind mit der Cloud 202 über Netzwerkverbindungen und Netzwerkadapter verbunden. In einer Ausführungsform sind die Computersysteme 206a-f als verschiedene Computervorrichtungen, zum Beispiel Server, Desktopcomputer, Laptops, Tablets, Smartphones, Internet-der-Dinge(IdD)-Vorrichtungen, autonome Fahrzeuge (einschließlich Personenkraftwagen, Drohnen, Pendelfahrzeuge, Züge, Busse usw.) und Unterhaltungselektronik, implementiert. In einer Ausführungsform sind die Computersysteme 206a-f in oder als ein Teil anderer Systeme implementiert.
  • 3 veranschaulicht ein Computersystem 300. In einer Implementierung ist das Computersystem 300 eine Sonderzweck-Computervorrichtung. Die Sonderzweck-Computervorrichtung ist zum Durchführen der Techniken festverdrahtet oder beinhaltet digitale elektronische Vorrichtungen wie beispielsweise eine oder mehrere anwendungsspezifische integrierte Schaltungen (ASICs) oder feldprogrammierbare Gate-Arrays (FPGAs, Field-Programmable Gate Arrays), die dauerhaft zum Durchführen der Techniken programmiert sind, oder kann einen oder mehrere Allzweck-Hardwareprozessoren beinhalten, die zum Durchführen der Techniken gemäß Programmanweisungen in Firmware, Primärspeicher, anderem Speicher oder einer Kombination davon programmiert sind. Derartige Sonderzweck-Computervorrichtungen können auch benutzerdefinierte festverdrahtete Logik, ASICs oder FPGAs mit benutzerdefinierter Programmierung kombinieren, um die Techniken durchzuführen. In verschiedenen Ausführungsformen sind die Sonderzweck-Computervorrichtungen Desktopcomputersysteme, tragbare Computersysteme, handgehaltene Vorrichtungen, Netzwerkvorrichtungen oder eine beliebige andere Vorrichtung, in die festverdrahtete und/oder Programmlogik zum Implementieren der Techniken integriert ist.
  • In einer Ausführungsform beinhaltet das Computersystem 300 einen Bus 302 oder einen anderen Kommunikationsmechanismus zum Kommunizieren von Information, und einen mit einem Bus 302 gekoppelten Hardwareprozessor 304 zum Verarbeiten von Information. Der Hardwareprozessor 304 ist zum Beispiel ein Allzweck-Mikroprozessor. Das Computersystem 300 beinhaltet zudem einen Hauptspeicher 306, beispielsweise einen Direktzugriffsspeicher (RAM, Random Access Memory) oder eine andere dynamische Speichervorrichtung, der mit dem Bus 302 zum Speichern von Information und durch den Prozessor 304 ausführbaren Anweisungen gekoppelt ist. In einer Implementierung wird der Hauptspeicher 306 zum Speichern von temporären Variablen oder anderer intermediärer Information während einer Ausführung von durch den Prozessor 304 ausführbaren Anweisungen verwendet. Durch derartige Anweisungen wird, wenn sie in durch den Prozessor 304 zugreifbaren nicht-flüchtigen Speichermedien gespeichert sind, das Computersystem 300 zu einer Sonderzweckmaschine, die zum Durchführen der in den Anweisungen spezifizierten Operationen benutzerdefiniert ist.
  • In einer Ausführungsform beinhaltet das Computersystem 300 ferner einen Nurlesespeicher (ROM, Read Only Memory) 308 oder eine andere statische Speichervorrichtung, der bzw. die mit dem Bus 302 zum Speichern statischer Information und Anweisungen für den Prozessor 304 gekoppelt ist. Eine Speichervorrichtung 310, beispielsweise eine Magnetplatte, eine optische Platte, ein Festkörperlaufwerk oder ein dreidimensionaler Kreuzungspunkt(„Crosspoint“)-Speicher, ist bereitgestellt und mit dem Bus 302 zum Speichern von Information und Anweisungen gekoppelt.
  • In einer Ausführungsform ist das Computersystem 300 über den Bus 302 mit einer Anzeige 312, wie beispielsweise einer Elektronenstrahlröhre (CRT, Cathode Ray Tube), einer Flüssigkristallanzeige (LCD, Liquid Crystal Display), einer Plasmaanzeige, einer Leuchtdioden(LED, Light Emitting Diode)-Anzeige oder einer organischen Leuchtdioden(OLED, Organic Light Emitting Diode)-Anzeige zum Anzeigen von Information für einen Computerbenutzer gekoppelt. Eine Eingabevorrichtung 314, die alphanumerische und andere Tasten beinhaltet, ist mit dem Bus 302 zum Kommunizieren von Information und Befehlsauswahlen an den Prozessor 304 gekoppelt. Eine andere Art von Benutzereingabevorrichtung ist eine Cursor-Steuerung 316, wie beispielsweise eine Maus, eine Rollkugelvorrichtung, eine berührungsempfindliche Anzeige oder Cursor-Richtungstasten, zum Kommunizieren von Richtungsinformation und Befehlsauswahlen an den Prozessor 304 und zum Steuern einer Cursor-Bewegung auf der Anzeige 312. Die Eingabevorrichtung weist in der Regel zwei Freiheitsgrade in zwei Achsen, einer ersten Achse (z. B. x-Achse) und einer zweiten Achse (z. B. y-Achse), auf, was der Vorrichtung ermöglicht, Positionen in einer Ebene zu spezifizieren.
  • Gemäß einer Ausführungsform werden die Techniken hierin durch das Computersystem 300 in Reaktion darauf durchgeführt, dass der Prozessor 304 eine oder mehrere Abfolgen von einer oder mehreren in dem Hauptspeicher 306 enthaltenen Anweisungen ausführt. Derartige Anweisungen werden von einem anderen Speichermedium, beispielsweise der Speichervorrichtung 310, in den Hauptspeicher 306 gelesen. Eine Ausführung der Abfolgen von in dem Hauptspeicher 306 enthaltenen Anweisungen veranlasst den Prozessor 304, die hierin beschriebenen Prozessschritte durchzuführen. In alternativen Ausführungsformen werden festverdrahtete Schaltungen anstatt oder in Kombination mit Softwareanweisungen verwendet.
  • Der Begriff „Speichermedium“ bezeichnet wie hierin verwendet ein beliebiges nichtflüchtiges Medium, das Daten und/oder Anweisungen speichert, die eine Maschine dazu veranlassen, auf eine spezifische Weise zu funktionieren. Derartige Speichermedien beinhalten nicht-flüchtige Medien und/oder flüchtige Medien. Nicht-flüchtige Medien beinhalten zum Beispiel optische Platten, Magnetplatten, Festkörperlaufwerke oder dreidimensionale „Crosspoint“-Speicher, wie beispielsweise die Speichervorrichtung 310. Flüchtige Medien beinhalten dynamischen Speicher, wie beispielsweise den Hauptspeicher 306. Gängige Formen von Speichermedien beinhalten zum Beispiel eine Floppy-Disk, eine flexible Platte, eine Festplatte, ein Festkörperlaufwerk, ein Magnetband oder ein beliebiges anderes magnetisches Datenspeichermedium, eine 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 beliebige andere Speicherkassette.
  • Speichermedien sind von Übertragungsmedien verschiedenartig, können jedoch in Verbindung mit diesen verwendet werden. Übertragungsmedien tragen zum Übermitteln von Information zwischen Speichermedien bei. Zum Beispiel beinhalten Übertragungsmedien Koaxialkabel, Kupferdrähte und optische Fasern, einschließlich der Drähte, die den Bus 302 bilden. Übertragungsmedien können auch die Form von akustischen oder Lichtwellen annehmen, wie beispielsweise solcher, die während Funkwellen- und Infrarotdatenkommunikationen generiert werden.
  • In einer Ausführungsform sind verschiedene Formen von Medien dabei beteiligt, eine oder mehrere Abfolgen von einer oder mehreren Anweisungen zu dem Prozessor 304 zur Ausführung zu führen. Zum Beispiel werden die Anweisungen anfänglich auf einer Magnetplatte oder einem Festkörperlaufwerk eines entfernten Computers geführt. Der entfernte Computer lädt die Anweisungen in seinen dynamischen Speicher und sendet die Anweisungen über eine Telefonleitung unter Verwenden eines Modems. Ein lokal zu dem Computersystem 300 angeordnetes Modem empfängt die Daten an der Telefonleitung und nutzt einen Infrarottransmitter, um die Daten in ein Infrarotsignal umzuwandeln. Ein Infrarotdetektor empfängt die in dem Infrarotsignal geführten Daten und eine geeignete Schaltung legt die Daten auf den Bus 302. Der Bus 302 führt die Daten zu dem Hauptspeicher 306, von dem der Prozessor 304 die Anweisungen abruft und ausführt. Die durch den Hauptspeicher 306 empfangenen Anweisungen können optional auf der Speichervorrichtung 310 entweder vor oder nach Ausführung durch den Prozessor 304 gespeichert werden.
  • Das Computersystem 300 beinhaltet zudem eine mit dem Bus 302 gekoppelte Kommunikationsschnittstelle 318. Die Kommunikationsschnittstelle 318 stellt eine Zweiwege-Datenkommunikationskopplung zu einer Netzwerkverbindung 320 bereit, die mit einem lokalen Netzwerk 322 verbunden ist. Zum Beispiel ist die Kommunikationsschnittstelle 318 eine „Integrated-Service-Digital-Network“(ISDN)-Karte, ein Kabelmodem, ein Satellitenmodem oder ein Modem zum Bereitstellen einer Datenkommunikationsverbindung zu einer entsprechenden Art von Telefonleitung. Als weiteres Beispiel ist die Kommunikationsschnittstelle 318 eine „Local-Area-Network“(LAN)-Karte zum Bereitstellen einer Datenkommunikationsverbindung zu einem kompatiblen LAN. In einigen Ausführungsformen sind auch drahtlose Verbindungen implementiert. In einer beliebigen derartigen Implementierung sendet und empfängt die Kommunikationsschnittstelle 318 elektrische, elektromagnetische oder optische Signale, die digitale Datenströme führen, die verschiedene Arten von Information darstellen.
  • Die Netzwerkverbindung 320 stellt in der Regel eine Datenkommunikation über ein oder mehrere Netzwerke zu anderen Datenvorrichtungen bereit. Zum Beispiel stellt die Netzwerkverbindung 320 eine Verbindung über das lokale Netzwerk 322 zu einem Hostcomputer 324 oder zu einem Cloud-Datenzentrum oder einer Ausrüstung bereit, der, das bzw. die durch einen Internetdienstanbieter (ISP, Internet Service Provider) 326 betrieben wird. Der ISP 326 wiederum stellt Datenkommunikationsdienste über das weltweite Paketdatenkommunikationsnetzwerk bereit, das nunmehr häufig als das „Internet“ 328 bezeichnet wird. Das logische Netzwerk 322 und Internet 328 verwenden beide elektrische, elektromagnetische oder optische Signale, die digitale Datenströme führen. Die Signale über die verschiedenen Netzwerke und die Signale an der Netzwerkverbindung 320 und über die Kommunikationsschnittstelle 318, die die digitalen Daten zu und von dem Computersystem 300 führen, sind beispielhafte Formen von Übertragungsmedien. In einer Ausführungsform enthält das Netzwerk 320 die Cloud 202 oder einen Teil der Cloud 202, die oben beschrieben ist.
  • 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 Code zum Verarbeiten. Der empfangene Code wird durch den Prozessor 304 ausgeführt, sobald er empfangen wird, und/oder in der Speichervorrichtung 310 oder einem anderen nicht-flüchtigen Speicher zur späteren Ausführung gespeichert.
  • Autonome Fahrzeugarchitektur
  • 4 zeigt eine beispielhafte Architektur 400 für ein autonomes Fahrzeug (z. B. das in 1 gezeigte AV 100). Die Architektur 400 beinhaltet ein Wahrnehmungsmodul 402 (manchmal als eine Wahrnehmungsschaltung bezeichnet), ein Planungsmodul 404 (manchmal als eine Planungsschaltung bezeichnet), ein Steuermodul 406 (manchmal als eine Steuerschaltung bezeichnet), ein Standortbestimmungsmodul 408 (manchmal als eine Standortbestimmungsschaltung bezeichnet) und ein Datenbankmodul 410 (manchmal als eine Datenbankschaltung bezeichnet). Jedes Modul spielt eine Rolle beim Betrieb des AV 100. Zusammen können die Module 402, 404, 406, 408 und 410 Teil des in 1 gezeigten AV-Systems 120 sein. In einigen Ausführungsformen ist jedes der Module 402, 404, 406, 408 und 410 eine Kombination aus Computersoftware (z. B. auf einem computerlesbaren Medium gespeicherter ausführbarer Code) und Computerhardware (z. B. ein(e) oder mehrere Mikroprozessoren, Mikrosteuerungen, anwendungsspezifische integrierte Schaltungen [ASICs], Hardwarespeichervorrichtungen, andere Arten von integrierten Schaltungen, andere Arten von Computerhardware oder eine Kombination von beliebigen oder allen diesen Dingen). Jedes der Module 402, 404, 406, 408 und 410 ist manchmal als eine Verarbeitungsschaltung (z. B. Computerhardware, Computersoftware oder eine Kombination aus beidem) bezeichnet. Eine Kombination eines beliebigen oder aller der Module 402, 404, 406, 408 und 410 ist auch ein Beispiel einer Verarbeitungsschaltung.
  • Im Einsatz empfängt das Planungsmodul 404 Daten, die ein Ziel 412 darstellen, und bestimmt Daten, die eine Trajektorie 414 (manchmal als Route bezeichnet) darstellen, die durch das AV 100 befahren werden kann, um das Ziel 412 zu erreichen (an diesem anzukommen). Damit das Planungsmodul 404 die die Trajektorie 414 darstellenden Daten bestimmen kann, empfängt das Planungsmodul 404 Daten von dem Wahrnehmungsmodul 402, dem Standortbestimmungsmodul 408 und dem Datenbankmodul 410.
  • Das Wahrnehmungsmodul 402 identifiziert physische Objekte in der Nähe unter Verwenden eines oder mehrerer Sensoren 121, z. B. wie auch in 1 gezeigt. Die Objekte werden klassifiziert (z. B. in Arten wie Fußgänger, Fahrrad, Kraftfahrzeug, Verkehrszeichen usw. gruppiert) und eine Szenenbeschreibung mit den klassifizierten Objekten 416 wird dem Planungsmodul 404 bereitgestellt.
  • Das Planungsmodul 404 empfängt zudem Daten, die die AV-Position 418 darstellen, von dem Standortbestimmungsmodul 408. Das Standortbestimmungsmodul 408 bestimmt die AV-Position unter Verwenden von Daten von den Sensoren 121 und Daten von dem Datenbankmodul 410 (z. B. geografische Daten) zum Berechnen einer Position. Zum Beispiel verwendet das Standortbestimmungsmodul 408 Daten von einem GNSS(Global Navigation Satellite System)-Sensor und geografische Daten, um einen Längengrad und einen Breitengrad des AV zu berechnen. In einer Ausführungsform beinhalten durch das Standortbestimmungsmodul 408 verwendete Daten hochpräzise Karten der Fahrbahngeometriemerkmale, Straßennetzanbindungsmerkmale beschreibende Karten, physische Merkmale von Fahrbahnen (beispielsweise Verkehrsgeschwindigkeit, Verkehrsaufkommen, Anzahl von Fahrstreifen und Radfahrstreifen, Fahrstreifenbreite, Fahrstreifenfahrtrichtungen oder Fahrbahnmarkierungsarten und -positionen oder Kombinationen davon) beschreibende Karten und die räumlichen Positionen von Straßenmerkmalen, beispielsweise Übergängen, Verkehrszeichen oder anderen Fahrsignalen verschiedener Art, beschreibende Karten. In einer Ausführungsform werden die hochpräzisen Karten durch Hinzufügen von Daten über automatische oder manuelle Annotationen zu wenig präzisen Karten aufgebaut.
  • Das Steuermodul 406 empfängt die die Trajektorie 414 darstellenden Daten und die die AV-Position 418 darstellenden Daten und führt die Steuerfunktionen 420a-c (z. B. Lenken, Gasgeben, Bremsen, Zündung) des AV auf eine Weise aus, die bewirkt, dass das AV 100 die Trajektorie 414 zu dem Ziel 412 abfährt. Wenn zum Beispiel die Trajektorie 414 ein Abbiegen nach links beinhaltet, führt das Steuermodul 406 die Steuerfunktionen 420a-c auf eine derartige Weise aus, dass der Lenkwinkel der Lenkfunktion bewirkt, dass das AV 100 nach links abbiegt, und das Gasgeben und Bremsen bewirkt, dass das AV 100 anhält und auf passierende Fußgänger oder Fahrzeuge wartet, bevor das Abbiegen durchgeführt wird.
  • Autonome Fahrzeugeingaben
  • 5 zeigt ein Beispiel von Eingaben 502a-d (z. B. in 1 gezeigte Sensoren 121) 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. das in 1 gezeigte LiDAR 123). LiDAR ist eine Technologie, die Licht (z. B. Lichtpulse wie Infrarotlicht) verwendet, um Daten über physische Objekte in der Sichtlinie zu erhalten. Ein LiDAR-System erzeugt LiDAR-Daten als Ausgabe 504a. Zum Beispiel sind LiDAR-Daten Ansammlungen von 3D- oder 2D-Punkten (auch als Punktwolken bekannt), die verwendet werden, um eine Darstellung der Umgebung 190 zu konstruieren.
  • Eine andere Eingabe 502b ist ein RADAR-System. RADAR ist eine Technologie, die Funkwellen verwendet, um Daten über physische Objekte in der Nähe zu erhalten. RADARs können Daten über Objekte erhalten, die nicht in der Sichtlinie eines LiDAR-Systems liegen. Ein RADAR-System 502b erzeugt RADAR-Daten als Ausgabe 504b. Zum Beispiel sind RADAR-Daten ein oder mehrere elektromagnetische Funkfrequenzsignale, die verwendet werden, um eine Darstellung der Umgebung 190 zu konstruieren.
  • Eine andere Eingabe 502c ist ein Kamerasystem. Ein Kamerasystem verwendet eine oder mehrere Kameras (z. B. Digitalkameras, die einen Lichtsensor verwenden, wie beispielsweise eine ladungsgekoppelte Vorrichtung [CCD, Charge-Coupled Device]), um Information über physische Objekte in der Nähe zu erhalten. Ein Kamerasystem erzeugt Kameradaten als Ausgabe 504c. Kameradaten nehmen häufig die Form von Bilddaten an (z. B. Daten in einem Bilddatenformat wie beispielsweise RAW, JPEG, PNG usw.). In einigen Beispielen weist das Kamerasystem mehrere unabhängige Kameras auf, z. B. zum Zweck einer Stereopsie (räumliches Sehen), die dem Kamerasystem ermöglicht, Tiefe wahrzunehmen. Die durch das Kamerasystem wahrgenommenen Objekte sind hierin zwar als „in der Nähe“ beschrieben, dies ist jedoch in Relation zu dem AV. Im Einsatz kann das Kamerasystem ausgelegt sein, Objekte weit, z. B. bis zu einem Kilometer oder mehr, vor dem AV zu „sehen“. Dementsprechend kann das Kamerasystem Merkmale wie beispielsweise Sensoren und Objektive aufweisen, die zum Wahrnehmen von Objekten optimiert sind, die sich weit weg befinden.
  • Eine andere Eingabe 502d ist ein Lichtsignalanlagendetektions(TLD, Traffic Light Detection)-System. Ein TLD-System verwendet eine oder mehrere Kameras, um Information über Lichtsignalanlagen, Straßenschilder und andere physische Objekte zu erhalten, die visuelle Navigationsinformation bereitstellen. Ein TLD-System erzeugt TLD-Daten als Ausgabe 504d. TLD-Daten nehmen häufig die Form von Bilddaten an (z. B. Daten in einem Bilddatenformat wie beispielsweise RAW, JPEG, PNG usw.). Ein TLD-System unterscheidet sich von einem System, bei dem eine Kamera eingesetzt wird, darin, dass ein TLD-System eine Kamera mit einem breiten Sichtfeld verwendet (z. B. ein Weitwinkelobjektiv oder ein Fischaugenobjektiv verwendet), um Information über so viele visuelle Navigationsinformation bereitstellende physische Objekte wie möglich zu erhalten, sodass das AV 100 Zugriff auf alle relevanten Navigationsinformationen hat, die durch diese Objekte bereitgestellt werden. Zum Beispiel kann der Bildwinkel des TLD-Systems ca. 120 Grad oder mehr betragen.
  • In einigen Ausführungsformen werden die Ausgaben 504a-d unter Verwenden einer Sensorfusionstechnik kombiniert. Somit werden entweder einzelne Ausgaben 504a-d zu anderen Systemen des AV 100 bereitgestellt (z. B. zu einem Planungsmodul 404 wie in 4 gezeigt bereitgestellt) oder die kombinierte Ausgabe kann zu den anderen Systemen bereitgestellt werden, entweder in Form einer einzelnen kombinierten Ausgabe oder mehrerer kombinierter Ausgaben derselben Art (z. B. unter Verwenden derselben Kombinationstechnik oder durch Kombinieren derselben Ausgaben oder beides) oder unterschiedlicher Art (z. B. unter Verwenden unterschiedlicher jeweiliger Kombinationstechniken oder durch Kombinieren unterschiedlicher jeweiliger Ausgaben oder beides). In einigen Ausführungsformen wird eine frühe Fusionstechnik verwendet. Eine frühe Fusionstechnik zeichnet sich durch Kombinieren von Ausgaben aus, bevor ein oder mehrere Datenverarbeitungsschritte auf die kombinierte Ausgabe angewendet werden. In einigen Ausführungsformen wird eine späte Fusionstechnik verwendet. Eine späte Fusionstechnik zeichnet sich durch Kombinieren von Ausgaben aus, nachdem ein oder mehrere Datenverarbeitungsschritte auf die einzelnen Ausgaben angewendet wurden.
  • 6 zeigt ein Beispiel eines LiDAR-Systems 602 (z. B. die in 5 gezeigte Eingabe 502a). Das LiDAR-System 602 emittiert Licht 604a-c von einem Lichtemitter 606 (z. B. einem Lasertransmitter). Durch ein LiDAR-System emittiertes Licht ist in der Regel nicht im sichtbaren Spektrum; zum Beispiel 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 zu dem LiDAR-System 602 reflektiert. (Von einem LiDAR-System emittiertes Licht durchdringt in der Regel nicht physische Objekte, z. B. physische Objekte massiver Art.) Das LiDAR-System 602 weist zudem einen oder mehrere Lichtdetektoren 610 auf, die das reflektierte Licht detektieren. In einer Ausführungsform generieren ein oder mehrere mit dem LiDAR-System assoziierte Datenverarbeitungssysteme ein Bild 612, das das Sichtfeld 614 des LiDAR-Systems darstellt. Das Bild 612 beinhaltet Information, die die Grenzen 616 eines physischen Objekts 608 darstellt. So wird das Bild 612 verwendet, um die Grenzen 616 eines oder mehrerer physischer Objekte in der Nähe des AV zu bestimmen.
  • 7 zeigt das LiDAR-System 602 im Betrieb. In dem in dieser Figur gezeigten Szenario empfängt das AV 100 sowohl eine Kamerasystemausgabe 504c in Form eines Bilds 702 als auch eine LiDAR-Systemausgabe 504a in Form von LiDAR-Datenpunkten 704. Im Einsatz vergleichen die Datenverarbeitungssysteme des AV 100 das Bild 702 mit den Datenpunkten 704. Insbesondere wird ein in dem Bild 702 identifiziertes physisches Objekt 706 auch unter den Datenpunkten 704 identifiziert. So nimmt das AV 100 die Grenzen des physischen Objekts basierend auf der Kontur und Dichte der Datenpunkte 704 wahr.
  • 8 zeigt den Betrieb des LiDAR-Systems 602 in weiterem Detail. Wie oben beschrieben, detektiert das AV 100 die Grenze eines physischen Objekts basierend auf Eigenschaften der durch das LiDAR-System 602 detektierten Datenpunkte. Wie in 8 gezeigt, reflektiert ein flaches Objekt, beispielsweise der Boden 802, von einem LiDAR-System 602 emittiertes Licht 804a-d auf gleichbleibende Weise. Anders ausgedrückt, reflektiert der Boden 802 Licht zurück zu dem LiDAR-System 602 mit demselben gleichbleibenden Abstand, da das LiDAR-System 602 Licht unter Verwenden eines gleichbleibenden Abstands emittiert. Während das AV 100 über den Boden 802 fährt, detektiert das LiDAR-System 602 fortlaufend von dem nächstgültigen Bodenpunkt 806 reflektiertes Licht, sofern nichts die Straße behindert. Wenn jedoch ein Objekt 808 die Straße behindert, wird durch das LiDAR-System 602 emittiertes Licht 804e-f von Punkten 810a-b auf eine Weise reflektiert, die nicht mit der erwarteten gleichbleibenden Weise übereinstimmt. Aus dieser Information kann das AV 100 bestimmen, dass das Objekt 808 vorhanden ist.
  • Streckenplanung
  • 9 zeigt ein Blockdiagramm 900 der Beziehungen zwischen Eingaben und Ausgaben eines Planungsmoduls 404 (z. B. wie in 4 gezeigt). Im Allgemeinen ist die Ausgabe eines Planungsmoduls 404 eine Route 902 von einem Startpunkt 904 (z. B. einem Ursprungsort oder anfänglichen Standort) zu einem Endpunkt 906 (z. B. einem Ziel oder einer Endstation). Die Route 902 ist in der Regel durch ein oder mehrere Segmente definiert. Zum Beispiel ist ein Segment eine Distanz, die über zumindest einen Teil einer Straße, Landstraße, Autobahn, Zufahrt oder eines anderen physischen Bereichs, der für ein Befahren mit einem Kraftfahrzeug geeignet ist, zurückgelegt wird. In einigen Beispielen, z. B. wenn das AV 100 ein geländegängiges Fahrzeug wie beispielsweise ein Fahrzeug mit Vierradantrieb (4WD, Four-Wheel-Drive) oder Allradantrieb (AWD, All-Wheel-Drive), ein Geländefahrzeug (SUV), ein Kleinlastwagen oder ähnliches ist, beinhaltet die Route 902 „Gelände“-Segmente wie beispielsweise unbefestigte Strecken oder offenes Gelände.
  • Zusätzlich zu der Route 902 gibt ein Planungsmodul auch Routenplanungsdaten 908 auf Fahrstreifenebene aus. Die Routenplanungsdaten 908 auf Fahrstreifenebene werden verwendet, um Segmente der Route 902 basierend auf Bedingungen des Segments zu einem bestimmten Zeitpunkt zu befahren. Wenn zum Beispiel die Route 902 eine mehrspurige Autobahn beinhaltet, beinhalten die Routenplanungsdaten 908 auf Fahrstreifenebene Trajektorienplanungsdaten 910, die das AV 100 verwenden kann, um unter den mehreren Fahrstreifen einen Fahrstreifen auszuwählen, z. B. basierend darauf, ob es sich einer Ausfahrt nähert, ob sich auf einem oder mehreren der Fahrstreifen andere Fahrzeuge befinden, oder basierend auf anderen Faktoren, die sich im Verlauf einiger Minuten oder weniger ändern können. Gleichermaßen beinhalten in einigen Ausführungsformen die Routenplanungsdaten 908 auf Fahrstreifenebene Geschwindigkeitsbeschränkungen 912, die speziell für ein Segment der Route 902 gelten. Wenn zum Beispiel in dem Segment Fußgänger oder unerwarteter Verkehr vorhanden sind, können die Geschwindigkeitsbeschränkungen 912 das AV 100 auf eine Fahrgeschwindigkeit begrenzen, die langsamer ist als eine erwartete Geschwindigkeit, z. B. eine Geschwindigkeit, die auf Geschwindigkeitsbegrenzungsdaten für das Segment basiert.
  • In einer Ausführungsform beinhalten die Eingaben zu dem Planungsmodul 404 Datenbankdaten 914 (z. B. von dem in 4 gezeigten Datenbankmodul 410), aktuelle Standortdaten 916 (z. B. die in 4 gezeigte AV-Position 418), Zieldaten 918 (z. B. das in 4 gezeigte Ziel 412) und Objektdaten 920 (z. B. die klassifizierten Objekte 416, die durch das Wahrnehmungsmodul 402 wie in 4 gezeigt wahrgenommen wurden). In einigen Ausführungsformen beinhalten die Datenbankdaten 914 bei der Planung verwendete Regeln. Regeln werden unter Verwenden einer formalen Sprache spezifiziert, z. B. unter Verwenden von Boolescher Logik. In jeder beliebigen Situation, in die das AV 100 gerät, treffen zumindest einige der Regeln auf die Situation zu. Eine Regel trifft auf eine bestimmte Situation zu, wenn die Regel Bedingungen aufweist, die basierend auf dem AV 100 zur Verfügung stehender Information erfüllt sind, z. B. Information über die umliegende Umgebung. Regeln können Priorität haben. Zum Beispiel kann eine Regel, die besagt: „Wenn die Straße eine Autobahn ist, wechsle zum äußersten linken Fahrstreifen“ eine niedrigere Priorität aufweisen als „Wenn die Ausfahrt höchstens eine Meile entfernt ist, wechsle zum äußersten rechten Fahrstreifen“.
  • 10 zeigt einen gerichteten Graphen 1000, der z. B. durch das Planungsmodul 404 (4) bei einer Streckenplanung verwendet wird. Im Allgemeinen wird ein gerichteter Graph 1000 wie der in 10 gezeigte verwendet, um eine Strecke zwischen einem beliebigen Startpunkt 1002 und Endpunkt 1004 zu bestimmen. In der Realität kann die Distanz, die den Startpunkt 1002 und Endpunkt 1004 trennt, relativ groß sein (z. B. in zwei unterschiedlichen städtischen Bereichen) oder kann relativ klein sein (z. B. zwei Kreuzungen, die an einen Häuserblock angrenzen oder zwei Fahrstreifen einer mehrspurigen Straße).
  • In einer Ausführungsform weist der gerichtete Graph 1000 Knoten 1006a-d auf, die unterschiedliche Orte zwischen dem Startpunkt 1002 und dem Endpunkt 1004 darstellen, die durch ein AV 100 belegt werden könnten. In einigen Beispielen, z. B. wenn der Startpunkt 1002 und Endpunkt 1004 unterschiedliche städtische Bereiche darstellen, stellen die Knoten 1006a-d Segmente von Straßen dar. In einigen Beispielen, z. B. wenn der Startpunkt 1002 und der Endpunkt 1004 unterschiedliche Orte auf derselben Straße darstellen, stellen die Knoten 1006a-d unterschiedliche Positionen auf dieser Straße dar. Somit beinhaltet der gerichtete Graph 1000 Information mit einem variierenden Maß an Granularität. In einer Ausführungsform ist ein gerichteter Graph mit hoher Granularität auch ein Untergraph eines anderen gerichteten Graphen mit einem größeren Maßstab. Zum Beispiel weist ein gerichteter Graph, bei dem der Startpunkt 1002 und der Endpunkt 1004 weit entfernt sind (z. B. viele Meilen auseinander liegen), die meiste Information in einer geringen Granularität auf und basiert auf gespeicherten Daten, beinhaltet jedoch auch einige Information in hoher Granularität für den Teil des Graphen, der physische Orte in dem Sichtfeld des AV 100 darstellt.
  • Die Knoten 1006a-d sind von Objekten 1008a-b verschiedenartig, die sich nicht mit einem Knoten überschneiden können. In einer Ausführungsform stellen die Objekte 1008a-b bei geringer Granularität Bereiche dar, die nicht durch ein Kraftfahrzeug befahren werden können, z. B. Bereiche, die keine Straßen oder Fahrbahnen aufweisen. Bei hoher Granularität stellen die Objekte 1008a-b physische Objekte in dem Sichtfeld des AV 100 dar, z. B. andere Kraftfahrzeuge, Fußgänger oder andere Entitäten, mit denen sich das AV 100 keinen physischen Raum 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 beispielsweise eine Straßenlaterne oder ein Strommast) oder dynamische Objekte (z. B. ein Objekt, das in der Lage ist, seine Position zu ändern, wie beispielsweise ein Fußgänger oder ein anderes Fahrzeug).
  • Die Knoten 1006a-d sind durch Kanten 1010a-c verbunden. Wenn zwei Knoten 1006a-b durch eine Kante 1010a verbunden sind, kann ein AV 100 zwischen einem Knoten 1006a und dem anderen Knoten 1006b fahren, ohne vor Ankunft an dem anderen Knoten 1006b zu einem dazwischenliegenden Knoten fahren zu müssen. (Wenn auf ein Fahren eines AV 100 zwischen Knoten Bezug genommen wird, ist gemeint, dass das AV 100 zwischen den durch die jeweiligen Knoten dargestellten zwei physischen Positionen fährt.) Die Kanten 1010a-c sind häufig bidirektional in dem Sinne, dass ein AV 100 von einem ersten Knoten zu einem zweiten Knoten oder von dem zweiten Knoten zu dem ersten Knoten fährt. In einer Ausführungsform sind die Kanten 1010a-c unidirektional in dem Sinne, dass ein AV 100 von einem ersten Knoten zu einem zweiten Knoten fahren kann, das AV 100 jedoch nicht von dem zweiten Knoten zu dem ersten Knoten fahren kann. Die Kanten 1010a-c sind unidirektional, wenn sie zum Beispiel Einbahnstraßen, einzelne Fahrstreifen einer Straße, Landstraße oder Autobahn oder andere Merkmale darstellen, die aufgrund gesetzlicher oder physischer Beschränkungen nur in einer Richtung befahren werden können.
  • In einer Ausführungsform verwendet das Planungsmodul 404 den gerichteten Graphen 1000, um eine Strecke 1012 zu identifizieren, die aus Knoten und Kanten zwischen dem Startpunkt 1002 und Endpunkt 1004 besteht.
  • Eine Kante 1010a-c weist assoziierte Kosten 1014a-b. auf. Die Kosten 1014a-b sind ein Wert, der die Ressourcen darstellt, die verbraucht werden, wenn das AV 100 diese Kante auswählt. Eine typische Ressource ist Zeit. Wenn zum Beispiel eine Kante 1010a eine physische Distanz darstellt, die das Doppelte von einer anderen Kante 1010b ist, dann können die assoziierten Kosten 1014a der ersten Kante 1010a das Doppelte der assoziierten Kosten 1014b der zweiten Kante 1010b sein. Andere Faktoren, die Zeit betreffen, beinhalten erwarteten Verkehr, eine Anzahl von Kreuzungen, eine Geschwindigkeitsbegrenzung usw. Eine andere typische Ressource ist der Kraftstoffverbrauch. Zwei Kanten 1010a-b können dieselbe physische Distanz darstellen, jedoch kann eine Kante 1010a mehr Kraftstoff erfordern als eine andere Kante 1010b, z. B. aufgrund von Straßenbedingungen, erwartetem Wetter usw.
  • Wenn das Planungsmodul 404 eine Strecke 1012 zwischen dem Startpunkt 1002 und Endpunkt 1004 identifiziert, wählt das Planungsmodul 404 in der Regel eine kostenoptimierte Strecke aus, z. B. die Strecke, die die geringsten Gesamtkosten aufweist, wenn die einzelnen Kosten der Kanten zusammenaddiert werden.
  • Autonome Fahrzeugsteuerung
  • 11 zeigt ein Blockdiagramm 1100 der Eingaben und Ausgaben eines Steuermoduls 406 (z. B. wie in 4 gezeigt). Ein Steuermodul arbeitet gemäß einer Steuerung 1102, die zum Beispiel einen oder mehrere Prozessoren (z. B. einen oder mehrere Computerprozessoren, beispielsweise Mikroprozessoren oder Mikrosteuerungen oder beides) ähnlich zu dem Prozessor 304, Kurzzeit- und/oder Langzeit-Datenspeicher (z. B. Direktzugriffsspeicher oder Flash-Speicher oder beides) ähnlich zu dem Hauptspeicher 306, dem ROM 308 und der Speichervorrichtung 310, und in Speicher gespeicherte Anweisungen, die Operationen der Steuerung 1102 umsetzen, wenn die Anweisungen (z. B. durch den einen oder die mehreren Prozessoren) ausgeführt werden, beinhaltet.
  • In einer Ausführungsform empfängt die Steuerung 1102 Daten, die eine Sollausgabe 1104 darstellen. Die Sollausgabe 1104 beinhaltet in der Regel eine Geschwindigkeit, z. B. ein Tempo und eine Fahrtrichtung. Die Sollausgabe 1104 kann zum Beispiel auf von einem Planungsmodul 404 empfangenen Daten basieren (z. B. wie in 4 gezeigt). Gemäß der Sollausgabe 1104 erzeugt die Steuerung 1102 Daten, die als eine Gaspedaleingabe 1106 und eine Lenkeingabe 1108 verwendbar sind. Die Gaspedaleingabe 1106 stellt die Stärke dar, mit der das Gaspedal (z. B. eine Beschleunigungssteuerung) eines AV 100 betätigt werden soll, z. B. durch Betätigen des Gaspedals oder Betätigen einer anderen Drosselsteuerung, um die Sollausgabe 1104 zu erzielen. In einigen Beispielen beinhaltet die Gaspedaleingabe 1106 auch Daten, die zum Betätigen der Bremse (z. B. eine Verzögerungssteuerung) des AV 100 verwendbar sind. Die Lenkeingabe 1108 stellt einen Lenkwinkel dar, z. B. den Winkel, in dem die Lenksteuerung (z. B. ein Lenkrad, ein Lenkwinkelaktuator oder eine andere Funktionalität zum Steuern des Lenkwinkels) des AV positioniert werden sollte, um die Sollausgabe 1104 zu erzielen.
  • In einer Ausführungsform empfängt die Steuerung 1102 eine Rückkopplung, die verwendet wird, um die dem Gaspedal und der Lenkung bereitgestellten Eingaben anzupassen. Wenn zum Beispiel das AV 100 auf einen Störfaktor 1110 trifft, beispielsweise einen Hügel, fällt die gemessene Geschwindigkeit 1112 des AV 100 unter die Sollausgabegeschwindigkeit. In einer Ausführungsform wird jede gemessene Ausgabe 1114 der Steuerung 1102 bereitgestellt, damit die erforderlichen Anpassungen durchgeführt werden, z. B. basierend auf der Differenz 1113 zwischen der gemessene Geschwindigkeit und der Sollausgabe. Die gemessene Ausgabe 1114 beinhaltet eine gemessene Position 1116, eine gemessene Geschwindigkeit 1118 (einschließlich Tempo und Fahrtrichtung), eine gemessene Beschleunigung 1120 und andere Ausgaben, die durch Sensoren des AV 100 messbar sind.
  • In einer Ausführungsform werden Informationen über den Störfaktor 1110 im Voraus detektiert, z. B. durch einen Sensor wie beispielsweise eine Kamera oder einen LiDAR-Sensor, und einem prädiktiven Rückkopplungsmodul 1122 bereitgestellt. Das prädiktive Rückkopplungsmodul 1122 stellt dann Informationen zu der Steuerung 1102 bereit, die die Steuerung 1102 für ein entsprechendes Anpassen verwenden kann. Wenn zum Beispiel die Sensoren des AV 100 einen Hügel detektieren („sehen“), kann diese Information durch die Steuerung 1102 verwendet werden, um ein Betätigen des Gaspedals zum richtigen Zeitpunkt vorzubereiten, um eine deutliche Verzögerung zu verhindern.
  • 12 zeigt ein Blockdiagramm 1200 der Eingaben, Ausgaben und Komponenten der Steuerung 1102. Die Steuerung 1102 weist eine Geschwindigkeitsprofilkorrekturvorrichtung 1202 auf, die den Betrieb einer Gaspedal-/Bremsensteuerung 1204 beeinflusst. Zum Beispiel weist die Geschwindigkeitsprofilkorrekturvorrichtung 1202 die Gaspedal-/Bremsensteuerung 1204 an, eine Beschleunigung oder Verzögerung unter Verwenden des Gaspedals/der Bremse 1206 in Abhängigkeit von z. B. einer durch die Steuerung 1102 empfangenen und durch die Geschwindigkeitsprofilkorrekturvorrichtung 1202 verarbeiteten Rückkopplung zu betätigen.
  • Die Steuerung 1102 weist zudem eine seitliche Spursteuerung 1208 auf, die den Betrieb einer Lenksteuerung 1210 beeinflusst. Zum Beispiel weist die seitliche Spursteuerung 1208 die Lenksteuerung 1210 an, die Position des Lenkwinkelaktuators 1212 in Abhängigkeit von z. B. einer durch die Steuerung 1102 empfangenen und durch die seitliche Spursteuerung 1208 verarbeiteten Rückkopplung anzupassen.
  • Die Steuerung 1102 empfängt mehrere Eingaben, die verwendet werden, um zu bestimmen, wie das Gaspedal/die Bremse 1206 und der Lenkwinkelaktuator 1212 gesteuert werden sollen. Ein Planungsmodul 404 stellt Information bereit, die durch die Steuerung 1102 zum Beispiel verwendet wird, um eine Fahrtrichtung bei Beginn des Betriebs des AV 100 auszuwählen und zu bestimmen, welches Straßensegment befahren werden soll, wenn das AV 100 eine Kreuzung erreicht. Ein Standortbestimmungsmodul 408 stellt eine Information zu der Steuerung 1102 bereit, die den aktuellen Standort des AV 100 beschreibt, sodass zum Beispiel die Steuerung 1102 basierend auf der Weise, wie das Gaspedal/die Bremse 1206 und der Lenkwinkelaktuator 1212 gesteuert werden, bestimmen kann, ob sich das AV 100 an einem erwarteten Standort befindet. In einer Ausführungsform empfängt die Steuerung 1102 Information von anderen Eingaben 1214, z. B. von Datenbanken, Computernetzwerken usw. empfangene Information.
  • Bewegungsplanung für ein blockiertes Fahrzeug
  • Techniken zum Generieren einer Fahrtrajektorie für ein Fahrzeug, während das Fahrzeug durch ein Objekt (z. B. ein anderes Fahrzeug, ein Fahrrad oder einen Fußgänger) blockiert wird (z. B. haben die Sensoren des Fahrzeugs ein Objekt detektiert, durch das das Fahrzeug nicht mehr in der Lage ist, sich zu bewegen) und Ausführen der Fahrtrajektorie, sobald das Fahrzeug nicht mehr blockiert wird, sind nunmehr im Detail beschrieben. 13 veranschaulicht ein Fahrzeug, das, während es durch einen Fußgänger blockiert wird, Daten von seinen Sensoren nutzt, um eine Trajektorie für seine Bewegung zu generieren, die ausgeführt wird, sobald das Fahrzeug nicht mehr blockiert wird. Da das Fahrzeug Daten von den Sensoren empfängt, ist das Fahrzeug zum Beispiel in der Lage, eine Trajektorie zu generieren, während das Fahrzeug wegen des Fußgängers nicht in der Lage ist, sich zu bewegen. Sobald sich der Fußgänger aus dem Weg bewegt hat, kann das Fahrzeug die generierte Trajektorie verwenden, um zu seinem Ziel weiterzufahren.
  • 14 veranschaulicht einen Prozess 1400 zum Generieren einer Trajektorie für ein Fahrzeug, während das Fahrzeug durch ein Objekt blockiert wird, und Ausführen der Trajektorie, sobald das Fahrzeug nicht mehr blockiert wird. Wie in Block 1405 gezeigt, empfängt ein Prozessor (z. B. der in 1 gezeigte Prozessor 146) Sensordaten, die eine Mehrzahl von Objekten in einer Umgebung eines Fahrzeugs darstellen. Wie oben erörtert, kann das Fahrzeug zum Beispiel mit einem LiDAR, einem RADAR, einer Kamera oder einer Kombination beliebiger davon (z. B. den in 1 gezeigten Sensoren 121, 122 und/oder 123) ausgestattet sein. Auch andere Sensoren können in dem Fahrzeug vorhanden sein. Die Daten können durch die Sensoren erfasst und durch den Prozessor empfangen werden. 4 legt ein weiteres Beispiel dafür dar, wie die Sensordaten empfangen werden können. Wie in Verbindung mit 4 beschrieben, können die Sensoren 121 zur Umgebung um das Fahrzeug erhobene Daten empfangen und diese Information in die Datenbank 410 einspeisen. Das Wahrnehmungsmodul 402 (wie in 4 gezeigt) verwendet die Sensordaten aus der Datenbank, um Objekte in der Umgebung zu identifizieren. Das Wahrnehmungsmodul 402 (wie in 4 gezeigt) bestimmt zudem die Geschwindigkeit der Objekte (z. B. durch Analysieren von Sensordaten).
  • In einer Ausführungsform identifiziert der Prozessor zudem jegliche Objekte in der Strecke des Fahrzeugs und in einigen Fällen ihre Distanz zu dem Fahrzeug. Insbesondere bestimmt der Prozessor wie in Block 1410 gezeigt, dass das Fahrzeug durch ein Objekt der Mehrzahl von Objekten blockiert wird. In einer Ausführungsform bestimmt der Prozessor 146 basierend auf den von den Sensoren (z. B. den in 1 gezeigten Sensoren 121, 122 und/oder 123) empfangenen Daten, dass sich ein Objekt (z. B. ein anderes Fahrzeug, ein Fußgänger, ein Fahrrad oder ein anderes Objekt) vor dem Fahrzeug befindet, das das Fahrzeug blockiert (d. h. das Fahrzeug kann sich nicht bewegen, bis sich das Objekt aus dem Weg bewegt). In einer anderen Ausführungsform bestimmt das Wahrnehmungsmodul 402 (wie in 4 gezeigt) basierend auf den Sensordaten in der Datenbank 410 (wie in 4 gezeigt), dass das Fahrzeug durch ein oder mehrere der Objekte blockiert wird.
  • Wie in Block 1415 gezeigt, bestimmt der Prozessor (z. B. der Prozessor 146 wie in 1 gezeigt) basierend auf den Sensordaten und einem Zeitstempel der Sensordaten wahrscheinliche Standorte für Objekte in der Mehrzahl von Objekten. In einer Ausführungsform ruft der Prozessor Sensordaten aus dem Datenspeicher (z. B. dem Datenspeicher 142 wie in 1 gezeigt) ab, die Objektstandorte, Objektgeschwindigkeiten und einen Zeitstempel der Daten beinhalten. In einigen Fällen verwendet der Prozessor den Standort jedes Objekts und den Zeitstempel der Daten als eine Startzeit und einen Startstandort und berechnet basierend auf der Geschwindigkeit Standorte der Objekte zu einem zukünftigen Zeitpunkt. In einer Ausführungsform berechnet der Prozessor die Standorte des Objekts zu mehreren zukünftigen Zeitpunkten. In einem Beispiel generiert der Prozessor mehrere Szenenbeschreibungen, die wahrscheinliche Standorte von Objekten zu unterschiedlichen Zeitpunkten ab dem Zeitstempel der Sensordaten beinhalten. In einem anderen Beispiel bestimmt das Wahrnehmungsmodul 402 (wie in 4 gezeigt) basierend auf den Sensordaten und dem Zeitstempel wahrscheinliche Standorte für die Objekte in der Mehrzahl von Objekten. In einer Ausführungsform verwendet das Wahrnehmungsmodul die Standorte der Objekte und die Geschwindigkeiten der Objekte in den Sensordaten, um Standorte jedes der Objekte zu einem zukünftigen Zeitpunkt oder einer Mehrzahl von zukünftigen Zeitpunkten zu berechnen. Diese Daten können für eine spätere Verwendung zum Generieren möglicher Trajektorien gespeichert werden (z. B. in der Datenbank 410 wie in 4 gezeigt).
  • Wie in Block 1420 gezeigt, generiert der Prozessor (z. B. der Prozessor 146 wie in 1 gezeigt), während das Fahrzeug blockiert wird und basierend auf den wahrscheinlichen Standorten der Objekte in der Mehrzahl von Objekten, einen oder mehrere Operationsbefehle für das Fahrzeug. Zum Beispiel generiert der Prozessor wie unter Bezugnahme auf 1 beschrieben eine Trajektorie basierend auf einem gewünschten Ziel. In dieser Ausführungsform verwendet der Prozessor jedoch Daten für den wahrscheinlichen Standort der Objekte, die basierend auf durch die Sensordaten angezeigten Standorten und Geschwindigkeiten der Objekte berechnet wurden. Basierend auf der berechneten Trajektorie generiert der Prozessor die Operationsbefehle, um an dem gewünschten Standort anzukommen.
  • In einer Ausführungsform generiert das Steuermodul 406 (wie in 4 gezeigt) den einen oder die mehreren Operationsbefehle. Zum Beispiel empfängt das Planungsmodul eine Eingabe von dem Wahrnehmungsmodul 402 (wie in 4 gezeigt) und dem Standortbestimmungsmodul 408 (wie in 4 gezeigt). Wie in Verbindung mit 4 beschrieben, beinhalten in einer Ausführungsform die Daten die Position des Fahrzeugs in Relation zu seiner Umgebung und die Trajektorie zum Ziel des Fahrzeugs. In einer anderen Ausführungsform generiert das Steuermodul 406 (wie in 4 gezeigt) den einen oder die mehreren Befehle gemäß der Trajektorie, um an dem Ziel anzukommen.
  • In einer Ausführungsform führt der Prozessor (z. B. der Prozessor 146 wie in 1 gezeigt) die folgenden Aktionen aus, um den einen oder die mehreren Operationsbefehle zu generieren. Der Prozessor generiert eine Mehrzahl von möglichen Trajektorien für das Fahrzeug. Zum Beispiel kann der Prozessor Kartendaten in Verbindung mit dem Fahrzeugstandort verwenden, um eine oder mehrere Trajektorien für das Fahrzeug zu generieren, sodass das Fahrzeug an einem Ziel ankommen kann. In einer anderen Ausführungsform generiert das Planungsmodul 404 (wie in 4 gezeigt) die Trajektorien. Wenn die Trajektorien generiert sind, iteriert der Prozessor (z. B. der Prozessor 146 wie in 1 gezeigt) durch die ausgewählten Trajektorien, um die folgenden Aktionen durchzuführen. Der Prozessor 146 wählt eine erste Trajektorie der Mehrzahl möglicher Trajektorien aus. In einigen Fällen sind die Trajektorien in einer oder mehreren Datenstrukturen in einem Primär- oder Sekundärspeicher (z. B. dem Speicher 144 und/oder dem Speicher 142 wie in 1 gezeigt) gespeichert. In einer anderen Ausführungsform iteriert das Planungsmodul 404 (wie in 4 gezeigt) durch die Trajektorien und wählt die erste Trajektorie zum Verarbeiten aus.
  • Der Prozessor (z. B. der Prozessor 146 wie in 1 gezeigt) identifiziert für die erste Trajektorie ein oder mehrere Objekte der Mehrzahl von Objekten, für die bestimmt wurde, dass sie die erste Trajektorie behindern. Zum Beispiel kann die erste Trajektorie eine Straße beinhalten, die ein Fußgänger überquert. Der Prozessor hat möglicherweise basierend auf der Geschwindigkeit des Fußgängers bestimmt, dass sich der Fußgänger in etwa zum selben Zeitpunkt am Fußgängerüberweg befinden wird wie das Fahrzeug. In einer Ausführungsform nimmt das Planungsmodul 404 (wie in 4 gezeigt) diese Identifizierung basierend auf durch das Wahrnehmungsmodul 402 (wie in 4 gezeigt) generierten Daten vor. Die Daten können in der Datenbank 410 gespeichert sein.
  • In einer Ausführungsform empfängt der Prozessor (z. B. der Prozessor 146 wie in 1 gezeigt) eine oder mehrere Wahrscheinlichkeiten für das eine oder die mehreren Objekte. In einer Ausführungsform werden die Wahrscheinlichkeiten in einem Sekundärspeicher (z. B. dem Speicher 142 wie in 1 gezeigt) gespeichert und in einen Primärspeicher (z. B. den Speicher 144 wie in 1 gezeigt) abgerufen. In einer anderen Ausführungsform gemäß 4 ruft das Planungsmodul 404 die Wahrscheinlichkeiten aus der Datenbank 410 ab. Das Wahrnehmungsmodul 402 generiert die Wahrscheinlichkeiten, die durch das Planungsmodul 404 abgerufen werden. In einer anderen Ausführungsform generiert das Planungsmodul 404 (wie in 4 gezeigt), anstatt die eine oder mehreren Wahrscheinlichkeiten zu empfangen, die Wahrscheinlichkeiten „on-the-fly“. In noch einer anderen Ausführungsform ruft das Planungsmodul 404 (wie in 4 gezeigt) einen Standort und eine Geschwindigkeit für jedes Objekt, für das bestimmt wurde, dass es die Trajektorie des Fahrzeugs behindert, aus der Datenbank 410 (wie in 4 gezeigt) ab. Das Planungsmodul 404 (wie in 4 gezeigt) kann eine Wahrscheinlichkeit für jedes der Objekte generieren, wie wahrscheinlich das Objekt die Trajektorie behindern wird.
  • In einer Ausführungsform wird jede Wahrscheinlichkeit basierend auf Zeit und Standort des behindernden Objekts generiert. Wenn zum Beispiel der Prozessor (z. B. der Prozessor 146 wie in 1 gezeigt) basierend auf der Geschwindigkeit und dem Standort eines gegebenen Objekts bestimmt, dass das Objekt die Trajektorie des Fahrzeugs zum selben Zeitpunkt wie das Fahrzeug selbst überqueren wird, generiert der Prozessor eine sehr hohe Wahrscheinlichkeit, dass das Objekt die Trajektorie behindern wird (z. B. eine Wahrscheinlichkeit von 100 %). Wenn sich die Zeit zwischen der Ankunft des Fahrzeug an dem Punkt auf der Trajektorie und der Ankunft des Objekt an dem Punkt auf der Trajektorie erhöht, wird die Wahrscheinlichkeit entsprechend gesenkt. Wenn zum Beispiel die Zeitdifferenz eine Minute beträgt, kann die Wahrscheinlichkeit halbiert werden oder auf einen anderen geeigneten Wert eingestellt werden.
  • Der Prozessor (z. B. der Prozessor 146) bestimmt, ob irgendwelche der einen oder mehreren Wahrscheinlichkeiten eine Schwelle erreichen. Zum Beispiel kann die Schwelle bei fünfzig Prozent eingestellt sein. Wenn die Wahrscheinlichkeit einer Behinderung fünfzig Prozent oder höher ist, wird eine Aktion durchgeführt, wenn jedoch die Wahrscheinlichkeit kleiner als fünfzig Prozent ist, wird keine Aktion oder eine andere Aktion durchgeführt. In einer Ausführungsform bestimmt das Planungsmodul 404 (wie in 4 gezeigt), ob die Schwelle erreicht ist. In Reaktion auf das Bestimmen, dass irgendwelche der einen oder mehreren Wahrscheinlichkeiten die Schwelle erreichen, entfernt der Prozessor (z. B. der Prozessor 146 wie in 1 gezeigt) die erste Trajektorie aus einer Erwägung für die Fahrzeugtrajektorie. In einer Ausführungsform pflegt der Prozessor (z. B. der Prozessor 146 wie in 1 gezeigt) eine Datenstruktur möglicher Trajektorien und entfernt solche Trajektorien aus der Datenstruktur, bei denen erkannt wurde, dass dort Objekte vorhanden sind, die diese Trajektorien behindern werden (z. B. mit einem spezifischen Wahrscheinlichkeitswert). Wenn der Prozessor eine geeignete Trajektorie (z. B. die frei von Behinderung ist oder bei der die Wahrscheinlichkeiten einer Behinderung unterhalb der Schwelle liegen) identifiziert, generiert der Prozessor basierend auf dieser Trajektorie den einen oder die mehreren Operationsbefehle zum Fahren des Fahrzeugs. In einer Ausführungsform werden die Befehle durch das Planungsmodul 404 (wie in 4 gezeigt) generiert und zu dem Steuermodul 406 (wie in 4 gezeigt) zur Ausführung gespeist. In einer Ausführungsform überträgt das Planungsmodul 404 die geeignete Trajektorie zu dem Steuermodul 406 (wie in 4 gezeigt) und das Steuermodul generiert die Operationsbefehle.
  • Fortfahrend mit 14, führt der Prozessor (z. B. der Prozessor 146 wie in 1 gezeigt) wie in Block 1425 gezeigt den einen oder die mehreren Operationsbefehle durch eine Steuerschaltung des Fahrzeugs aus, wobei das Ausführen der Operationsbefehle Manövrieren des Fahrzeugs entlang einer Strecke, die nicht durch das Objekt blockiert wird, umfasst. In einem anderen Beispiel gemäß 4 führt das Steuermodul 406 die Operationsbefehle nach Bedarf aus.
  • In einer Ausführungsform bestimmt der Prozessor, sobald das Fahrzeug nicht mehr blockiert wird, ob die Operationsbefehle veraltet sind, und generiert die Befehle mit aktualisierten Daten neu. Diese Aktionen sind durch einen Prozess 1500 in 15 dargestellt. Insbesondere bestimmt der Prozessor (z. B. der Prozessor 146 wie in 1 gezeigt) wie in Block 1505 gezeigt, dass das Fahrzeug nicht mehr blockiert wird. In einer Ausführungsform empfängt der Prozessor aktualisierte Sensordaten und bestimmt, basierend auf den aktualisierten Sensordaten, dass sich das blockierende Objekt wegbewegt hat. Wie in Block 1510 gezeigt, bestimmt der Prozessor (z. B. der Prozessor 146 wie in 1 gezeigt) in Reaktion auf ein Bestimmen, dass das Fahrzeug nicht mehr blockiert wird, eine Zeitdauer, die verstrichen ist, seit der eine oder die mehreren Operationsbefehle generiert wurden. Wenn der eine oder die mehreren Operationsbefehle erstellt werden, wird zum Beispiel ein Zeitstempel für die Erstellungszeit generiert. Der Prozessor vergleicht die aktuelle Zeit mit dem Zeitstempel, um die verstrichene Zeitdauer zu bestimmen. Diese Aktion kann wie in 4 dargestellt auch durch das Planungsmodul 404 und/oder das Steuermodul 406 oder eine andere geeignete Komponente durchgeführt werden.
  • Wie in Block gezeigt 1515 gezeigt, verwendet der Prozessor den Zeitstempel und bestimmt, ob die verstrichene Zeitdauer eine Schwelle erreicht. In einer Ausführungsform ist eine Schwelle zehn Sekunden und wird in einem Primärspeicher (z. B. dem Speicher 144 wie in 1 gezeigt) oder in einem Sekundärspeicher (z. B. dem Speicher 142 wie in 1 gezeigt) gespeichert. Der Prozessor ruft die Schwelle zum Vergleich mit dem Zeitstempel ab. Wie in Block gezeigt 1520 gezeigt, generiert der Prozessor in Reaktion auf das Bestimmen, dass die verstrichene Zeitdauer die Schwelle erreicht, den einen oder die mehreren Operationsbefehle neu. Um das obige Beispiel weiterzuführen, werden die Befehle neu generiert, wenn das Fahrzeug nach zehn Sekunden immer noch blockiert wird. In einer Ausführungsform wird auch die Trajektorie neu berechnet. Diese Aktionen können wie in 4 dargestellt auch durch das Planungsmodul 404 und/oder das Steuermodul 406 oder eine andere geeignete Komponente durchgeführt werden. In einer Ausführungsform werden, wie in Block 1525 dargestellt, wenn die Zeitdauer nicht die Schwelle erreicht, der eine oder die mehreren Befehle ohne eine Aktualisierung ausgeführt.
  • In einer Ausführungsform werden die Operationsbefehle in Reaktion auf das Bestimmen, dass das Fahrzeug nicht mehr blockiert wird, ausgeführt. Insbesondere empfängt der Prozessor (z. B. der Prozessor 146 wie in 1 gezeigt) aktualisierte Sensordaten. Zum Beispiel empfängt der Prozessor aktualisierte Sensordaten in einem spezifischen Intervall (z. B. alle zehn Sekunden oder in einem anderen geeigneten Intervall). Der Prozessor bestimmt, basierend auf den aktualisierten Sensordaten, dass das Fahrzeug nicht mehr blockiert wird. In einer Ausführungsform empfängt der Prozessor 146 (wie in 1 gezeigt) RADAR-, LiDAR- und/oder Kameradaten und bestimmt basierend auf diesen Daten, dass das blockierende Objekt das Fahrzeug nicht mehr blockiert. In Reaktion auf das Bestimmen, dass das Fahrzeug nicht mehr blockiert wird, führt der Prozessor (z. B. der Prozessor 146 wie in 1 gezeigt) den einen oder die mehreren Operationsbefehle aus. In einer Ausführungsform bestimmt das Wahrnehmungsmodul 402 wie in 4 dargestellt, dass das Fahrzeug nicht mehr blockiert wird, und kommuniziert diese Information an das Planungsmodul 404, das die Information wiederum an das Steuermodul 406 kommuniziert, um mit der Ausführung der Operationsbefehle fortzufahren.
  • In einer Ausführungsform werden die Operationsbefehle periodisch aktualisiert. Insbesondere bestimmt der Prozessor (z. B. der Prozessor 146 wie in 1 gezeigt) bevor das Fahrzeug nicht mehr blockiert wird, dass eine Schwellenzeitdauer ab einem Zeitpunkt, an dem der eine oder die mehreren Operationsbefehle für das Fahrzeug generiert wurden, verstrichen ist. Zum Beispiel werden die Operationsbefehle alle zehn Sekunden, alle dreißig Sekunden, jede Minute oder in einem anderen geeigneten Intervall aktualisiert. Wenn das Zeitintervall verstrichen ist, empfängt der Prozessor somit aktualisierte Sensordaten (z. B. ruft diese aus dem Speicher 142 und/oder dem Speicher 144 wie in 1 gezeigt ab) und aktualisiert den einen oder die mehreren Operationsbefehle basierend auf den aktualisierten Sensordaten. In einer Ausführungsform beinhaltet das Aktualisieren Ändern der Trajektorie und der Fahrbefehle basierend auf unterschiedlichen Objekten, die ihre Geschwindigkeit und/oder ihren Standort verändern. In einigen Ausführungsformen wird auch die Trajektorie neu berechnet. Diese Aktionen können wie in 4 dargestellt auch durch das Planungsmodul 404 und/oder das Steuermodul 406 oder eine andere geeignete Komponente durchgeführt werden.
  • In einer Ausführungsform weist der Prozessor (z. B. der Prozessor 146 wie in 1 gezeigt) der Mehrzahl von Objekten eine Mehrzahl von Wahrscheinlichkeiten zu, wobei jede Wahrscheinlichkeit anzeigt, wie wahrscheinlich ein entsprechendes Objekt die Fahrzeugtrajektorie behindern wird, wobei jede Wahrscheinlichkeit auf einem Standort und einer Geschwindigkeit eines entsprechenden Objekts basiert. Wie oben erörtert, kann jede Wahrscheinlichkeit basierend auf einem Standort und einer Geschwindigkeit eines entsprechenden Objekts, die durch Sensoren detektiert wurden, berechnet werden. In einer Ausführungsform werden die Wahrscheinlichkeiten aktualisiert, sobald neue Sensordaten verfügbar sind. Insbesondere empfängt der Prozessor (z. B. der Prozessor 146 wie in 1 gezeigt) aktualisierte Sensordaten, wobei die aktualisierten Sensordaten aktualisierte Standorte und aktualisierte Geschwindigkeiten eines oder mehrerer Objekte der Mehrzahl von Objekten beinhalten, und aktualisiert die Mehrzahl von Wahrscheinlichkeiten basierend auf den aktualisierten Sensordaten. Wenn zum Beispiel Sensordaten jede Sekunde, alle zehn Sekunden, jede Minute oder in einem anderen geeigneten Intervall aktualisiert werden, aktualisiert der Prozessor die Wahrscheinlichkeiten in demselben Intervall.
  • Teilweise Aktualisierung einer Trajektorie
  • Techniken zum Aktualisieren eines Teils einer Fahrtrajektorie eines Fahrzeugs basierend auf einer Wahrscheinlichkeit, dass ein Objekt ein Segment der aktuellen Fahrtrajektorie zu einem späteren Zeitpunkt überqueren wird, ohne Neuberechnen der gesamten Trajektorie sind bereitgestellt. 16 veranschaulicht einen Prozess 1600 zum Aktualisieren eines Teils einer Fahrtrajektorie eines Fahrzeugs basierend auf einer Wahrscheinlichkeit, dass ein Objekt ein Segment der aktuellen Fahrtrajektorie überqueren wird. Wie in Block 1605 gezeigt, generiert ein Prozessor (z. B. der Prozessor 146 wie in 1 gezeigt) einen oder mehrere Operationsbefehle für ein Fahrzeug, wobei der eine oder die mehreren Operationsbefehle mit Segmenten in einer Trajektorie des Fahrzeugs assoziiert sind. In einer Ausführungsform generiert der Prozessor, wenn das Fahrzeug eine Eingabe für ein Ziel empfängt, einen oder mehrere Operationsbefehle, um das Fahrzeug an das Ziel zu bringen. In einer anderen Ausführungsform generiert das Planungsmodul 404 und/oder das Steuermodul 406 wie in 4 dargestellt die Operationsbefehle basierend auf durch das Wahrnehmungsmodul 402 generierter Obj ektinformation.
  • Wie in Block 1610 gezeigt, empfängt der Prozessor (z. B. der Prozessor 146 wie in 1 gezeigt) Sensordaten, wobei die Sensordaten Standorte und Geschwindigkeiten detektierter Objekte beinhalten. In einer Ausführungsform erheben Sensoren 121, 122 und 123 verschiedene Daten zur Umgebung des Fahrzeugs. Die erhobenen Sensordaten werden durch den Prozessor empfangen. In einer Ausführungsform werden Sensordaten wie in 4 dargestellt in der Datenbank 410 gespeichert und durch das Wahrnehmungsmodul 402 verarbeitet. Das Planungsmodul 404 empfängt die verarbeiteten Sensordaten. Das Wahrnehmungsmodul 402 verarbeitet die Sensordaten, um verschiedene Objekte in der Umgebung des Fahrzeugs zu kennzeichnen, wie oben unter Bezugnahme auf 4 erörtert.
  • Wie in Block 1615 gezeigt, bestimmt der Prozessor (z. B. der Prozessor 146 wie in 1 gezeigt) basierend auf den Sensordaten, dass sich ein Objekt der detektierten Objekte und das Fahrzeug laut Vorausberechnung zu einem bestimmten Zeitpunkt nahe zu einem Segment der Trajektorie des Fahrzeugs befinden werden. In einer Ausführungsform greift der Prozessor 146 auf die Daten zu, die die Trajektorie des Fahrzeugs anzeigen, und bestimmt spezifische Zeitpunkte, zu denen das Fahrzeug durch die Segmente der Trajektorie fahren wird. Der Prozessor vergleicht die die Trajektorie des Fahrzeugs anzeigenden Daten mit Daten für die in der Umgebung detektierten Objekte. In einer Ausführungsform wird jedes Objekt in der Umgebung als eine Datenstruktur gespeichert, die einen Standort und eine Trajektorie der Objekte beinhaltet. In einer anderen Ausführungsform wird andere Information über jedes Objekt in einer entsprechenden Datenstruktur gespeichert. Diese Information kann einen Zeitpunkt beinhalten, zu dem das Objekt die einzelnen Segmente der Trajektorie erreichen wird. In einer Ausführungsform bestimmt der Prozessor (z. B. der Prozessor 146 wie in 1 gezeigt) basierend auf einem Vergleichen von Objektdaten und Fahrzeugtrajektoriendaten, ob sich irgendwelche der detektierten Objekte nahe zu der Trajektorie befinden werden, und bestimmt zudem, ob sich das Objekt in einem im Wesentlichen ähnlichen Zeitintervall (Zeitrahmen) nahe zu der Trajektorie befinden wird. In einer anderen Ausführungsform führt das Planungsmodul 404 und/oder das Steuermodul 406 wie in 4 dargestellt die in Bezug auf das Bestimmen, dass sich ein Objekt der detektierten Objekte und das Fahrzeug laut Vorausberechnung zu einem bestimmten Zeitpunkt nahe zu einem Segment der Trajektorie des Fahrzeugs befinden werden, beschriebenen Berechnungen durch.
  • In einer Ausführungsform muss ein Objekt die Trajektorie des Fahrzeugs nicht unbedingt überqueren, sondern muss sich nahe zu dem Fahrzeug befinden, da die Trajektorie des Objekts basierend auf bekannter Information über das Objekt (z. B. Geschwindigkeit und Startstandort) näherungsweise berechnet wird. Daher ist es möglich, dass das Fahrzeug mit dem Objekt kollidieren kann, sogar wenn sich die beiden Trajektorien nicht kreuzen, sondern nur nahe aneinander vorbei führen. Um eine mögliche Kollision zu vermeiden, wird in diesen Situationen (d. h. wenn sich die Trajektorien für das Objekt und das Fahrzeug nicht kreuzen, aber nahe aneinander vorbei führen) eine Aktion vorgenommen. In einer Ausführungsform müssen die Zeitpunkte, zu denen für das Fahrzeug und ein beliebiges Objekt bestimmt wurde, dass sie sich in der Nähe zueinander befinden, nicht gleich sein. Es ist ausreichend, dass die Zeitpunkte, zu denen sich das Objekt und das Fahrzeug in der Nähe zueinander befinden, dicht beieinander liegen (z. B. innerhalb von zehn Sekunden, dreißig Sekunden, einer Minute und eines anderen geeigneten Werts). Um eine mögliche Kollision zu vermeiden, muss eine Aktion vorgenommen werden, wenn die Zeitpunkt dicht beieinander liegen.
  • Wie in Block 1620 gezeigt, identifiziert der Prozessor (z. B. der Prozessor 146 wie in 1 gezeigt) basierend auf dem Bestimmen (d. h. basierend auf einem Bestimmen, dass sich ein Objekt der detektierten Objekte und das Fahrzeug laut Vorausberechnung zu einem bestimmten Zeitpunkt nahe zu einem Segment der Trajektorie des Fahrzeugs befinden werden) einen mit dem Segment der Trajektorie des Fahrzeugs assoziierten Teil der einen oder mehreren Operationsbefehle und aktualisiert den identifizierten Teil. In einer Ausführungsform werden die Operationsbefehle in einer Datenstruktur eines entsprechenden Segments gespeichert und der identifizierte Teil beinhaltet ein oder mehrere Segmente, die aktualisiert werden müssen. Wenn der Prozessor ein Segment identifiziert, für das bestimmt wurde, dass die Operationsbefehle aktualisiert werden müssen, kann der Prozessor die Befehle abrufen und die Befehle für das Segment aktualisieren.
  • 17 veranschaulicht ein Aktualisieren einer Fahrtrajektorie, wobei Operationsbefehle für ein Segment mit unterschiedlichen Operationsbefehlen aktualisiert werden. In diesem Fall zeigt die Darstellung 1700 mehrere mögliche Trajektorien für ein Fahrzeug, um von einem Startpunkt zu einem Ziel zu fahren. Eine Trajektorie 1705 wurde für die Fahrt von dem Startpunkt zu dem Endpunkt (z. B. durch den Prozessor 146 wie in 1 gezeigt) ausgewählt. Wenn der Prozess 1600 mit Block 1615 fortfährt, in dem der Prozessor bestimmt, dass sich ein spezifisches Segment in der Trajektorie zu einem bestimmten Zeitpunkt nahe zu einem Objekt befindet, identifiziert der Prozessor das Segment 1710 als das Segment, das aktualisiert werden muss. Eine Darstellung 1720 zeigt eine aktualisierte Trajektorie des Fahrzeugs, für die der Prozessor basierend auf dem Prozess 1600 Operationsbefehle für die Trajektorie aktualisiert ist, sodass das Segment 1710 nicht durchfahren wird, sondern stattdessen die Segmente 1725 und 1730. In einer Ausführungsform werden die Operationsbefehle so aktualisiert, dass ein Segment anstatt des identifizierten Segments durchfahren wird, und in einer anderen Ausführungsform werden die Operationsbefehle so aktualisiert, dass stattdessen mehrere Segmente durchfahren werden. In einer Ausführungsform führt das Planungsmodul 404 und/oder das Steuermodul 406 wie in 4 dargestellt die Berechnungen und Aktualisierungen der Operationsbefehle durch. Wie in Block 1625 gezeigt, führt der Prozessor (z. B. der Prozessor 146 wie in 1 gezeigt oder eine andere geeignete Steuerschaltung) den einen oder die mehreren Operationsbefehle aus, um das Fahrzeug zu seinem Ziel zu bringen.
  • In einer Ausführungsform bestimmt der Prozessor (z. B. der Prozessor 146 wie in 1 gezeigt), dass sich ein Objekt und ein Fahrzeug laut Vorausberechnung zu einem bestimmten Zeitpunkt nahe zu dem Segment der Trajektorie des Fahrzeugs befinden werden, indem folgende Aktionen vorgenommen werden. Der Prozessor generiert, basierend auf einer Geschwindigkeit und einem Standort des Objekt, eine Trajektorie für das Objekt. Zum Beispiel generiert der Prozessor ein Modell für die Bewegung des Objekts basierend auf Geschwindigkeit, Richtung und anfänglichem Standort. Das Modell wird in einer Datenstruktur für einen späteren Zugriff gespeichert. Anhand der Trajektorieninformation zu dem Objekt und der Fahrzeugtrajektorieninformation bestimmt der Prozessor, ob sich das Objekt und das Fahrzeug zu dem bestimmten Zeitpunkt nahe zueinander befinden werden. Der Prozessor vergleicht Koordinateninformation (z. B. GPS-Koordinaten) für die Trajektorie des Fahrzeugs und die Trajektorie des Objekts. Wenn die Koordinaten innerhalb einer Schwellendistanz liegen (z. B. innerhalb eines Fußes, eines Yards und einer anderen geeigneten Distanz) bestimmt der Prozessor (z. B. basierend auf der Geschwindigkeit des Objekts und der Geschwindigkeit des Fahrzeugs) einen Zeitpunkt, zu dem das Objekt und das Fahrzeug die Koordinaten, die innerhalb der Schwelle liegen, erreichen. Wenn der Zeitpunkt innerhalb der Schwellenzeit liegt, bestimmt der Prozessor, dass sich das Objekt zu einem spezifischen Zeitpunkt nahe zu dem Fahrzeug befinden wird (d. h. es besteht eine Möglichkeit einer Kollision).
  • In Reaktion auf das Bestimmen, dass sich das Objekt der detektierten Objekte und das Fahrzeug nahe zueinander befinden werden, identifiziert der Prozessor (z. B. der Prozessor 146 wie in 1 gezeigt) ein Segment der Trajektorie des Fahrzeugs, das sich nahe zu dem Objekt der detektierten Objekte befinden wird. In einer Ausführungsform iteriert der Prozessor durch eine Datenstruktur, in der Segmentidentifizierungen und die entsprechenden Operationsbefehle gespeichert sind. Der Prozessor vergleicht Objektkoordinaten, die am nächsten zu der Trajektorie sind, mit jedem Segment der Fahrzeugtrajektorie assoziierten Koordinaten und identifiziert das Segment, das die Koordinaten aufweist, die mit den mit dem Objekt assoziierten Koordinaten übereinstimmen. In einer anderen Ausführungsform stimmen Koordinaten überein, wenn sie innerhalb einer Schwellendistanz liegen. In einem anderen Beispiel führt das Planungsmodul 404 und/oder das Steuermodul 406 wie in 4 dargestellt die in Bezug auf das Bestimmen, dass sich ein Objekt und ein Fahrzeug laut Vorausberechnung zu dem bestimmten Zeitpunkt nahe zu dem Segment der Trajektorie des Fahrzeugs befinden werden, beschriebenen Aktionen durch.
  • In einer Ausführungsform beinhaltet das Bestimmen, basierend auf der Trajektorie des Fahrzeugs und der Trajektorie des Objekts, ob sich das Objekt und das Fahrzeug zu dem bestimmten Zeitpunkt nahe zueinander befinden werden, die folgenden Aktionen. Ein Prozessor (z. B. der Prozessor 146 wie in 1 gezeigt) identifiziert zu dem bestimmten Zeitpunkt ein Segment der Trajektorie des Objekts, das am nächsten zu dem Segment der Trajektorie des Fahrzeugs ist. Wie oben beschrieben, vergleicht der Prozessor mit der Trajektorie des Objekts assoziierte Koordinaten mit jeder einer Mehrzahl von mit der Trajektorie des Fahrzeugs assoziierten Koordinaten. Basierend auf beiden Sätzen von Koordinaten bestimmt der Prozessor, welches Segment der Fahrzeugtrajektorie sich zu einem bestimmten Zeitpunkt nahe zu dem Objekt befinden wird. Der Prozessor bestimmt, ob eine Distanz zwischen dem Segment der Trajektorie des Objekts und dem Segment der Trajektorie des Fahrzeugs unterhalb einer Schwelle liegt. In einer Ausführungsform bestimmt der Prozessor, dass sich das Fahrzeug und das Objekt innerhalb eines halben Meters voneinander entfernt befinden werden. In Reaktion auf das Bestimmen, dass die Distanz unterhalb einer Schwelle liegt, bestimmt der Prozessor (z. B. der Prozessor 146 wie in 1 gezeigt), dass sich das Fahrzeug zu dem bestimmten Zeitpunkt nahe zu dem Objekt befinden wird. In einer anderen Ausführungsform führt das Planungsmodul 404 und/oder das Steuermodul 406 wie in 4 dargestellt diese Aktionen durch.
  • In einer Ausführungsform unterlässt es der Prozessor (z. B. der Prozessor 146 wie in 1 gezeigt), die Operationsbefehle, die nicht mit dem Segment der Trajektorie assoziiert sind, zu aktualisieren. Zum Beispiel aktualisiert der Prozessor die mit dem spezifischen Segment assoziierten Operationsbefehle, ohne Operationsbefehle anderer Segmente zu aktualisieren. In einer Ausführungsform aktualisiert der Prozessor Operationsbefehle von Segmenten, die das neu aktualisierte Segment umgeben, damit das Fahrzeug ordnungsgemäß zu dem aktualisierten Segment und zu dem auf das aktualisierte Segment folgenden Segment navigiert wird.
  • In einer Ausführungsform generiert der Prozessor (z. B. der Prozessor 146 wie in 1 gezeigt) eine entsprechende Datenstruktur für jedes Segment der Trajektorie des Fahrzeugs und assoziiert den Teil des einen oder der mehreren Operationsbefehle mit einer Datenstruktur, die dem Segment der Trajektorie des Fahrzeugs entspricht. Zum Beispiel generiert der Prozessor eine verknüpfte Liste für die Trajektorie (entweder für die Trajektorie des Fahrzeugs oder die Trajektorie des Objekts). Die verknüpfte Liste kann verknüpfte Objekte mit Eigenschaften wie Geschwindigkeit, Richtung, anfänglicher Standort (bei Beginn des Segments), vorausberechneter Standort (am Ende des Segments) und andere geeignete Information enthalten. Jedes Segment der Trajektorie kann einem verknüpften Objekt entsprechen.
  • In einer Ausführungsform führt der Prozessor (z. B. der Prozessor 146 wie in 1 gezeigt) bei Identifizieren eines Teils des einen oder der mehreren mit einem Segment der Trajektorie des Fahrzeugs assoziierten Operationsbefehle und Aktualisieren des identifizierten Teils die folgenden Aktionen durch. Der Prozessor greift auf eine Datenstruktur zu, die dem Segment der Trajektorie des Fahrzeugs entspricht, und ruft aus der Datenstruktur den einen oder die mehreren Operationsbefehle ab. Zum Beispiel greift der Prozessor auf die Datenstruktur von dem Speicher 144 und/oder Speicher 142 (wie in 1 gezeigt) zu und ruft die aktuell gespeicherten Operationsbefehle aus der Datenstruktur ab. In einem anderen Beispiel befindet sich die Datenstruktur in der Datenbank 410 wie in 4 dargestellt und das Planungsmodul 404 und/oder das Steuermodul 406 ruft die Operationsbefehle aus der Datenbank ab.
  • In einer Ausführungsform kann es nützlich sein, weitere Daten zu sammeln, bevor die mit dem Segment assoziierten Operationsbefehle aktualisiert werden. Zum Beispiel gibt es möglicherweise keinen guten alternativen Satz an Befehlen zum Vermeiden einer Kollision. Daher modifiziert der Prozessor (z. B. der Prozessor 146 wie in 1 gezeigt) die Geschwindigkeit des Fahrzeugs auf eine vernachlässigbare Größe. Zum Beispiel bewegt sich das Fahrzeug möglicherweise auf seiner Trajektorie und hat an einer Lichtsignalanlage angehalten. Sobald die Lichtsignalanlage dem Fahrzeug ein Weiterfahren erlaubt, beschleunigt das Fahrzeug, anstatt auf eine vorab geplante Geschwindigkeit zu beschleunigen, auf eine vernachlässigbare oder geringe Geschwindigkeit (z. B. 3 mph), um weitere Daten zu erheben.
  • Der Prozessor empfängt aktualisierte Sensordaten, wobei die aktualisierten Sensordaten aktualisierte Standorte und aktualisierte Geschwindigkeiten detektierter Objekte beinhalten, und generiert, basierend auf den aktualisierten Sensordaten, eine entsprechende Wahrscheinlichkeit für jedes Objekt. In einer Ausführungsform zeigt jede Wahrscheinlichkeit an, wie wahrscheinlich es basierend auf einem Standort und einer Geschwindigkeit eines entsprechenden Objekts ist, dass sich ein entsprechendes Objekt nahe zu der Trajektorie des Fahrzeugs befinden wird. Zum Beispiel kann die Wahrscheinlichkeit basierend auf Zeit berechnet werden. Insbesondere wird, wenn für das Objekt und das Fahrzeug bestimmt wird, dass sie sich zu demselben Zeitpunkt nahe zueinander befinden werden, die Wahrscheinlichkeit auf einen sehr hohen Wert (z. B. 95 %) eingestellt. Wenn jedoch bestimmt wird, dass sich das Objekt und das Fahrzeug in einem Abstand von zehn Minuten nahe zueinander befinden werden, dann wird die Wahrscheinlichkeit auf eine sehr niedrige Zahl (z. B. 5 %) eingestellt. In einer Ausführungsform verringert sich die Wahrscheinlichkeit, wenn sich das Zeitintervall zwischen der Ankunft des Fahrzeugs und der Ankunft des Objekts an einem sich nahe befindlichen Standort erhöht. In einer Ausführungsform basiert die Wahrscheinlichkeiten auf einer Distanz. Zum Beispiel verringert sich die Wahrscheinlichkeit, wenn sich die Distanz zwischen dem Standort des Fahrzeugs und dem Standort des Objekts erhöht. Insbesondere wird, wenn für das Fahrzeug und das Objekt bestimmt wird, dass sie sich an demselben Punkt befinden werden, die Wahrscheinlichkeit auf eine hohe Zahl eingestellt. Wenn jedoch für das Fahrzeug und das Objekt bestimmt wird, dass sie sich fünfzig Fuß voneinander entfernt befinden werden, wird die Wahrscheinlichkeit auf eine niedrige Zahl eingestellt. In einer Ausführungsform wird die Wahrscheinlichkeit als eine Kombination aus sowohl Distanz als auch Zeit berechnet. Das heißt, die Wahrscheinlichkeit wird herabgesetzt, wenn sich eines oder mehrere einer Distanz und einer Zeit erhöhen.
  • Zusätzliche Ausführungsformen
  • In einer Ausführungsform werden ein oder mehrere Operationsbefehle für ein Fahrzeug generiert. Der eine oder die mehreren Operationsbefehle sind mit Segmenten in einer Trajektorie des Fahrzeugs assoziiert. Sensordaten mit Standorten und Geschwindigkeiten von detektierten Objekten werden empfangen. Basierend auf den Sensordaten wird bestimmt, dass sich ein Objekt der detektierten Objekte und das Fahrzeug laut Vorausberechnung zu einem bestimmten Zeitpunkt nahe zu einem Segment der Trajektorie des Fahrzeugs befinden werden. Basierend auf dem Bestimmen wird ein mit dem Segment der Trajektorie des Fahrzeugs assoziierter Teil des einen oder der mehreren Operationsbefehle identifiziert. Der identifizierte Teil wird aktualisiert. Der eine oder die mehreren Operationsbefehle werden durch eine Steuerschaltung des Fahrzeugs ausgeführt.
  • In einer Ausführungsform beinhaltet das Bestimmen, dass sich das Objekt der detektierten Objekte und das Fahrzeug laut Vorausberechnung zu dem bestimmten Zeitpunkt nahe zu dem Segment der Trajektorie des Fahrzeugs befinden werden, Generieren, basierend auf einer Geschwindigkeit und einem Standort des Objekts der detektierten Objekte, einer Trajektorie des Objekts. Basierend auf der Trajektorie des Fahrzeugs und der Trajektorie des Objekts der detektierten Objekte wird bestimmt, ob sich das Objekt der detektierten Objekte und das Fahrzeug zu dem bestimmten Zeitpunkt nahe zueinander befinden werden. In Reaktion auf das Bestimmen, dass sich das Objekt der detektierten Objekte und das Fahrzeug nahe zueinander befinden werden, wird ein Segment der Trajektorie des Fahrzeugs identifiziert. Die Trajektorie wird nahe zu dem Objekt der detektierten Objekte sein.
  • In einer Ausführungsform beinhaltet das Bestimmen, basierend auf der Trajektorie des Fahrzeugs und der Trajektorie des Objekts, ob sich das Objekt und das Fahrzeug zu dem bestimmten Zeitpunkt nahe zueinander befinden werden, Identifizieren, zu dem bestimmten Zeitpunkt, eines Segments der Trajektorie des Objekts, das sich am nächsten zu dem Segment der Trajektorie des Fahrzeugs befindet. Es wird bestimmt, ob eine Distanz zwischen dem Segment der Trajektorie des Objekts und dem Segment der Trajektorie des Fahrzeugs unterhalb einer Schwelle liegt. In Reaktion auf das Bestimmen, dass die Distanz unterhalb einer Schwelle liegt, wird bestimmt, dass sich das Fahrzeug zu dem bestimmten Zeitpunkt nahe zu dem Objekt befinden wird.
  • In einer Ausführungsform wird ein Aktualisieren von Operationsbefehlen, die nicht mit dem Segment der Trajektorie assoziiert sind, unterlassen.
  • In einer Ausführungsform wird eine entsprechende Datenstruktur für jedes Segment der Trajektorie des Fahrzeugs generiert. Der Teil des einen oder der mehreren Operationsbefehle ist mit einer Datenstruktur assoziiert, die dem Segment der Trajektorie des Fahrzeugs entspricht.
  • In einer Ausführungsform beinhaltet das Identifizieren des Teils des einen oder der mehreren mit dem Segment der Trajektorie des Fahrzeugs assoziierten Operationsbefehle und Aktualisieren des identifizierten Teils Zugreifen auf die Datenstruktur, die dem Segment der Trajektorie des Fahrzeugs entspricht. Der eine oder die mehreren Operationsbefehle werden aus der Datenstruktur empfangen.
  • In einer Ausführungsform wird die Geschwindigkeit des Fahrzeugs auf eine vernachlässigbare Größe modifiziert. Aktualisierte Sensordaten werden empfangen. Die aktualisierten Sensordaten beinhalten aktualisierte Standorte und aktualisierte Geschwindigkeiten der detektierten Objekte. Basierend auf den aktualisierten Sensordaten wird eine entsprechende Wahrscheinlichkeit für jedes Objekt generiert. Jede Wahrscheinlichkeit zeigt an, wie wahrscheinlich sich ein entsprechendes Objekt nahe zu der Trajektorie des Fahrzeugs befinden wird. Jede Wahrscheinlichkeit basiert auf einem Standort und einer Geschwindigkeit eines entsprechenden Objekts.
  • In der vorhergehenden Beschreibung wurden Ausführungsformen der Erfindung unter Bezugnahme auf zahlreiche spezifische Details beschrieben, die je nach Implementierung variieren können. Die Beschreibung und die Zeichnungen sind dementsprechend in einem veranschaulichenden und nicht einschränkenden Sinne zu betrachten. Der Schutzumfang der Erfindung sowie der durch die Anmelder beabsichtigte Schutzumfang der Erfindung ist daher einzig und allein durch den wörtlichen und äquivalenten Schutzumfang des Anspruchssatzes bestimmt, der aus der vorliegenden Anmeldung hervorgeht, in der spezifischen Form, in der solche Ansprüche ergehen, einschließlich etwaiger späterer Korrekturen. Jegliche ausdrücklich hierhin dargelegten Definitionen für Begriffe, die in solchen Ansprüchen enthalten sind, sollen die Bedeutung solcher in den Ansprüchen verwendeter Begriffe bestimmen. Zudem kann bei Verwendung des Begriffs „ferner umfassend“ in der vorhergehenden Beschreibung oder den nachfolgenden Ansprüchen das darauf Folgende ein zusätzlicher Schritt oder eine zusätzliche Entität sein oder ein Teilschritt/eine Teilentität eines zuvor genannten Schritts oder einer zuvor genannten Entität sein.
  • Ausführungsformen
  • Zwar ist die vorliegende Erfindung in den beigefügten Ansprüchen definiert, es versteht sich jedoch, dass die vorliegende Erfindung auch (alternativ) gemäß den folgenden Ausführungsformen definiert sein kann:
    1. 1. Computerimplementiertes Verfahren, umfassend:
      • Empfangen von Sensordaten, die eine Mehrzahl von Objekten in einer Umgebung eines Fahrzeugs darstellen;
      • Bestimmen, dass das Fahrzeug durch ein Objekt der Mehrzahl von Objekten blockiert wird;
      • Bestimmen, basierend auf den Sensordaten und einem Zeitstempel der Sensordaten, von wahrscheinlichen Standorten für Objekte in der Mehrzahl von Objekten;
      • Generieren, während das Fahrzeug blockiert wird und basierend auf den wahrscheinlichen Standorten von Objekten in der Mehrzahl von Objekten, eines oder mehrerer Operationsbefehle für das Fahrzeug; und
      • Ausführen des einen oder der mehreren Operationsbefehle durch eine Steuerschaltung des Fahrzeugs, wobei das Ausführen der Operationsbefehle Manövrieren des Fahrzeugs entlang einer Strecke, die nicht durch das Objekt blockiert wird, umfasst.
    2. 2. Computerimplementiertes Verfahren nach Ausführungsform 1, ferner umfassend:
      • Bestimmen, dass das Fahrzeug nicht mehr blockiert wird;
      • in Reaktion auf das Bestimmen, dass das Fahrzeug nicht mehr blockiert wird, Bestimmen einer Zeitdauer, die verstrichen ist, seit der eine oder die mehreren Operationsbefehle generiert wurden;
      • Bestimmen, ob die verstrichene Zeitdauer eine Schwelle erreicht; und
      • in Reaktion auf das Bestimmen, dass die verstrichene Zeitdauer die Schwelle erreicht, Neugenerieren des einen oder der mehreren Operationsbefehle.
    3. 3. Computerimplementiertes Verfahren nach Ausführungsform 1 oder 2, ferner umfassend:
      • Empfangen aktualisierter Sensordaten; Bestimmen, basierend auf den aktualisierten Sensordaten, dass das Fahrzeug nicht mehr blockiert wird; und wobei das Ausführen des einen oder der mehreren Operationsbefehle in Reaktion auf das Bestimmen, dass das Fahrzeug nicht mehr blockiert wird, durchgeführt wird.
    4. 4. Computerimplementiertes Verfahren nach einer der Ausführungsformen 1-3, ferner umfassend: Bestimmen, bevor das Fahrzeug nicht mehr blockiert wird, dass eine Schwellenzeitdauer ab einem Zeitpunkt, an dem der eine oder die mehreren Operationsbefehle für das Fahrzeug generiert wurden, verstrichen ist; Empfangen aktualisierter Sensordaten; und Aktualisieren des einen oder der mehreren Operationsbefehle basierend auf den aktualisierten Sensordaten.
    5. 5. Computerimplementiertes Verfahren nach einer der Ausführungsformen 1-4, ferner umfassend Zuweisen, zu der Mehrzahl von Objekten, einer Mehrzahl von Wahrscheinlichkeiten, wobei jede Wahrscheinlichkeit anzeigt, wie wahrscheinlich ein entsprechendes Objekt die Fahrzeugtrajektorie behindern wird, wobei jede Wahrscheinlichkeit auf einem Standort und einer Geschwindigkeit eines entsprechenden Objekts basiert.
    6. 6. Computerimplementiertes Verfahren nach Ausführungsform 5, wobei das Generieren des einen oder der mehreren Operationsbefehle für das Fahrzeug umfasst:
      • Generieren einer Mehrzahl möglicher Trajektorien für das Fahrzeug; Auswählen einer ersten Trajektorie der Mehrzahl möglicher Trajektorien;
      • Identifizieren, für die erste Trajektorie, eines oder mehrerer Objekte der Mehrzahl von Objekten, für die bestimmt wurde, dass sie die erste Trajektorie behindern;
      • Empfangen einer oder mehrerer Wahrscheinlichkeiten für das eine oder die mehreren Objekte;
      • Bestimmen, ob irgendwelche der einen oder mehreren Wahrscheinlichkeiten eine Schwelle erreichen; und in Reaktion auf das Bestimmen, dass irgendwelche der einen oder mehreren Wahrscheinlichkeiten die Schwelle erreichen, Entfernen der ersten Trajektorie aus einer Erwägung für die Fahrzeugtrajektorie.
    7. 7. Computerimplementiertes Verfahren nach Ausführungsform 5 oder 6, ferner umfassend:
      • Empfangen aktualisierter Sensordaten, wobei die aktualisierten Sensordaten aktualisierte Standorte und aktualisierte Geschwindigkeiten von einem oder mehreren Objekten der Mehrzahl von Objekten umfassen; und Aktualisieren der Mehrzahl von Wahrscheinlichkeiten basierend auf den aktualisierten Sensordaten.
    8. 8. Nichtflüchtiges computerlesbares Speichermedium, umfassend ein oder mehrere Programme zur Ausführung durch einen oder mehrere Prozessoren, wobei das eine oder die mehreren Programme Anweisungen beinhalten, die, wenn sie durch den einen oder die mehreren Prozessoren ausgeführt werden, ein Durchführen des computerimplementierten Verfahrens nach Ausführungsform 1 bewirken.
    9. 9. Fahrzeug, umfassend:
      • ein oder mehrere computerlesbare Medien, die computerausführbare Anweisungen speichern; und einen oder mehrere Prozessoren, die ausgelegt sind, die computerausführbaren Anweisungen auszuführen, wobei die Ausführung das Verfahren nach Ausführungsform 1 umsetzt.
    10. 10. Computerimplementiertes Verfahren, wobei das Verfahren umfasst:
      • Generieren eines oder mehrerer Operationsbefehle für ein Fahrzeug, wobei der eine oder die mehreren Operationsbefehle mit Segmenten in einer Trajektorie des Fahrzeugs assoziiert sind;
      • Empfangen von Sensordaten, wobei die Sensordaten Standorte und Geschwindigkeiten der detektierten Objekte umfassen;
      • Bestimmen, basierend auf den Sensordaten, dass sich ein Objekt der detektierten Objekte und das Fahrzeug laut Vorausberechnung zu einem bestimmten Zeitpunkt nahe zu einem Segment der Trajektorie des Fahrzeugs befinden werden;
      • basierend auf dem Bestimmen, Identifizieren eines Teils des einen oder der mehreren mit dem Segment der Trajektorie des Fahrzeugs assoziierten Operationsbefehle und Aktualisieren des identifizierten Teils; und Ausführen des einen oder der mehreren Operationsbefehle durch eine Steuerschaltung des Fahrzeugs.
    11. 11. Computerimplementiertes Verfahren der Ausführungsform 10, wobei das Bestimmen, dass sich das Objekt der detektierten Objekte und das Fahrzeug laut Vorausberechnung zu dem bestimmten Zeitpunkt nahe zu dem Segment der Trajektorie des Fahrzeugs befinden werden, umfasst:
      • Generieren, basierend auf einer Geschwindigkeit und einem Standort des Objekts der detektierten Objekte, einer Trajektorie des Objekts;
      • Bestimmen, basierend auf der Trajektorie des Fahrzeugs und der Trajektorie des Objekts der detektierten Objekte, ob sich das Objekt der detektierten Objekte und das Fahrzeug zu dem bestimmten Zeitpunkt nahe zueinander befinden werden; und
      • in Reaktion auf das Bestimmen, dass sich das Objekt der detektierten Objekte und das Fahrzeug nahe zueinander befinden werden, Identifizieren eines Segments der Trajektorie des Fahrzeugs, das sich nahe zu dem Objekt der detektierten Objekte befinden wird.
    12. 12. Computerimplementiertes Verfahren nach Ausführungsform 11, wobei das Bestimmen, basierend auf der Trajektorie des Fahrzeugs und der Trajektorie des Objekts, ob sich das Objekt und das Fahrzeug zu dem bestimmten Zeitpunkt nahe zueinander befinden werden, umfasst:
      • Identifizieren, zu dem bestimmten Zeitpunkt, eines Segments der Trajektorie des Objekts, das am nächsten zu dem Segment der Trajektorie des Fahrzeugs ist;
      • Bestimmen, ob eine Distanz zwischen dem Segment der Trajektorie des Objekts und dem Segment der Trajektorie des Fahrzeugs unterhalb einer Schwelle liegt; und
      • in Reaktion auf das Bestimmen, das die Distanz unterhalb einer Schwelle liegt, Bestimmen, dass sich das Fahrzeug zu dem bestimmten Zeitpunkt nahe zu dem Objekt befinden wird.
    13. 13. Computerimplementiertes Verfahren nach einer der Ausführungsformen 10-12, ferner umfassend Unterlassen eines Aktualisierens von Operationsbefehlen, die nicht mit dem Segment der Trajektorie assoziiert sind.
    14. 14. Computerimplementiertes Verfahren nach einer der Ausführungsformen 10-13, ferner umfassend: Generieren einer entsprechenden Datenstruktur für jedes Segment der Trajektorie des Fahrzeugs; und Assoziieren des Teil des einen oder der mehreren Operationsbefehle mit einer Datenstruktur, die dem Segment der Trajektorie des Fahrzeugs entspricht.
    15. 15. Computerimplementiertes Verfahren nach Ausführungsform 14, wobei das Identifizieren des mit dem Segment der Trajektorie des Fahrzeugs assoziierten Teils des einen oder der mehreren Operationsbefehle und Aktualisieren des identifizierten Teils umfasst:
      • Zugreifen auf die Datenstruktur, die dem Segment der Trajektorie des Fahrzeugs entspricht; und Empfangen, von der Datenstruktur, des einen oder der mehreren Operationsbefehle.
    16. 16. Computerimplementiertes Verfahren nach einer der Ausführungsformen 10-15, ferner umfassend:
      • Modifizieren der Geschwindigkeit des Fahrzeugs auf eine vernachlässigbare Größe;
      • Empfangen aktualisierter Sensordaten, wobei aktualisierten Sensordaten aktualisierte Standorte und aktualisierte Geschwindigkeiten von detektierten Objekten umfassen;
      • Generieren, basierend auf den aktualisierten Sensordaten, einer entsprechenden Wahrscheinlichkeit für jedes Objekt, wobei jede Wahrscheinlichkeit anzeigt, wie wahrscheinlich sich ein entsprechendes Objekt nahe zu der Trajektorie des Fahrzeugs befinden wird, wobei jede Wahrscheinlichkeit auf einem Standort und einer Geschwindigkeit eines entsprechenden Objekts basiert.
    17. 17. Nichtflüchtiges computerlesbares Speichermedium, umfassend ein oder mehrere Programme zur Ausführung durch einen oder mehrere Prozessoren, wobei das eine oder die mehreren Programme Anweisungen beinhalten, die, wenn sie durch den einen oder die mehreren Prozessoren ausgeführt werden, ein Durchführen des computerimplementierten Verfahrens nach Ausführungsform 10 bewirken.
    18. 18. Fahrzeug, umfassend:
      • ein oder mehrere computerlesbare Medien, die computerausführbare Anweisungen speichern; und einen oder mehrere Prozessoren, die ausgelegt sind, die computerausführbaren Anweisungen auszuführen, wobei die Ausführung das Verfahren nach Ausführungsform 10 umsetzt.
  • 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/844689 [0001]

Claims (20)

  1. Computerimplementiertes Verfahren, umfassend: Empfangen, durch einen oder mehrere Prozessoren eines Fahrzeugs, von Sensordaten, die eine Mehrzahl von Objekten in einer Umgebung eines Fahrzeugs darstellen; Bestimmen, durch den einen oder die mehreren Prozessoren, dass das Fahrzeug durch ein Objekt der Mehrzahl von Objekten blockiert wird; Bestimmen, durch den einen oder die mehreren Prozessoren, von wahrscheinlichen Standorten für Objekte in der Mehrzahl von Objekten basierend auf den Sensordaten und einem Zeitstempel der Sensordaten; Generieren, durch den einen oder die mehreren Prozessoren, eines oder mehrerer Operationsbefehle für das Fahrzeug, während das Fahrzeug blockiert wird, wobei das Generieren des einen oder der mehreren Operationsbefehle auf den wahrscheinlichen Standorten von Objekten in der Mehrzahl von Objekten basiert; und Ausführen, durch eine Steuerschaltung des Fahrzeugs, des einen oder der mehreren Operationsbefehle, wobei das Ausführen der Operationsbefehle Manövrieren des Fahrzeugs entlang einer Strecke, die nicht durch das Objekt blockiert wird, umfasst.
  2. Computerimplementiertes Verfahren nach Anspruch 1, ferner umfassend: Bestimmen, durch den einen oder die mehreren Prozessoren, dass das Fahrzeug nicht mehr blockiert wird; in Reaktion auf das Bestimmen, dass das Fahrzeug nicht mehr blockiert wird, Bestimmen, durch den einen oder die mehreren Prozessoren, einer Zeitdauer, die verstrichen ist, seit der eine oder die mehreren Operationsbefehle generiert wurden; Bestimmen, durch den einen oder die mehreren Prozessoren, ob die verstrichene Zeitdauer eine Schwellenzeit erreicht; und in Reaktion auf das Bestimmen, dass die verstrichene Zeitdauer die Schwellenzeit erreicht, Neugenerieren, durch den einen oder die mehreren Prozessoren, des einen oder der mehreren Operationsbefehle.
  3. Computerimplementiertes Verfahren nach Anspruch 1 oder Anspruch 2, ferner umfassend: Empfangen, durch den einen oder die mehreren Prozessoren, aktualisierter Sensordaten; Bestimmen, durch den einen oder die mehreren Prozessoren, dass das Fahrzeug nicht mehr blockiert wird, basierend auf den aktualisierten Sensordaten, wobei das Ausführen des einen oder der mehreren Operationsbefehle in Reaktion auf das Bestimmen, dass das Fahrzeug nicht mehr blockiert wird, durchgeführt wird.
  4. Computerimplementiertes Verfahren nach Anspruch 1, ferner umfassend: Bestimmen, durch den einen oder die mehreren Prozessoren, dass eine Schwellenzeitdauer ab einem Zeitpunkt, zu dem der eine oder die mehreren Operationsbefehle für das Fahrzeug generiert wurden, verstrichen ist, wobei das Bestimmen, dass die Schwellenzeitdauer verstrichen ist, durchgeführt wird, bevor das Fahrzeug nicht mehr blockiert wird; Empfangen, durch den einen oder die mehreren Prozessoren, aktualisierter Sensordaten; und Aktualisieren, durch den einen oder die mehreren Prozessoren, des einen oder der mehreren Operationsbefehle basierend auf den aktualisierten Sensordaten.
  5. Computerimplementiertes Verfahren nach Anspruch 1 oder Anspruch 2, ferner umfassend Zuweisen, durch den einen oder die mehreren Prozessoren, einer Mehrzahl von Wahrscheinlichkeiten zu der Mehrzahl von Objekten, wobei jede Wahrscheinlichkeit anzeigt, wie wahrscheinlich ein entsprechendes Objekt die Fahrzeugtrajektorie behindern wird, wobei jede Wahrscheinlichkeit auf einem Standort und einer Geschwindigkeit eines entsprechenden Objekts basiert.
  6. Computerimplementiertes Verfahren nach Anspruch 5, wobei das Generieren des einen oder der mehreren Operationsbefehle für das Fahrzeug umfasst: Generieren, durch den einen oder die mehreren Prozessoren, einer Mehrzahl möglicher Trajektorien für das Fahrzeug; Auswählen, durch den einen oder die mehreren Prozessoren, einer ersten Trajektorie der Mehrzahl möglicher Trajektorien; Identifizieren, durch den einen oder die mehreren Prozessoren, eines oder mehrerer Objekte der Mehrzahl von Objekten für die erste Trajektorie, wobei für das eine oder die mehreren Objekte bestimmt wurde, dass sie die erste Trajektorie behindern; Empfangen, durch den einen oder die mehreren Prozessoren, einer oder mehrerer Wahrscheinlichkeiten für das eine oder die mehreren Objekte; Bestimmen, durch den einen oder die mehreren Prozessoren, ob irgendwelche der einen oder mehreren Wahrscheinlichkeiten eine Schwelle erreichen; und in Reaktion auf das Bestimmen, dass irgendwelche der einen oder mehreren Wahrscheinlichkeiten die Schwelle erreichen, Entfernen, durch den einen oder die mehreren Prozessoren, der ersten Trajektorie aus einer Erwägung für die Fahrzeugtrajektorie.
  7. Computerimplementiertes Verfahren nach Anspruch 5 oder Anspruch 6, ferner umfassend: Empfangen, durch den einen oder die mehreren Prozessoren, aktualisierter Sensordaten umfassend aktualisierte Standorte und aktualisierte Geschwindigkeiten von einem oder mehreren Objekten der Mehrzahl von Objekten; und Aktualisieren, durch den einen oder die mehreren Prozessoren, der Mehrzahl von Wahrscheinlichkeiten basierend auf den aktualisierten Sensordaten.
  8. Nichtflüchtiges computerlesbares Speichermedium, das ein oder mehrere Programme zur Ausführung durch einen oder mehrere Prozessoren speichert, wobei das eine oder die mehreren Programme Anweisungen beinhalten, die, wenn sie durch den einen oder die mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren zu Folgendem veranlassen: Empfangen von Sensordaten, die eine Mehrzahl von Objekten in einer Umgebung des Fahrzeugs darstellen; Bestimmen, dass das Fahrzeug durch ein Objekt der Mehrzahl von Objekten blockiert wird; Bestimmen von wahrscheinlichen Standorten für Objekte in der Mehrzahl von Objekten basierend auf den Sensordaten und einem Zeitstempel der Sensordaten; Generieren des einen oder der mehreren Operationsbefehle für das Fahrzeug, während das Fahrzeug blockiert wird, wobei das Generieren des einen oder der mehreren Operationsbefehle auf den wahrscheinlichen Standorten des Objekts in der Mehrzahl von Objekten basiert; und Ausführen, durch eine Steuerschaltung des Fahrzeugs, des einen oder der mehreren Operationsbefehle, wobei das Ausführen der Operationsbefehle Manövrieren des Fahrzeugs entlang einer Strecke, die nicht durch das Objekt blockiert wird, umfasst.
  9. Nichtflüchtiges computerlesbares Speichermedium nach Anspruch 8, wobei die Anweisungen, wenn sie durch den einen oder die mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren ferner zu Folgendem veranlassen: Bestimmen, dass das Fahrzeug nicht mehr blockiert wird; in Reaktion auf das Bestimmen, dass das Fahrzeug nicht mehr blockiert wird, Bestimmen einer Zeitdauer, die verstrichen ist, seit der eine oder die mehreren Operationsbefehle generiert wurden; Bestimmen, ob die verstrichene Zeitdauer eine Schwellenzeit erreicht; und in Reaktion auf das Bestimmen, dass die verstrichene Zeitdauer die Schwellenzeit erreicht, Neugenerieren des einen oder der mehreren Operationsbefehle.
  10. Nichtflüchtiges computerlesbares Speichermedium nach Anspruch 8 oder Anspruch 9, wobei die Anweisungen, wenn sie durch den einen oder die mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren ferner zu Folgendem veranlassen: Empfangen aktualisierter Sensordaten; Bestimmen, dass das Fahrzeug nicht mehr blockiert wird, basierend auf den aktualisierten Sensordaten, wobei das Ausführen des einen oder der mehreren Operationsbefehle in Reaktion auf das Bestimmen, dass das Fahrzeug nicht mehr blockiert wird, durchgeführt wird.
  11. Nichtflüchtiges computerlesbares Speichermedium nach Anspruch 8, wobei die Anweisungen, wenn sie durch den einen oder die mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren ferner zu Folgendem veranlassen: Bestimmen, dass eine Schwellenzeitdauer ab einem Zeitpunkt, zu dem der eine oder die mehreren Operationsbefehle für das Fahrzeug generiert wurden, verstrichen ist, wobei das Bestimmen, dass die Schwellenzeitdauer verstrichen ist, durchgeführt wird, bevor das Fahrzeug nicht mehr blockiert wird; Empfangen aktualisierter Sensordaten; und Aktualisieren des einen oder der mehreren Operationsbefehle basierend auf den aktualisierten Sensordaten.
  12. Nichtflüchtiges computerlesbares Speichermedium nach Anspruch 8 oder Anspruch 9, wobei die Anweisungen, wenn sie durch den einen oder die mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren ferner veranlassen, eine Mehrzahl von Wahrscheinlichkeiten zu der Mehrzahl von Objekten zuzuweisen, wobei jede Wahrscheinlichkeit anzeigt, wie wahrscheinlich ein entsprechendes Objekt die Fahrzeugtrajektorie behindern wird, wobei jede Wahrscheinlichkeit auf einem Standort und einer Geschwindigkeit eines entsprechenden Objekts basiert.
  13. Nichtflüchtiges computerlesbares Speichermedium nach Anspruch 12, wobei die Anweisungen, wenn sie durch den einen oder die mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren ferner zu Folgendem veranlassen: Generieren einer Mehrzahl möglicher Trajektorien für das Fahrzeug; Auswählen einer ersten Trajektorie der Mehrzahl möglicher Trajektorien; Identifizieren eines oder mehrerer Objekte der Mehrzahl von Objekten für die erste Trajektorie, wobei für das eine oder die mehreren Objekte bestimmt wurde, dass sie die erste Trajektorie behindern; Empfangen einer oder mehrerer Wahrscheinlichkeiten für das eine oder die mehreren Objekte; Bestimmen, ob irgendwelche der einen oder mehreren Wahrscheinlichkeiten eine Schwelle erreichen; und in Reaktion auf das Bestimmen, dass irgendwelche der einen oder mehreren Wahrscheinlichkeiten die Schwelle erreichen, Entfernen der ersten Trajektorie aus einer Erwägung für die Fahrzeugtrajektorie.
  14. Nichtflüchtiges computerlesbares Speichermedium nach Anspruch 12 oder Anspruch 13, wobei die Anweisungen, wenn sie durch den einen oder die mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren ferner zu Folgendem veranlassen: Empfangen aktualisierter Sensordaten umfassend aktualisierte Standorte und aktualisierte Geschwindigkeiten von einem oder mehreren Objekten der Mehrzahl von Objekten; und Aktualisieren der Mehrzahl von Wahrscheinlichkeiten basierend auf den aktualisierten Sensordaten.
  15. Fahrzeug, umfassend: einen oder mehrere Prozessoren; und ein nichtflüchtiges computerlesbares Speichermedium, das ein oder mehrere Programme zur Ausführung durch den einen oder die mehreren Prozessoren speichert, wobei das eine oder die mehreren Programme Anweisungen beinhalten, die, wenn sie durch den einen oder die mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren zu Folgendem veranlassen: Empfangen von Sensordaten, die eine Mehrzahl von Objekten in einer Umgebung des Fahrzeugs darstellen; Bestimmen, dass das Fahrzeug durch ein Objekt der Mehrzahl von Objekten blockiert wird; Bestimmen von wahrscheinlichen Standorten für Objekte in der Mehrzahl von Objekten basierend auf den Sensordaten und einem Zeitstempel der Sensordaten; Generieren des einen oder der mehreren Operationsbefehle für das Fahrzeug, während das Fahrzeug blockiert wird, wobei das Generieren des einen oder der mehreren Operationsbefehle auf den wahrscheinlichen Standorten des Objekts in der Mehrzahl von Objekten basiert; und Ausführen, durch eine Steuerschaltung des Fahrzeugs, des einen oder der mehreren Operationsbefehle, wobei das Ausführen der Operationsbefehle Manövrieren des Fahrzeugs entlang einer Strecke, die nicht durch das Objekt blockiert wird, umfasst.
  16. Fahrzeug nach Anspruch 15, wobei die Anweisungen, wenn sie durch den einen oder die mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren ferner zu Folgendem veranlassen: Bestimmen, dass das Fahrzeug nicht mehr blockiert wird; in Reaktion auf das Bestimmen, dass das Fahrzeug nicht mehr blockiert wird, Bestimmen einer Zeitdauer, die verstrichen ist, seit der eine oder die mehreren Operationsbefehle generiert wurden; Bestimmen, ob die verstrichene Zeitdauer eine Schwellenzeit erreicht; und in Reaktion auf das Bestimmen, dass die verstrichene Zeitdauer die Schwellenzeit erreicht, Neugenerieren des einen oder der mehreren Operationsbefehle.
  17. Fahrzeug nach Anspruch 15 oder Anspruch 16, wobei die Anweisungen, wenn sie durch den einen oder die mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren ferner zu Folgendem veranlassen: Empfangen aktualisierter Sensordaten; Bestimmen, dass das Fahrzeug nicht mehr blockiert wird, basierend auf den aktualisierten Sensordaten, wobei das Ausführen des einen oder der mehreren Operationsbefehle in Reaktion auf das Bestimmen, dass das Fahrzeug nicht mehr blockiert wird, durchgeführt wird.
  18. Fahrzeug nach Anspruch 15, wobei die Anweisungen, wenn sie durch den einen oder die mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren ferner zu Folgendem veranlassen: Bestimmen, dass eine Schwellenzeitdauer ab einem Zeitpunkt, zu dem der eine oder die mehreren Operationsbefehle für das Fahrzeug generiert wurden, verstrichen ist, wobei das Bestimmen, dass die Schwellenzeitdauer verstrichen ist, durchgeführt wird, bevor das Fahrzeug nicht mehr blockiert wird; Empfangen aktualisierter Sensordaten; und Aktualisieren des einen oder der mehreren Operationsbefehle basierend auf den aktualisierten Sensordaten.
  19. Fahrzeug nach Anspruch 15 oder Anspruch 16, wobei die Anweisungen, wenn sie durch den einen oder die mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren ferner veranlassen, eine Mehrzahl von Wahrscheinlichkeiten zu der Mehrzahl von Objekten zuzuweisen, wobei jede Wahrscheinlichkeit anzeigt, wie wahrscheinlich ein entsprechendes Objekt die Fahrzeugtrajektorie behindern wird, wobei jede Wahrscheinlichkeit auf einem Standort und einer Geschwindigkeit eines entsprechenden Objekts basiert.
  20. Fahrzeug nach Anspruch 19, wobei die Anweisungen, wenn sie durch den einen oder die mehreren Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren ferner zu Folgendem veranlassen: Generieren einer Mehrzahl möglicher Trajektorien für das Fahrzeug; Auswählen einer ersten Trajektorie der Mehrzahl möglicher Trajektorien; Identifizieren eines oder mehrerer Objekte der Mehrzahl von Objekten für die erste Trajektorie, wobei für das eine oder die mehreren Objekte bestimmt wurde, dass sie die erste Trajektorie behindern; Empfangen einer oder mehrerer Wahrscheinlichkeiten für das eine oder die mehreren Objekte; Bestimmen, ob irgendwelche der einen oder mehreren Wahrscheinlichkeiten eine Schwelle erreichen; und in Reaktion auf das Bestimmen, dass irgendwelche der einen oder mehreren Wahrscheinlichkeiten die Schwelle erreichen, Entfernen der ersten Trajektorie aus einer Erwägung für die Fahrzeugtrajektorie.
DE102020111938.0A 2019-05-07 2020-05-04 Systeme und verfahren zum planen und aktualisieren einer fahrzeugtrajektorie Pending DE102020111938A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962844689P 2019-05-07 2019-05-07
US62/844,689 2019-05-07

Publications (1)

Publication Number Publication Date
DE102020111938A1 true DE102020111938A1 (de) 2020-11-12

Family

ID=71080575

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020111938.0A Pending DE102020111938A1 (de) 2019-05-07 2020-05-04 Systeme und verfahren zum planen und aktualisieren einer fahrzeugtrajektorie

Country Status (5)

Country Link
US (2) US11772638B2 (de)
KR (1) KR20200129045A (de)
CN (1) CN111915917B (de)
DE (1) DE102020111938A1 (de)
GB (4) GB2587836B (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI822729B (zh) 2018-02-06 2023-11-21 美商即時機器人股份有限公司 用於儲存一離散環境於一或多個處理器之一機器人之運動規劃及其改良操作之方法及設備
US11738457B2 (en) 2018-03-21 2023-08-29 Realtime Robotics, Inc. Motion planning of a robot for various environments and tasks and improved operation of same
EP3977226A4 (de) * 2019-06-03 2023-06-07 Realtime Robotics, Inc. Vorrichtung, verfahren und artikel zur bewegungsplanung in einer umgebung mit dynamischen objekten
EP3993963A4 (de) 2019-08-23 2022-08-24 Realtime Robotics, Inc. Bewegungsplanung für roboter zur optimierung der geschwindigkeit bei bewahrung der grenzwerte bei beschleunigung und ruckeln
US20210094569A1 (en) * 2019-09-27 2021-04-01 Honda Motor Co., Ltd. System and method for providing accurate trajectory following for automated vehicles in dynamic environments
TW202146189A (zh) 2020-01-22 2021-12-16 美商即時機器人股份有限公司 於多機器人操作環境中之機器人之建置
US20210390225A1 (en) * 2020-06-10 2021-12-16 Waymo Llc Realism in log-based simulations
CN113835420A (zh) * 2020-06-23 2021-12-24 上海丰豹商务咨询有限公司 一种用于自动驾驶系统的功能分配系统
EP4012338A1 (de) * 2020-12-09 2022-06-15 Valeo Internal Automotive Software Egypt, a limited liability company Führung eines kraftfahrzeugs auf der basis eines kamerabildes und eines navigationsbefehls
US11681296B2 (en) * 2020-12-11 2023-06-20 Motional Ad Llc Scenario-based behavior specification and validation
CN112507949A (zh) * 2020-12-18 2021-03-16 北京百度网讯科技有限公司 目标跟踪方法、装置、路侧设备以及云控平台
JP2022134678A (ja) * 2021-03-03 2022-09-15 本田技研工業株式会社 制御装置、移動体、制御方法及びプログラム
US11145208B1 (en) 2021-03-15 2021-10-12 Samsara Networks Inc. Customized route tracking
US20220289199A1 (en) * 2021-03-15 2022-09-15 Motional Ad Llc Brake arbitration
US11531567B2 (en) * 2021-05-03 2022-12-20 Telenav, Inc. Computing system with message ordering mechanism and method of operation thereof
US20220355822A1 (en) * 2021-05-10 2022-11-10 Toyota Research Institute, Inc. Method for enumerating homotopies for maneuvers using a hierarchy of tolerance relations
RU2767826C1 (ru) * 2021-05-24 2022-03-22 Общество с ограниченной ответственностью «Яндекс Беспилотные Технологии» Способ и устройство для управления автомобилем
US11851091B2 (en) 2021-09-14 2023-12-26 Motional Ad Llc Immobility detection within situational context
US11845454B2 (en) 2021-09-14 2023-12-19 Motional Ad Llc Operational envelope detection with situational assessment
US20230093601A1 (en) * 2021-09-14 2023-03-23 Motional Ad Llc Environmental limitation and sensor anomaly system and method
CN113753082B (zh) * 2021-09-17 2023-03-10 京东鲲鹏(江苏)科技有限公司 无人车轨迹更新方法及装置、控制方法及电子设备
CN114719867B (zh) * 2022-05-24 2022-09-02 北京捷升通达信息技术有限公司 一种基于传感器的车辆导航方法及系统

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5801943A (en) 1993-07-23 1998-09-01 Condition Monitoring Systems Traffic surveillance and simulation apparatus
US6374155B1 (en) 1999-11-24 2002-04-16 Personal Robotics, Inc. Autonomous multi-platform robot system
ES2267728T3 (es) 2000-02-28 2007-03-16 Calspan Corporation Un sistema y metodo para evitar colisiones de vehiculos en intersecciones.
CN101647043A (zh) 2006-12-01 2010-02-10 汤姆逊许可公司 估计图象中物体的位置
JP5189157B2 (ja) 2010-11-30 2013-04-24 株式会社豊田中央研究所 可動物の目標状態決定装置及びプログラム
DE102012021282A1 (de) 2012-10-29 2014-04-30 Audi Ag Verfahren zur Koordination des Betriebs von vollautomatisiert fahrenden Kraftfahrzeugen
US8996224B1 (en) * 2013-03-15 2015-03-31 Google Inc. Detecting that an autonomous vehicle is in a stuck condition
US9008890B1 (en) * 2013-03-15 2015-04-14 Google Inc. Augmented trajectories for autonomous vehicles
US9407148B2 (en) 2014-03-31 2016-08-02 Monolithic Power Systems, Inc. Multi-phase SMPS with loop phase clocks and control method thereof
DE102014111023A1 (de) 2014-08-04 2016-02-04 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren und Vorrichtung zum Steuern eines automatisierten Fahrzeuges
US9248834B1 (en) 2014-10-02 2016-02-02 Google Inc. Predicting trajectories of objects based on contextual information
EP3045867B1 (de) 2015-01-16 2018-05-30 Volvo Car Corporation Navigationseinheit und Verfahren zur Bereitstellung von Navigationsanweisungen für ein autonomes Fahrzeug
WO2016129067A1 (ja) 2015-02-12 2016-08-18 株式会社日立製作所 自律動作検証装置および自律システム
US9285805B1 (en) 2015-07-02 2016-03-15 Geodigital International Inc. Attributed roadway trajectories for self-driving vehicles
US9934688B2 (en) 2015-07-31 2018-04-03 Ford Global Technologies, Llc Vehicle trajectory determination
US9632502B1 (en) 2015-11-04 2017-04-25 Zoox, Inc. Machine-learning systems and techniques to optimize teleoperation and/or planner decisions
DE102016203086B4 (de) * 2016-02-26 2018-06-28 Robert Bosch Gmbh Verfahren und Vorrichtung zur Fahrerassistenz
CN107664993A (zh) 2016-07-29 2018-02-06 法乐第(北京)网络科技有限公司 一种路径规划方法
DE102016215587A1 (de) 2016-08-19 2018-02-22 Audi Ag Verfahren zum Betreiben eines zumindest teilautonom betriebenen Kraftfahrzeugs und Kraftfahrzeug
US20210287536A1 (en) * 2016-08-29 2021-09-16 Pcms Holdings, Inc. Systems and methods for negotiation and augmented reality visualization of a path through stationary traffic
KR102518532B1 (ko) 2016-11-11 2023-04-07 현대자동차주식회사 자율주행차량의 경로 결정장치 및 그 방법
US10196058B2 (en) * 2016-11-28 2019-02-05 drive.ai Inc. Method for influencing entities at a roadway intersection
US10268200B2 (en) 2016-12-21 2019-04-23 Baidu Usa Llc Method and system to predict one or more trajectories of a vehicle based on context surrounding the vehicle
US11142203B2 (en) * 2017-02-27 2021-10-12 Ford Global Technologies, Llc Cooperative vehicle navigation
IL251531A0 (en) 2017-04-03 2017-06-29 Sibony Haim A system and method for preventing accidents and collisions between vehicles and pedestrians
US10515321B2 (en) 2017-09-11 2019-12-24 Baidu Usa Llc Cost based path planning for autonomous driving vehicles
DE102017217056B4 (de) 2017-09-26 2023-10-12 Audi Ag Verfahren und Einrichtung zum Betreiben eines Fahrerassistenzsystems sowie Fahrerassistenzsystem und Kraftfahrzeug
US10303178B1 (en) * 2017-12-15 2019-05-28 Waymo Llc Collision mitigation static occupancy grid
CN108196456A (zh) 2018-01-22 2018-06-22 青岛海尔空调器有限总公司 一种智能家居感控方法、装置及空调
GB201803292D0 (en) 2018-02-28 2018-04-11 Five Ai Ltd Efficient computation of collision probabilities for safe motion planning
WO2019231456A1 (en) 2018-05-31 2019-12-05 Nissan North America, Inc. Probabilistic object tracking and prediction framework
RU2751382C1 (ru) 2018-05-31 2021-07-13 Ниссан Норт Америка, Инк. Планирование траектории

Also Published As

Publication number Publication date
GB202215836D0 (en) 2022-12-07
GB2587836B (en) 2021-11-10
US20200353917A1 (en) 2020-11-12
GB2587836A (en) 2021-04-14
GB202113839D0 (en) 2021-11-10
US20240025396A1 (en) 2024-01-25
KR20220030972A (ko) 2022-03-11
GB202006522D0 (en) 2020-06-17
US11772638B2 (en) 2023-10-03
GB2600552A (en) 2022-05-04
GB2600552B (en) 2022-12-07
CN111915917A (zh) 2020-11-10
GB202114202D0 (en) 2021-11-17
CN111915917B (zh) 2023-09-26
KR20200129045A (ko) 2020-11-17

Similar Documents

Publication Publication Date Title
DE102020111938A1 (de) Systeme und verfahren zum planen und aktualisieren einer fahrzeugtrajektorie
DE102020111682A1 (de) Systeme und verfahren zum implementieren einer autonomen fahrzeugreaktion auf ein sensorversagen
DE112020000487T5 (de) Automatisches wählen von datenproben zur annotation
DE102020129456A1 (de) Trajektorienvorhersage aus einer vorberechneten oder dynamisch generierten bank von trajektorien
DE112019004832T5 (de) Betrieb eines Fahrzeugs unter Verwendung von Bewegungsplanung mit maschinellem Lernen
DE102020133744A1 (de) Vordergrundextraktion unter verwendung von flächenanpassung
DE102021101758A1 (de) Ampeldetektionssystem für ein fahrzeug
DE112020000653T5 (de) Zusammenführen von daten aus mehreren lidar-vorrichtungen
DE102020210499A1 (de) Datengesteuerte regelwerke
DE112020000110T5 (de) Nutzung von in fahrzeugen erfassten fahrgastaufmerksamkeitsdaten fürlokalisierungs- und standortbezogene dienste
DE102020133982A1 (de) Automatisierte objektannotation unter verwendung fusionierter kamera-/lidar-datenpunkte
DE112019006282T5 (de) Betrieb eines Fahrzeugs unter Verwendung mehrerer Bewegungsbeschränkungen
DE102020126217A1 (de) Navigieren von Mehrwege-Stopp-Kreuzungen mit einem autonomen Fahrzeug
DE112020002695T5 (de) Autonomer fahrzeugbetrieb mittels linearer temporaler logik
DE102021133742A1 (de) Planung einer trajektorie eines autonomen fahrzeugs mit dynamischem zustand
DE102020128155A1 (de) Bedingte bewegungsvorhersagen
DE102021127118A1 (de) Identifizieren von Objekten mit LiDAR
DE102020120873A1 (de) Lokalisierung basierend auf vordefinierten merkmalen der umgebung
DE102021131844A1 (de) Systeme und verfahren zum implementieren von verdeckungspräsentationen über strassenmerkmale
DE102020114306A1 (de) Schätzen von geschwindigkeitsprofilen
DE102021133340A1 (de) Modalitätsübergreifendes aktives lernen zur objekterkennung
DE102020134834A1 (de) Objektverfolgung zur unterstützung autonomer fahrzeugnavigation
DE102020134835A1 (de) Langzeit-objektverfolgung zur unterstützung autonomer fahrzeugnavigation
DE102020128433A1 (de) Simulation eines autonomen Fahrzeugs zur Verbesserung der Sicherheit und Zuverlässigkeit eines autonomen Fahrzeugs
DE102021131820A1 (de) Zusammenführen von lidar-informationen und kamerainformationen

Legal Events

Date Code Title Description
R081 Change of applicant/patentee

Owner name: MOTIONAL AD LLC (N.D.GES.D. STAATES DELAWARE),, US

Free format text: FORMER OWNER: APTIV TECHNOLOGIES LIMITED, ST. MICHAEL, BB

R082 Change of representative

Representative=s name: FISH & RICHARDSON P.C., DE

R081 Change of applicant/patentee

Owner name: MOTIONAL AD LLC (N.D.GES.D. STAATES DELAWARE),, US

Free format text: FORMER OWNER: HYUANDAI-APTIV AD LLC, BOSTON, MA, US

R082 Change of representative

Representative=s name: FISH & RICHARDSON P.C., DE

R081 Change of applicant/patentee

Owner name: MOTIONAL AD LLC (N.D.GES.D. STAATES DELAWARE),, US

Free format text: FORMER OWNER: HYUNDAI-APTIV AD LLC, BOSTON, MA, US

R082 Change of representative

Representative=s name: FISH & RICHARDSON P.C., DE

R163 Identified publications notified