DE102020111938A1 - Systeme und verfahren zum planen und aktualisieren einer fahrzeugtrajektorie - Google Patents
Systeme und verfahren zum planen und aktualisieren einer fahrzeugtrajektorie Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 230000004044 response Effects 0.000 claims description 32
- 230000001172 regenerating effect Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 description 39
- 230000015654 memory Effects 0.000 description 26
- 230000008447 perception Effects 0.000 description 19
- 230000009471 action Effects 0.000 description 18
- 238000012545 processing Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 7
- 238000013500 data storage Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 230000004927 fusion Effects 0.000 description 5
- 239000007787 solid Substances 0.000 description 5
- 230000000903 blocking effect Effects 0.000 description 4
- 230000034994 death Effects 0.000 description 4
- 231100000517 death Toxicity 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 3
- 239000000446 fuel Substances 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 241000282412 Homo Species 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- BUHVIAUBTBOHAG-FOYDDCNASA-N (2r,3r,4s,5r)-2-[6-[[2-(3,5-dimethoxyphenyl)-2-(2-methylphenyl)ethyl]amino]purin-9-yl]-5-(hydroxymethyl)oxolane-3,4-diol Chemical compound COC1=CC(OC)=CC(C(CNC=2C=3N=CN(C=3N=CN=2)[C@H]2[C@@H]([C@H](O)[C@@H](CO)O2)O)C=2C(=CC=CC=2)C)=C1 BUHVIAUBTBOHAG-FOYDDCNASA-N 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 101100175317 Danio rerio gdf6a gene Proteins 0.000 description 1
- 206010039203 Road traffic accident Diseases 0.000 description 1
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000001556 precipitation Methods 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000001429 visible spectrum Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0011—Planning or execution of driving tasks involving control alternatives for a single driving scenario, e.g. planning several paths to avoid obstacles
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/09—Arrangements for giving variable traffic instructions
- G08G1/0962—Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
- G08G1/0968—Systems involving transmission of navigation instructions to the vehicle
- G08G1/096833—Systems involving transmission of navigation instructions to the vehicle where different aspects are considered when computing the route
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Purposes 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/08—Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
- B60W30/09—Taking automatic action to avoid collision, e.g. braking and steering
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Purposes 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/08—Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
- B60W30/095—Predicting travel path or likelihood of collision
- B60W30/0956—Predicting travel path or likelihood of collision the prediction being responsive to traffic or environmental parameters
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Purposes 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/18—Propelling the vehicle
- B60W30/18009—Propelling the vehicle related to particular drive situations
- B60W30/18054—Propelling the vehicle related to particular drive situations at stand still, e.g. engine in idling state
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Estimation 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/02—Estimation 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0027—Planning or execution of driving tasks using trajectory prediction for other traffic participants
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0027—Planning or execution of driving tasks using trajectory prediction for other traffic participants
- B60W60/00272—Planning or execution of driving tasks using trajectory prediction for other traffic participants relying on extrapolation of current movement
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0027—Planning or execution of driving tasks using trajectory prediction for other traffic participants
- B60W60/00276—Planning or execution of driving tasks using trajectory prediction for other traffic participants for two or more other traffic participants
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3407—Route searching; Route guidance specially adapted for specific applications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01K—MEASURING TEMPERATURE; MEASURING QUANTITY OF HEAT; THERMALLY-SENSITIVE ELEMENTS NOT OTHERWISE PROVIDED FOR
- G01K13/00—Thermometers specially adapted for specific purposes
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N33/00—Investigating or analysing materials by specific methods not covered by groups G01N1/00 - G01N31/00
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01P—MEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
- G01P3/00—Measuring linear or angular speed; Measuring differences of linear or angular speeds
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Systems for determining distance or velocity not using reflection or reradiation
- G01S11/12—Systems for determining distance or velocity not using reflection or reradiation using electromagnetic waves other than radio waves
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Systems 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/88—Radar or analogous systems specially adapted for specific applications
- G01S13/93—Radar or analogous systems specially adapted for specific applications for anti-collision purposes
- G01S13/931—Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Systems using the reflection or reradiation of acoustic waves, e.g. sonar systems
- G01S15/88—Sonar systems specially adapted for specific applications
- G01S15/93—Sonar systems specially adapted for specific applications for anti-collision purposes
- G01S15/931—Sonar systems specially adapted for specific applications for anti-collision purposes of land vehicles
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/02—Systems using the reflection of electromagnetic waves other than radio waves
- G01S17/06—Systems determining position data of a target
- G01S17/08—Systems determining position data of a target for measuring distance only
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/38—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
- G01S19/39—Determining 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/42—Determining position
- G01S19/45—Determining position by combining measurements of signals from the satellite radio beacon positioning system with a supplementary measurement
- G01S19/46—Determining 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01W—METEOROLOGY
- G01W1/00—Meteorology
- G01W1/14—Rainfall or precipitation gauges
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/09—Arrangements for giving variable traffic instructions
- G08G1/0962—Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
- G08G1/0967—Systems involving transmission of highway information, e.g. weather, speed limits
- G08G1/096708—Systems 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/096725—Systems 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
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/16—Anti-collision systems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Details 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/0001—Details of the control system
- B60W2050/0002—Automatic control, details of type of controller or control system architecture
- B60W2050/0004—In digital systems, e.g. discrete-time systems involving sampling
- B60W2050/0005—Processor details or data handling, e.g. memory registers or chip architecture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Indexing codes relating to the type of sensors based on the principle of their operation
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Input parameters relating to infrastructure
- B60W2552/53—Road markings, e.g. lane marker or crosswalk
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/404—Characteristics
- B60W2554/4041—Position
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/404—Characteristics
- B60W2554/4042—Longitudinal speed
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/404—Characteristics
- B60W2554/4043—Lateral speed
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Input parameters relating to objects
- B60W2554/80—Spatial relation or speed relative to objects
Abstract
Description
- QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
- Diese Anmeldung beansprucht die Priorität der US-Patentanmeldung Nr.
62/844,689 - 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. Allgemeine Übersicht
- 2. Systemübersicht
- 3. Autonome Fahrzeugarchitektur
- 4. Autonome Fahrzeugeingaben
- 5. Autonome Fahrzeugplanung
- 6. Autonome Fahrzeugsteuerung
- 7. Bewegungsplanung für ein blockiertes Fahrzeug
- 8. Teilweise Aktualisierung einer Trajektorie
- Systemübersicht
-
1 zeigt ein Beispiel eines autonomen Fahrzeugs100 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-Computingumgebung300 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-System120 das AV100 entlang einer Trajektorie198 durch eine Umgebung190 zu einem Ziel199 (manchmal als eine Endstation bezeichnet), wobei es Objekte (z. B. natürliche Hindernisse191 , Fahrzeuge193 , Fußgänger192 , 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 Vorrichtungen101 , die instrumentiert sind, Operationsbefehle von den Computerprozessoren146 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 Computerprozessoren146 ähnlich zu dem unten unter Bezugnahme auf3 beschriebenen Prozessor304 . Beispiele für Vorrichtungen101 beinhalten eine Lenksteuerung102 , Bremsen103 , Gänge, ein Gaspedal oder andere Beschleunigungssteuermechanismen, Scheibenwischer, Seitentürenverriegelungen, Fenstersteuerungen und Fahrtrichtungsanzeiger. - In einer Ausführungsform beinhaltet das AV-System
120 Sensoren121 zum Messen oder Ableiten von Eigenschaften eines Status oder Zustands des AV100 , wie beispielsweise die Position des AV, Linear- und Winkelgeschwindigkeit und Beschleunigung sowie Fahrtrichtung (z. B. eine Ausrichtung eines vorderen Endes des AV100 ). Beispiele für Sensoren121 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-Videokameras122 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 Datenspeichereinheit142 und einen Speicher144 zum Speichern von Maschinenanweisungen in Zusammenhang mit Computerprozessoren146 oder durch Sensoren121 erhobenen Daten. In einer Ausführungsform ist die Datenspeichereinheit142 ähnlich zu dem ROM308 oder der Speichervorrichtung310 , die unten in Bezug auf3 beschrieben sind. In einer Ausführungsform ist der Speicher144 ähnlich zu dem unten beschriebenen Hauptspeicher306 . In einer Ausführungsform speichern die Datenspeichereinheit142 und der Speicher144 historische, Echtzeit- und/oder prädiktive Information über die Umgebung190 . In einer Ausführungsform beinhaltet die gespeicherte Information Karten, Fahrleistung, neueste Verkehrsstauberichte oder Wetterbedingungen. In einer Ausführungsform werden Daten in Bezug auf die Umgebung190 über einen Kommunikationskanal von einer entfernt angeordneten Datenbank134 an das AV100 übertragen. - In einer Ausführungsform beinhaltet das AV-System
120 Kommunikationsvorrichtungen140 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 AV100 . 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 Kommunikationsvorrichtungen140 ü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 Datenbank134 an das AV-System120 . In einer Ausführungsform ist die entfernt angeordnete Datenbank134 in eine Cloud-Computingumgebung200 wie in2 beschrieben eingebettet. Die Kommunikationsschnittstellen140 übertragen von Sensoren121 erhobene Daten oder andere Daten in Bezug auf den Betrieb des AV100 an die entfernt angeordnete Datenbank134 . In einer Ausführungsform übertragen die Kommunikationsschnittstellen140 Information in Bezug auf Teleoperationen an das AV100 . In einigen Ausführungsformen kommuniziert das AV100 mit anderen entfernten (z. B. „Cloud-“) Servern136 . - 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 Speicher144 in dem AV100 gespeichert oder über einen Kommunikationskanal von der entfernt angeordneten Datenbank134 an das AV100 ü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 Trajektorie198 gefahren sind. In einer Implementierung können derartige Daten in dem Speicher144 in dem AV100 gespeichert oder über einen Kommunikationskanal von der entfernt angeordneten Datenbank134 an das AV100 übertragen werden. - In dem AV
100 angeordnete Computervorrichtungen146 generieren algorithmisch Steueraktionen basierend sowohl auf Echtzeit-Sensordaten als auch auf früherer Information, was dem AV-System120 ermöglicht, seine autonomen Fahrfähigkeiten auszuführen. - In einer Ausführungsform beinhaltet das AV-System
120 Computerperipheriegeräte132 , die mit Computervorrichtungen146 zum Bereitstellen von Information und Warnungen an einen und Empfangen einer Eingabe von einem Benutzer (z. B. einem Insassen oder einem entfernten Benutzer) des AV100 gekoppelt sind. In einer Ausführungsform sind die Peripheriegeräte132 ähnlich zu der Anzeige312 , der Eingabevorrichtung314 und der Cursorsteuerung316 , die unten unter Bezugnahme auf3 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 auf2 beinhaltet die Cloud-Computingumgebung200 Cloud-Datenzentren204a ,204b und204c , die über die Cloud202 miteinander verbunden sind. Die Datenzentren204a ,204b und204c stellen Cloud-Computingdienste zu den mit der Cloud202 verbundenen Computersystemen206a ,206b ,206c ,206d ,206e und206f bereit. - Die Cloud-Computingumgebung
200 beinhaltet ein oder mehrere Cloud-Datenzentren. Im Allgemeinen bezeichnet ein Cloud-Datenzentrum, zum Beispiel das in2 gezeigte Cloud-Datenzentrum204a , die physische Anordnung von Servern, die eine Cloud, zum Beispiel die in2 gezeigte Cloud202 , 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 in3 beschriebenen Computersystem. Das Datenzentrum204a weist viele Computersysteme auf, die über viele Racks verteilt sind. - Die Cloud
202 beinhaltet Cloud-Datenzentren204a ,204b und204c sowie das Netzwerk und Netzwerkressourcen (zum Beispiel Netzwerkausrüstung, Knoten, Router, Switche und Netzwerkkabel), die die Cloud-Datenzentren204a ,204b und204c miteinander verbinden und helfen, den Computersystemen206a-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 Cloud202 über Netzwerkverbindungen und Netzwerkadapter verbunden. In einer Ausführungsform sind die Computersysteme206a-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 Computersysteme206a-f in oder als ein Teil anderer Systeme implementiert. -
3 veranschaulicht ein Computersystem300 . In einer Implementierung ist das Computersystem300 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 Bus302 oder einen anderen Kommunikationsmechanismus zum Kommunizieren von Information, und einen mit einem Bus302 gekoppelten Hardwareprozessor304 zum Verarbeiten von Information. Der Hardwareprozessor304 ist zum Beispiel ein Allzweck-Mikroprozessor. Das Computersystem300 beinhaltet zudem einen Hauptspeicher306 , beispielsweise einen Direktzugriffsspeicher (RAM, Random Access Memory) oder eine andere dynamische Speichervorrichtung, der mit dem Bus302 zum Speichern von Information und durch den Prozessor304 ausführbaren Anweisungen gekoppelt ist. In einer Implementierung wird der Hauptspeicher306 zum Speichern von temporären Variablen oder anderer intermediärer Information während einer Ausführung von durch den Prozessor304 ausführbaren Anweisungen verwendet. Durch derartige Anweisungen wird, wenn sie in durch den Prozessor304 zugreifbaren nicht-flüchtigen Speichermedien gespeichert sind, das Computersystem300 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 Bus302 zum Speichern statischer Information und Anweisungen für den Prozessor304 gekoppelt ist. Eine Speichervorrichtung310 , beispielsweise eine Magnetplatte, eine optische Platte, ein Festkörperlaufwerk oder ein dreidimensionaler Kreuzungspunkt(„Crosspoint“)-Speicher, ist bereitgestellt und mit dem Bus302 zum Speichern von Information und Anweisungen gekoppelt. - In einer Ausführungsform ist das Computersystem
300 über den Bus302 mit einer Anzeige312 , 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 Eingabevorrichtung314 , die alphanumerische und andere Tasten beinhaltet, ist mit dem Bus302 zum Kommunizieren von Information und Befehlsauswahlen an den Prozessor304 gekoppelt. Eine andere Art von Benutzereingabevorrichtung ist eine Cursor-Steuerung316 , wie beispielsweise eine Maus, eine Rollkugelvorrichtung, eine berührungsempfindliche Anzeige oder Cursor-Richtungstasten, zum Kommunizieren von Richtungsinformation und Befehlsauswahlen an den Prozessor304 und zum Steuern einer Cursor-Bewegung auf der Anzeige312 . 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 Prozessor304 eine oder mehrere Abfolgen von einer oder mehreren in dem Hauptspeicher306 enthaltenen Anweisungen ausführt. Derartige Anweisungen werden von einem anderen Speichermedium, beispielsweise der Speichervorrichtung310 , in den Hauptspeicher306 gelesen. Eine Ausführung der Abfolgen von in dem Hauptspeicher306 enthaltenen Anweisungen veranlasst den Prozessor304 , 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 Hauptspeicher306 . 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 Computersystem300 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 Bus302 . Der Bus302 führt die Daten zu dem Hauptspeicher306 , von dem der Prozessor304 die Anweisungen abruft und ausführt. Die durch den Hauptspeicher306 empfangenen Anweisungen können optional auf der Speichervorrichtung310 entweder vor oder nach Ausführung durch den Prozessor304 gespeichert werden. - Das Computersystem
300 beinhaltet zudem eine mit dem Bus302 gekoppelte Kommunikationsschnittstelle318 . Die Kommunikationsschnittstelle318 stellt eine Zweiwege-Datenkommunikationskopplung zu einer Netzwerkverbindung320 bereit, die mit einem lokalen Netzwerk322 verbunden ist. Zum Beispiel ist die Kommunikationsschnittstelle318 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 Kommunikationsschnittstelle318 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 Kommunikationsschnittstelle318 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 Netzwerkverbindung320 eine Verbindung über das lokale Netzwerk322 zu einem Hostcomputer324 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 ISP326 wiederum stellt Datenkommunikationsdienste über das weltweite Paketdatenkommunikationsnetzwerk bereit, das nunmehr häufig als das „Internet“ 328 bezeichnet wird. Das logische Netzwerk322 und Internet328 verwenden beide elektrische, elektromagnetische oder optische Signale, die digitale Datenströme führen. Die Signale über die verschiedenen Netzwerke und die Signale an der Netzwerkverbindung320 und über die Kommunikationsschnittstelle318 , die die digitalen Daten zu und von dem Computersystem300 führen, sind beispielhafte Formen von Übertragungsmedien. In einer Ausführungsform enthält das Netzwerk320 die Cloud202 oder einen Teil der Cloud202 , die oben beschrieben ist. - Das Computersystem
300 sendet Nachrichten und empfängt Daten, einschließlich Programmcode, über das/die Netzwerk(e), die Netzwerkverbindung320 und die Kommunikationsschnittstelle318 . In einer Ausführungsform empfängt das Computersystem300 Code zum Verarbeiten. Der empfangene Code wird durch den Prozessor304 ausgeführt, sobald er empfangen wird, und/oder in der Speichervorrichtung310 oder einem anderen nicht-flüchtigen Speicher zur späteren Ausführung gespeichert. - Autonome Fahrzeugarchitektur
-
4 zeigt eine beispielhafte Architektur400 für ein autonomes Fahrzeug (z. B. das in1 gezeigte AV100 ). Die Architektur400 beinhaltet ein Wahrnehmungsmodul402 (manchmal als eine Wahrnehmungsschaltung bezeichnet), ein Planungsmodul404 (manchmal als eine Planungsschaltung bezeichnet), ein Steuermodul406 (manchmal als eine Steuerschaltung bezeichnet), ein Standortbestimmungsmodul408 (manchmal als eine Standortbestimmungsschaltung bezeichnet) und ein Datenbankmodul410 (manchmal als eine Datenbankschaltung bezeichnet). Jedes Modul spielt eine Rolle beim Betrieb des AV100 . Zusammen können die Module402 ,404 ,406 ,408 und410 Teil des in1 gezeigten AV-Systems120 sein. In einigen Ausführungsformen ist jedes der Module402 ,404 ,406 ,408 und410 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 Module402 ,404 ,406 ,408 und410 ist manchmal als eine Verarbeitungsschaltung (z. B. Computerhardware, Computersoftware oder eine Kombination aus beidem) bezeichnet. Eine Kombination eines beliebigen oder aller der Module402 ,404 ,406 ,408 und410 ist auch ein Beispiel einer Verarbeitungsschaltung. - Im Einsatz empfängt das Planungsmodul
404 Daten, die ein Ziel412 darstellen, und bestimmt Daten, die eine Trajektorie414 (manchmal als Route bezeichnet) darstellen, die durch das AV100 befahren werden kann, um das Ziel412 zu erreichen (an diesem anzukommen). Damit das Planungsmodul404 die die Trajektorie414 darstellenden Daten bestimmen kann, empfängt das Planungsmodul404 Daten von dem Wahrnehmungsmodul402 , dem Standortbestimmungsmodul408 und dem Datenbankmodul410 . - Das Wahrnehmungsmodul
402 identifiziert physische Objekte in der Nähe unter Verwenden eines oder mehrerer Sensoren121 , z. B. wie auch in1 gezeigt. Die Objekte werden klassifiziert (z. B. in Arten wie Fußgänger, Fahrrad, Kraftfahrzeug, Verkehrszeichen usw. gruppiert) und eine Szenenbeschreibung mit den klassifizierten Objekten416 wird dem Planungsmodul404 bereitgestellt. - Das Planungsmodul
404 empfängt zudem Daten, die die AV-Position418 darstellen, von dem Standortbestimmungsmodul408 . Das Standortbestimmungsmodul408 bestimmt die AV-Position unter Verwenden von Daten von den Sensoren121 und Daten von dem Datenbankmodul410 (z. B. geografische Daten) zum Berechnen einer Position. Zum Beispiel verwendet das Standortbestimmungsmodul408 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 Standortbestimmungsmodul408 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 Trajektorie414 darstellenden Daten und die die AV-Position418 darstellenden Daten und führt die Steuerfunktionen420a-c (z. B. Lenken, Gasgeben, Bremsen, Zündung) des AV auf eine Weise aus, die bewirkt, dass das AV100 die Trajektorie414 zu dem Ziel412 abfährt. Wenn zum Beispiel die Trajektorie414 ein Abbiegen nach links beinhaltet, führt das Steuermodul406 die Steuerfunktionen420a-c auf eine derartige Weise aus, dass der Lenkwinkel der Lenkfunktion bewirkt, dass das AV100 nach links abbiegt, und das Gasgeben und Bremsen bewirkt, dass das AV100 anhält und auf passierende Fußgänger oder Fahrzeuge wartet, bevor das Abbiegen durchgeführt wird. - Autonome Fahrzeugeingaben
-
5 zeigt ein Beispiel von Eingaben502a-d (z. B. in1 gezeigte Sensoren121 ) und Ausgaben504a-d (z. B. Sensordaten), die durch das Wahrnehmungsmodul402 (4 ) verwendet werden. Eine Eingabe502a ist ein LiDAR(Light Detection and Ranging)-System (z. B. das in1 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 Ausgabe504a . Zum Beispiel sind LiDAR-Daten Ansammlungen von 3D- oder 2D-Punkten (auch als Punktwolken bekannt), die verwendet werden, um eine Darstellung der Umgebung190 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-System502b erzeugt RADAR-Daten als Ausgabe504b . Zum Beispiel sind RADAR-Daten ein oder mehrere elektromagnetische Funkfrequenzsignale, die verwendet werden, um eine Darstellung der Umgebung190 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 Ausgabe504c . 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 Ausgabe504d . 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 AV100 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 Ausgaben504a-d zu anderen Systemen des AV100 bereitgestellt (z. B. zu einem Planungsmodul404 wie in4 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-Systems602 (z. B. die in5 gezeigte Eingabe502a) . Das LiDAR-System602 emittiert Licht604a-c von einem Lichtemitter606 (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 Lichts604b trifft auf ein physisches Objekt608 (z. B. ein Fahrzeug) und wird zurück zu dem LiDAR-System602 reflektiert. (Von einem LiDAR-System emittiertes Licht durchdringt in der Regel nicht physische Objekte, z. B. physische Objekte massiver Art.) Das LiDAR-System602 weist zudem einen oder mehrere Lichtdetektoren610 auf, die das reflektierte Licht detektieren. In einer Ausführungsform generieren ein oder mehrere mit dem LiDAR-System assoziierte Datenverarbeitungssysteme ein Bild612 , das das Sichtfeld614 des LiDAR-Systems darstellt. Das Bild612 beinhaltet Information, die die Grenzen616 eines physischen Objekts608 darstellt. So wird das Bild612 verwendet, um die Grenzen616 eines oder mehrerer physischer Objekte in der Nähe des AV zu bestimmen. -
7 zeigt das LiDAR-System602 im Betrieb. In dem in dieser Figur gezeigten Szenario empfängt das AV100 sowohl eine Kamerasystemausgabe504c in Form eines Bilds702 als auch eine LiDAR-Systemausgabe 504a in Form von LiDAR-Datenpunkten 704. Im Einsatz vergleichen die Datenverarbeitungssysteme des AV100 das Bild702 mit den Datenpunkten704 . Insbesondere wird ein in dem Bild702 identifiziertes physisches Objekt706 auch unter den Datenpunkten704 identifiziert. So nimmt das AV100 die Grenzen des physischen Objekts basierend auf der Kontur und Dichte der Datenpunkte704 wahr. -
8 zeigt den Betrieb des LiDAR-Systems602 in weiterem Detail. Wie oben beschrieben, detektiert das AV100 die Grenze eines physischen Objekts basierend auf Eigenschaften der durch das LiDAR-System602 detektierten Datenpunkte. Wie in8 gezeigt, reflektiert ein flaches Objekt, beispielsweise der Boden802 , von einem LiDAR-System602 emittiertes Licht804a-d auf gleichbleibende Weise. Anders ausgedrückt, reflektiert der Boden802 Licht zurück zu dem LiDAR-System602 mit demselben gleichbleibenden Abstand, da das LiDAR-System602 Licht unter Verwenden eines gleichbleibenden Abstands emittiert. Während das AV100 über den Boden802 fährt, detektiert das LiDAR-System602 fortlaufend von dem nächstgültigen Bodenpunkt806 reflektiertes Licht, sofern nichts die Straße behindert. Wenn jedoch ein Objekt808 die Straße behindert, wird durch das LiDAR-System602 emittiertes Licht804e-f von Punkten810a-b auf eine Weise reflektiert, die nicht mit der erwarteten gleichbleibenden Weise übereinstimmt. Aus dieser Information kann das AV100 bestimmen, dass das Objekt808 vorhanden ist. - Streckenplanung
-
9 zeigt ein Blockdiagramm900 der Beziehungen zwischen Eingaben und Ausgaben eines Planungsmoduls404 (z. B. wie in4 gezeigt). Im Allgemeinen ist die Ausgabe eines Planungsmoduls404 eine Route902 von einem Startpunkt904 (z. B. einem Ursprungsort oder anfänglichen Standort) zu einem Endpunkt906 (z. B. einem Ziel oder einer Endstation). Die Route902 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 AV100 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 Route902 „Gelände“-Segmente wie beispielsweise unbefestigte Strecken oder offenes Gelände. - Zusätzlich zu der Route
902 gibt ein Planungsmodul auch Routenplanungsdaten908 auf Fahrstreifenebene aus. Die Routenplanungsdaten908 auf Fahrstreifenebene werden verwendet, um Segmente der Route902 basierend auf Bedingungen des Segments zu einem bestimmten Zeitpunkt zu befahren. Wenn zum Beispiel die Route902 eine mehrspurige Autobahn beinhaltet, beinhalten die Routenplanungsdaten908 auf Fahrstreifenebene Trajektorienplanungsdaten910 , die das AV100 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 Routenplanungsdaten908 auf Fahrstreifenebene Geschwindigkeitsbeschränkungen912 , die speziell für ein Segment der Route902 gelten. Wenn zum Beispiel in dem Segment Fußgänger oder unerwarteter Verkehr vorhanden sind, können die Geschwindigkeitsbeschränkungen912 das AV100 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 Datenbankdaten914 (z. B. von dem in4 gezeigten Datenbankmodul410 ), aktuelle Standortdaten916 (z. B. die in4 gezeigte AV-Position418 ), Zieldaten918 (z. B. das in4 gezeigte Ziel412 ) und Objektdaten920 (z. B. die klassifizierten Objekte416 , die durch das Wahrnehmungsmodul402 wie in4 gezeigt wahrgenommen wurden). In einigen Ausführungsformen beinhalten die Datenbankdaten914 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 AV100 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 AV100 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 Graphen1000 , der z. B. durch das Planungsmodul404 (4 ) bei einer Streckenplanung verwendet wird. Im Allgemeinen wird ein gerichteter Graph1000 wie der in10 gezeigte verwendet, um eine Strecke zwischen einem beliebigen Startpunkt1002 und Endpunkt1004 zu bestimmen. In der Realität kann die Distanz, die den Startpunkt1002 und Endpunkt1004 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 Knoten1006a-d auf, die unterschiedliche Orte zwischen dem Startpunkt1002 und dem Endpunkt1004 darstellen, die durch ein AV100 belegt werden könnten. In einigen Beispielen, z. B. wenn der Startpunkt1002 und Endpunkt1004 unterschiedliche städtische Bereiche darstellen, stellen die Knoten1006a-d Segmente von Straßen dar. In einigen Beispielen, z. B. wenn der Startpunkt1002 und der Endpunkt1004 unterschiedliche Orte auf derselben Straße darstellen, stellen die Knoten1006a-d unterschiedliche Positionen auf dieser Straße dar. Somit beinhaltet der gerichtete Graph1000 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 Startpunkt1002 und der Endpunkt1004 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 AV100 darstellt. - Die Knoten
1006a-d sind von Objekten1008a-b verschiedenartig, die sich nicht mit einem Knoten überschneiden können. In einer Ausführungsform stellen die Objekte1008a-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 Objekte1008a-b physische Objekte in dem Sichtfeld des AV100 dar, z. B. andere Kraftfahrzeuge, Fußgänger oder andere Entitäten, mit denen sich das AV100 keinen physischen Raum teilen kann. In einer Ausführungsform sind einige oder alle der Objekte1008a-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 Kanten1010a-c verbunden. Wenn zwei Knoten1006a-b durch eine Kante1010a verbunden sind, kann ein AV100 zwischen einem Knoten1006a und dem anderen Knoten1006b fahren, ohne vor Ankunft an dem anderen Knoten1006b zu einem dazwischenliegenden Knoten fahren zu müssen. (Wenn auf ein Fahren eines AV100 zwischen Knoten Bezug genommen wird, ist gemeint, dass das AV100 zwischen den durch die jeweiligen Knoten dargestellten zwei physischen Positionen fährt.) Die Kanten1010a-c sind häufig bidirektional in dem Sinne, dass ein AV100 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 Kanten1010a-c unidirektional in dem Sinne, dass ein AV100 von einem ersten Knoten zu einem zweiten Knoten fahren kann, das AV100 jedoch nicht von dem zweiten Knoten zu dem ersten Knoten fahren kann. Die Kanten1010a-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 Graphen1000 , um eine Strecke1012 zu identifizieren, die aus Knoten und Kanten zwischen dem Startpunkt1002 und Endpunkt1004 besteht. - Eine Kante
1010a-c weist assoziierte Kosten1014a-b . auf. Die Kosten1014a-b sind ein Wert, der die Ressourcen darstellt, die verbraucht werden, wenn das AV100 diese Kante auswählt. Eine typische Ressource ist Zeit. Wenn zum Beispiel eine Kante1010a eine physische Distanz darstellt, die das Doppelte von einer anderen Kante1010b ist, dann können die assoziierten Kosten1014a der ersten Kante1010a das Doppelte der assoziierten Kosten1014b der zweiten Kante1010b sein. Andere Faktoren, die Zeit betreffen, beinhalten erwarteten Verkehr, eine Anzahl von Kreuzungen, eine Geschwindigkeitsbegrenzung usw. Eine andere typische Ressource ist der Kraftstoffverbrauch. Zwei Kanten1010a-b können dieselbe physische Distanz darstellen, jedoch kann eine Kante1010a mehr Kraftstoff erfordern als eine andere Kante1010b , z. B. aufgrund von Straßenbedingungen, erwartetem Wetter usw. - Wenn das Planungsmodul
404 eine Strecke1012 zwischen dem Startpunkt1002 und Endpunkt1004 identifiziert, wählt das Planungsmodul404 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 Blockdiagramm1100 der Eingaben und Ausgaben eines Steuermoduls406 (z. B. wie in4 gezeigt). Ein Steuermodul arbeitet gemäß einer Steuerung1102 , die zum Beispiel einen oder mehrere Prozessoren (z. B. einen oder mehrere Computerprozessoren, beispielsweise Mikroprozessoren oder Mikrosteuerungen oder beides) ähnlich zu dem Prozessor304 , Kurzzeit- und/oder Langzeit-Datenspeicher (z. B. Direktzugriffsspeicher oder Flash-Speicher oder beides) ähnlich zu dem Hauptspeicher306 , dem ROM308 und der Speichervorrichtung310 , und in Speicher gespeicherte Anweisungen, die Operationen der Steuerung1102 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 Sollausgabe1104 darstellen. Die Sollausgabe1104 beinhaltet in der Regel eine Geschwindigkeit, z. B. ein Tempo und eine Fahrtrichtung. Die Sollausgabe1104 kann zum Beispiel auf von einem Planungsmodul404 empfangenen Daten basieren (z. B. wie in4 gezeigt). Gemäß der Sollausgabe1104 erzeugt die Steuerung1102 Daten, die als eine Gaspedaleingabe1106 und eine Lenkeingabe1108 verwendbar sind. Die Gaspedaleingabe1106 stellt die Stärke dar, mit der das Gaspedal (z. B. eine Beschleunigungssteuerung) eines AV100 betätigt werden soll, z. B. durch Betätigen des Gaspedals oder Betätigen einer anderen Drosselsteuerung, um die Sollausgabe1104 zu erzielen. In einigen Beispielen beinhaltet die Gaspedaleingabe1106 auch Daten, die zum Betätigen der Bremse (z. B. eine Verzögerungssteuerung) des AV100 verwendbar sind. Die Lenkeingabe1108 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 Sollausgabe1104 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 AV100 auf einen Störfaktor1110 trifft, beispielsweise einen Hügel, fällt die gemessene Geschwindigkeit1112 des AV100 unter die Sollausgabegeschwindigkeit. In einer Ausführungsform wird jede gemessene Ausgabe1114 der Steuerung1102 bereitgestellt, damit die erforderlichen Anpassungen durchgeführt werden, z. B. basierend auf der Differenz1113 zwischen der gemessene Geschwindigkeit und der Sollausgabe. Die gemessene Ausgabe1114 beinhaltet eine gemessene Position1116 , eine gemessene Geschwindigkeit1118 (einschließlich Tempo und Fahrtrichtung), eine gemessene Beschleunigung1120 und andere Ausgaben, die durch Sensoren des AV100 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ückkopplungsmodul1122 bereitgestellt. Das prädiktive Rückkopplungsmodul1122 stellt dann Informationen zu der Steuerung1102 bereit, die die Steuerung1102 für ein entsprechendes Anpassen verwenden kann. Wenn zum Beispiel die Sensoren des AV100 einen Hügel detektieren („sehen“), kann diese Information durch die Steuerung1102 verwendet werden, um ein Betätigen des Gaspedals zum richtigen Zeitpunkt vorzubereiten, um eine deutliche Verzögerung zu verhindern. -
12 zeigt ein Blockdiagramm1200 der Eingaben, Ausgaben und Komponenten der Steuerung1102 . Die Steuerung1102 weist eine Geschwindigkeitsprofilkorrekturvorrichtung1202 auf, die den Betrieb einer Gaspedal-/Bremsensteuerung1204 beeinflusst. Zum Beispiel weist die Geschwindigkeitsprofilkorrekturvorrichtung1202 die Gaspedal-/Bremsensteuerung1204 an, eine Beschleunigung oder Verzögerung unter Verwenden des Gaspedals/der Bremse1206 in Abhängigkeit von z. B. einer durch die Steuerung1102 empfangenen und durch die Geschwindigkeitsprofilkorrekturvorrichtung1202 verarbeiteten Rückkopplung zu betätigen. - Die Steuerung
1102 weist zudem eine seitliche Spursteuerung1208 auf, die den Betrieb einer Lenksteuerung1210 beeinflusst. Zum Beispiel weist die seitliche Spursteuerung1208 die Lenksteuerung1210 an, die Position des Lenkwinkelaktuators1212 in Abhängigkeit von z. B. einer durch die Steuerung1102 empfangenen und durch die seitliche Spursteuerung1208 verarbeiteten Rückkopplung anzupassen. - Die Steuerung
1102 empfängt mehrere Eingaben, die verwendet werden, um zu bestimmen, wie das Gaspedal/die Bremse1206 und der Lenkwinkelaktuator1212 gesteuert werden sollen. Ein Planungsmodul404 stellt Information bereit, die durch die Steuerung1102 zum Beispiel verwendet wird, um eine Fahrtrichtung bei Beginn des Betriebs des AV100 auszuwählen und zu bestimmen, welches Straßensegment befahren werden soll, wenn das AV100 eine Kreuzung erreicht. Ein Standortbestimmungsmodul408 stellt eine Information zu der Steuerung1102 bereit, die den aktuellen Standort des AV100 beschreibt, sodass zum Beispiel die Steuerung1102 basierend auf der Weise, wie das Gaspedal/die Bremse1206 und der Lenkwinkelaktuator1212 gesteuert werden, bestimmen kann, ob sich das AV100 an einem erwarteten Standort befindet. In einer Ausführungsform empfängt die Steuerung1102 Information von anderen Eingaben1214 , 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 Prozess1400 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 Block1405 gezeigt, empfängt ein Prozessor (z. B. der in1 gezeigte Prozessor146 ) 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 in1 gezeigten Sensoren121 ,122 und/oder123 ) 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 mit4 beschrieben, können die Sensoren121 zur Umgebung um das Fahrzeug erhobene Daten empfangen und diese Information in die Datenbank410 einspeisen. Das Wahrnehmungsmodul402 (wie in4 gezeigt) verwendet die Sensordaten aus der Datenbank, um Objekte in der Umgebung zu identifizieren. Das Wahrnehmungsmodul402 (wie in4 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 Prozessor146 basierend auf den von den Sensoren (z. B. den in1 gezeigten Sensoren121 ,122 und/oder123 ) 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 Wahrnehmungsmodul402 (wie in4 gezeigt) basierend auf den Sensordaten in der Datenbank410 (wie in4 gezeigt), dass das Fahrzeug durch ein oder mehrere der Objekte blockiert wird. - Wie in Block
1415 gezeigt, bestimmt der Prozessor (z. B. der Prozessor146 wie in1 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 Datenspeicher142 wie in1 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 Wahrnehmungsmodul402 (wie in4 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 Datenbank410 wie in4 gezeigt). - Wie in Block
1420 gezeigt, generiert der Prozessor (z. B. der Prozessor146 wie in1 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 auf1 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 in4 gezeigt) den einen oder die mehreren Operationsbefehle. Zum Beispiel empfängt das Planungsmodul eine Eingabe von dem Wahrnehmungsmodul402 (wie in4 gezeigt) und dem Standortbestimmungsmodul408 (wie in4 gezeigt). Wie in Verbindung mit4 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 Steuermodul406 (wie in4 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 in1 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 Planungsmodul404 (wie in4 gezeigt) die Trajektorien. Wenn die Trajektorien generiert sind, iteriert der Prozessor (z. B. der Prozessor146 wie in1 gezeigt) durch die ausgewählten Trajektorien, um die folgenden Aktionen durchzuführen. Der Prozessor146 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 Speicher144 und/oder dem Speicher142 wie in1 gezeigt) gespeichert. In einer anderen Ausführungsform iteriert das Planungsmodul404 (wie in4 gezeigt) durch die Trajektorien und wählt die erste Trajektorie zum Verarbeiten aus. - Der Prozessor (z. B. der Prozessor
146 wie in1 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 Planungsmodul404 (wie in4 gezeigt) diese Identifizierung basierend auf durch das Wahrnehmungsmodul402 (wie in4 gezeigt) generierten Daten vor. Die Daten können in der Datenbank410 gespeichert sein. - In einer Ausführungsform empfängt der Prozessor (z. B. der Prozessor
146 wie in1 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 Speicher142 wie in1 gezeigt) gespeichert und in einen Primärspeicher (z. B. den Speicher144 wie in1 gezeigt) abgerufen. In einer anderen Ausführungsform gemäß4 ruft das Planungsmodul404 die Wahrscheinlichkeiten aus der Datenbank410 ab. Das Wahrnehmungsmodul402 generiert die Wahrscheinlichkeiten, die durch das Planungsmodul404 abgerufen werden. In einer anderen Ausführungsform generiert das Planungsmodul404 (wie in4 gezeigt), anstatt die eine oder mehreren Wahrscheinlichkeiten zu empfangen, die Wahrscheinlichkeiten „on-the-fly“. In noch einer anderen Ausführungsform ruft das Planungsmodul404 (wie in4 gezeigt) einen Standort und eine Geschwindigkeit für jedes Objekt, für das bestimmt wurde, dass es die Trajektorie des Fahrzeugs behindert, aus der Datenbank410 (wie in4 gezeigt) ab. Das Planungsmodul404 (wie in4 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 in1 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 Planungsmodul404 (wie in4 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 Prozessor146 wie in1 gezeigt) die erste Trajektorie aus einer Erwägung für die Fahrzeugtrajektorie. In einer Ausführungsform pflegt der Prozessor (z. B. der Prozessor146 wie in1 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 Planungsmodul404 (wie in4 gezeigt) generiert und zu dem Steuermodul406 (wie in4 gezeigt) zur Ausführung gespeist. In einer Ausführungsform überträgt das Planungsmodul404 die geeignete Trajektorie zu dem Steuermodul406 (wie in4 gezeigt) und das Steuermodul generiert die Operationsbefehle. - Fortfahrend mit
14 , führt der Prozessor (z. B. der Prozessor146 wie in1 gezeigt) wie in Block1425 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 Steuermodul406 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 in15 dargestellt. Insbesondere bestimmt der Prozessor (z. B. der Prozessor146 wie in1 gezeigt) wie in Block1505 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 Block1510 gezeigt, bestimmt der Prozessor (z. B. der Prozessor146 wie in1 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 in4 dargestellt auch durch das Planungsmodul404 und/oder das Steuermodul406 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 in1 gezeigt) oder in einem Sekundärspeicher (z. B. dem Speicher142 wie in1 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 in4 dargestellt auch durch das Planungsmodul404 und/oder das Steuermodul406 oder eine andere geeignete Komponente durchgeführt werden. In einer Ausführungsform werden, wie in Block1525 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 in1 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 Prozessor146 (wie in1 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 Prozessor146 wie in1 gezeigt) den einen oder die mehreren Operationsbefehle aus. In einer Ausführungsform bestimmt das Wahrnehmungsmodul402 wie in4 dargestellt, dass das Fahrzeug nicht mehr blockiert wird, und kommuniziert diese Information an das Planungsmodul404 , das die Information wiederum an das Steuermodul406 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 in1 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 Speicher142 und/oder dem Speicher144 wie in1 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 in4 dargestellt auch durch das Planungsmodul404 und/oder das Steuermodul406 oder eine andere geeignete Komponente durchgeführt werden. - In einer Ausführungsform weist der Prozessor (z. B. der Prozessor
146 wie in1 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 Prozessor146 wie in1 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 Prozess1600 zum Aktualisieren eines Teils einer Fahrtrajektorie eines Fahrzeugs basierend auf einer Wahrscheinlichkeit, dass ein Objekt ein Segment der aktuellen Fahrtrajektorie überqueren wird. Wie in Block1605 gezeigt, generiert ein Prozessor (z. B. der Prozessor146 wie in1 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 Planungsmodul404 und/oder das Steuermodul406 wie in4 dargestellt die Operationsbefehle basierend auf durch das Wahrnehmungsmodul402 generierter Obj ektinformation. - Wie in Block
1610 gezeigt, empfängt der Prozessor (z. B. der Prozessor146 wie in1 gezeigt) Sensordaten, wobei die Sensordaten Standorte und Geschwindigkeiten detektierter Objekte beinhalten. In einer Ausführungsform erheben Sensoren121 ,122 und123 verschiedene Daten zur Umgebung des Fahrzeugs. Die erhobenen Sensordaten werden durch den Prozessor empfangen. In einer Ausführungsform werden Sensordaten wie in4 dargestellt in der Datenbank410 gespeichert und durch das Wahrnehmungsmodul402 verarbeitet. Das Planungsmodul404 empfängt die verarbeiteten Sensordaten. Das Wahrnehmungsmodul402 verarbeitet die Sensordaten, um verschiedene Objekte in der Umgebung des Fahrzeugs zu kennzeichnen, wie oben unter Bezugnahme auf4 erörtert. - Wie in Block
1615 gezeigt, bestimmt der Prozessor (z. B. der Prozessor146 wie in1 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 Prozessor146 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 Prozessor146 wie in1 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 Planungsmodul404 und/oder das Steuermodul406 wie in4 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 Prozessor146 wie in1 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 Darstellung1700 mehrere mögliche Trajektorien für ein Fahrzeug, um von einem Startpunkt zu einem Ziel zu fahren. Eine Trajektorie1705 wurde für die Fahrt von dem Startpunkt zu dem Endpunkt (z. B. durch den Prozessor146 wie in1 gezeigt) ausgewählt. Wenn der Prozess1600 mit Block1615 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 Segment1710 als das Segment, das aktualisiert werden muss. Eine Darstellung1720 zeigt eine aktualisierte Trajektorie des Fahrzeugs, für die der Prozessor basierend auf dem Prozess1600 Operationsbefehle für die Trajektorie aktualisiert ist, sodass das Segment1710 nicht durchfahren wird, sondern stattdessen die Segmente1725 und1730 . 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 Planungsmodul404 und/oder das Steuermodul406 wie in4 dargestellt die Berechnungen und Aktualisierungen der Operationsbefehle durch. Wie in Block1625 gezeigt, führt der Prozessor (z. B. der Prozessor146 wie in1 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 in1 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 in1 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 Planungsmodul404 und/oder das Steuermodul406 wie in4 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 in1 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 Prozessor146 wie in1 gezeigt), dass sich das Fahrzeug zu dem bestimmten Zeitpunkt nahe zu dem Objekt befinden wird. In einer anderen Ausführungsform führt das Planungsmodul404 und/oder das Steuermodul406 wie in4 dargestellt diese Aktionen durch. - In einer Ausführungsform unterlässt es der Prozessor (z. B. der Prozessor
146 wie in1 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 in1 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 in1 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 Speicher144 und/oder Speicher142 (wie in1 gezeigt) zu und ruft die aktuell gespeicherten Operationsbefehle aus der Datenstruktur ab. In einem anderen Beispiel befindet sich die Datenstruktur in der Datenbank410 wie in4 dargestellt und das Planungsmodul404 und/oder das Steuermodul406 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 in1 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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)
- 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.
- 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. - Computerimplementiertes Verfahren nach
Anspruch 1 oderAnspruch 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. - 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. - Computerimplementiertes Verfahren nach
Anspruch 1 oderAnspruch 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. - 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. - Computerimplementiertes Verfahren nach
Anspruch 5 oderAnspruch 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. - 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.
- 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. - Nichtflüchtiges computerlesbares Speichermedium nach
Anspruch 8 oderAnspruch 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. - 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. - Nichtflüchtiges computerlesbares Speichermedium nach
Anspruch 8 oderAnspruch 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. - 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. - Nichtflüchtiges computerlesbares Speichermedium nach
Anspruch 12 oderAnspruch 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. - 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.
- 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. - Fahrzeug nach
Anspruch 15 oderAnspruch 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. - 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. - Fahrzeug nach
Anspruch 15 oderAnspruch 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. - 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.
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)
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)
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 | Ниссан Норт Америка, Инк. | Планирование траектории |
-
2020
- 2020-05-04 GB GB2006522.3A patent/GB2587836B/en active Active
- 2020-05-04 GB GBGB2114202.1A patent/GB202114202D0/en not_active Ceased
- 2020-05-04 GB GB2113839.1A patent/GB2600552B/en active Active
- 2020-05-04 GB GBGB2215836.4A patent/GB202215836D0/en not_active Ceased
- 2020-05-04 DE DE102020111938.0A patent/DE102020111938A1/de active Pending
- 2020-05-04 US US16/865,485 patent/US11772638B2/en active Active
- 2020-05-04 KR KR1020200053283A patent/KR20200129045A/ko not_active Application Discontinuation
- 2020-05-07 CN CN202010378992.7A patent/CN111915917B/zh active Active
-
2023
- 2023-09-29 US US18/375,325 patent/US20240025396A1/en active Pending
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 |