DE102020129456A1 - Trajektorienvorhersage aus einer vorberechneten oder dynamisch generierten bank von trajektorien - Google Patents

Trajektorienvorhersage aus einer vorberechneten oder dynamisch generierten bank von trajektorien Download PDF

Info

Publication number
DE102020129456A1
DE102020129456A1 DE102020129456.5A DE102020129456A DE102020129456A1 DE 102020129456 A1 DE102020129456 A1 DE 102020129456A1 DE 102020129456 A DE102020129456 A DE 102020129456A DE 102020129456 A1 DE102020129456 A1 DE 102020129456A1
Authority
DE
Germany
Prior art keywords
data
trajectory
training
past
objects
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102020129456.5A
Other languages
English (en)
Inventor
Tung Minh Phan
Eric Wolff
Emilio Frazzoli
Elena Corina Grigore
Freddy Boulton
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motional AD LLC
Original Assignee
Motional AD LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motional AD LLC filed Critical Motional AD LLC
Publication of DE102020129456A1 publication Critical patent/DE102020129456A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/095Predicting travel path or likelihood of collision
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/095Predicting travel path or likelihood of collision
    • B60W30/0956Predicting travel path or likelihood of collision the prediction being responsive to traffic or environmental parameters
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0027Planning or execution of driving tasks using trajectory prediction for other traffic participants
    • B60W60/00276Planning or execution of driving tasks using trajectory prediction for other traffic participants for two or more other traffic participants
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0234Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons
    • G05D1/0236Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons in combination with a laser
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • G01S17/931Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/10Path keeping
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • B60W40/04Traffic conditions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/0097Predicting future conditions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0011Planning or execution of driving tasks involving control alternatives for a single driving scenario, e.g. planning several paths to avoid obstacles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0027Planning or execution of driving tasks using trajectory prediction for other traffic participants
    • B60W60/00274Planning or execution of driving tasks using trajectory prediction for other traffic participants considering possible movement changes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/86Combinations of radar systems with non-radar systems, e.g. sonar, direction finder
    • G01S13/867Combination of radar systems with cameras
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • G01S13/89Radar or analogous systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • G01S13/93Radar or analogous systems specially adapted for specific applications for anti-collision purposes
    • G01S13/931Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/481Constructional features, e.g. arrangements of optical elements
    • G01S7/4814Constructional features, e.g. arrangements of optical elements of transmitters alone
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • G05B13/027Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0223Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • G05D1/024Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0242Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using non-visible light signals, e.g. IR or UV signals
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0251Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0255Control of position or course in two dimensions specially adapted to land vehicles using acoustic signals, e.g. ultra-sonic singals
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0257Control of position or course in two dimensions specially adapted to land vehicles using a radar
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0259Control of position or course in two dimensions specially adapted to land vehicles using magnetic or electromagnetic means
    • G05D1/0263Control of position or course in two dimensions specially adapted to land vehicles using magnetic or electromagnetic means using magnetic strips
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/0278Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using satellite positioning signals, e.g. GPS
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/028Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using a RF signal
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/0285Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using signals transmitted via a public communication network, e.g. GSM network
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/20Control system inputs
    • G05D1/22Command input arrangements
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/60Intended control result
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/277Analysis of motion involving stochastic approaches, e.g. using Kalman filters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0967Systems involving transmission of highway information, e.g. weather, speed limits
    • G08G1/096708Systems involving transmission of highway information, e.g. weather, speed limits where the received information might be used to generate an automatic action on the vehicle control
    • G08G1/096725Systems involving transmission of highway information, e.g. weather, speed limits where the received information might be used to generate an automatic action on the vehicle control where the received information generates an automatic action on the vehicle control
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0968Systems involving transmission of navigation instructions to the vehicle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0019Control system elements or transfer functions
    • B60W2050/0022Gains, weighting coefficients or weighting functions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo, light or radio wave sensitive means, e.g. infrared sensors
    • B60W2420/403Image sensing, e.g. optical camera
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2554/00Input parameters relating to objects
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2554/00Input parameters relating to objects
    • B60W2554/40Dynamic objects, e.g. animals, windblown objects
    • B60W2554/404Characteristics
    • B60W2554/4044Direction of movement, e.g. backwards
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2554/00Input parameters relating to objects
    • B60W2554/40Dynamic objects, e.g. animals, windblown objects
    • B60W2554/404Characteristics
    • B60W2554/4049Relationship among other objects, e.g. converging dynamic objects
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2555/00Input parameters relating to exterior conditions, not covered by groups B60W2552/00, B60W2554/00
    • B60W2555/60Traffic rules, e.g. speed limits or right of way
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2556/00Input parameters relating to data
    • B60W2556/10Historical data
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2754/00Output or target parameters relating to objects
    • B60W2754/10Spatial relation or speed relative to objects
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/66Radar-tracking systems; Analogous systems
    • G01S13/72Radar-tracking systems; Analogous systems for two-dimensional tracking, e.g. combination of angle and range tracking, track-while-scan radar
    • G01S13/723Radar-tracking systems; Analogous systems for two-dimensional tracking, e.g. combination of angle and range tracking, track-while-scan radar by using numerical data
    • G01S13/726Multiple target tracking
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/86Combinations of radar systems with non-radar systems, e.g. sonar, direction finder
    • G01S13/865Combination of radar systems with lidar systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Electromagnetism (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Optics & Photonics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Algebra (AREA)
  • Operations Research (AREA)
  • Probability & Statistics with Applications (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)

Abstract

Unter anderem werden Techniken beschrieben zum Vorhersagen, wie ein Agent (z. B. ein Fahrzeug, Fahrrad, Fußgänger usw.) sich in einer Umgebung bewegen wird, basierend auf einer vorherigen Bewegung, dem Straßennetz, den umgebenden Objekten und/oder anderen relevanten Umgebungsfaktoren. Eine Trajektorienvorhersagetechnik beinhaltet das Generieren einer Wahrscheinlichkeitskarte für eine Bewegung eines Agenten. Eine andere Trajektorienvorhersagetechnik beinhaltet das Generieren eines Trajektoriengitters für eine Bewegung eines Agenten. Außerdem beinhaltet eine andere Trajektorienvorhersagetechnik multimodale Regression, wobei ein Klassifikator (z. B. ein neuronales Netz) trainiert wird, um die Wahrscheinlichkeit aus einer Anzahl von (erlernten) Modi zu klassifizieren, sodass jedes Modell eine Trajektorie basierend auf der aktuellen Eingabe erzeugt.

Description

  • QUERVERWEIS ZU EINER VERWANDTEN ANMELDUNG
  • Diese Anmeldung beansprucht die Priorität der provisorischen U.S.-Anmeldung Nr. 62/932,164 , eingereicht am 7. November 2019, und der U.S.-Anmeldung Nr. 16/883,899 , eingereicht am 26. Mai 2020, die hier vollständig durch Bezugnahme aufgenommen sind.
  • GEBIET DER ERFINDUNG
  • Diese Beschreibung betrifft eine Trajektorienvorhersage aus einer vorberechneten oder dynamisch generierten Bank von Trajektorien.
  • STAND DER TECHNIK
  • Autonome Fahrzeuge weisen gegenüber von menschlichen Fahrern gefahrenen Fahrzeugen Vorteile auf, z. B. beim Reduzieren von Todesfällen im Straßenverkehr, von Verkehrsstaus, von Parkplatzüberfüllung und bei der Kraftstoffeffizienz. Beim Treffen von Fahrentscheidungen berücksichtigen typische autonome Fahrzeugsysteme Objekte - wie etwa andere Fahrzeuge und Hindernisse - des umgebenden Umfelds, von denen das autonome Fahrzeugsystem weiß, dass sie sich in der Umgebung des Fahrzeugs befinden, durch Verwenden von Sensordaten. Autonome Fahrzeuge können einen Nutzen aus dem Vorhersagen ziehen, wie sich andere Objekte in der Umgebung (z. B. andere Fahrzeuge, Fahrräder, Fußgänger usw.) bewegen, um die Trajektorienplanung zu verbessern.
  • Figurenliste
    • 1 zeigt ein Beispiel für ein autonomes Fahrzeug, das eine Autonomiefähigkeit aufweist.
    • 2 zeigt eine beispielhafte „Cloud“-Computing-Umgebung.
    • 3 stellt ein Computersystem dar.
    • 4 zeigt eine beispielhafte Architektur für ein autonomes Fahrzeug.
    • 5 zeigt ein Beispiel für Eingaben und Ausgaben, die von einem Wahrnehmungsmodul verwendet werden können.
    • 6 zeigt ein Beispiel für ein LiDAR-System.
    • 7 zeigt das LiDAR-System in Betrieb.
    • 8 zeigt den Betrieb des LiDAR-Systems in größerer Ausführlichkeit.
    • 9 zeigt ein Blockschaltbild der Beziehungen zwischen Eingaben und Ausgaben eines Planungsmoduls.
    • 10 zeigt einen gerichteten Graphen, der bei der Wegplanung verwendet wird.
    • 11 zeigt ein Blockschaltbild der Eingaben und der Ausgaben eines Steuermoduls.
    • 12 zeigt ein Blockschaltbild der Eingaben, Ausgaben und Komponenten einer Steuerung.
    • 13 zeigt ein Beispiel für ein Bild, das als Ortsdaten und Trajektoriendaten aus der Vergangenheit empfangen werden kann.
    • 14 ist ein Blockschaltbild von Aktionen, die ein System durchführen kann, um eine oder mehrere Trajektorien eines Objekts unter Verwenden einer Wahrscheinlichkeitskarte vorherzusagen.
    • 15 ist ein Beispiel für einen Abschnitt einer Datenstruktur für eine Wahrscheinlichkeitskarte für einen Agenten.
    • 16 ist ein Blockschaltbild von Aktionen, die ein System durchführen kann, um eine oder mehrere Trajektorien eines Agenten unter Verwenden eines Trajektoriengitters vorherzusagen.
    • 17 stellt verschiedene Trajektoriengitter mit verschiedenen Trajektorien dar.
    • 18 stellt mehrere vorhergesagte Trajektorien und die gefahrene Trajektorie des Agenten dar.
    • 19 ist ein Blockschaltbild von Aktionen, die ein System durchführen kann, um ein Modell für multimodale Trajektorienvorhersagen zu trainieren.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In der folgenden Beschreibung werden zu Erläuterungszwecken zahlreiche spezifische Einzelheiten dargelegt, um ein tiefgreifendes Verständnis der vorliegenden Erfindung bereitzustellen. Es wird jedoch ersichtlich, dass die vorliegende Erfindung ohne diese spezifischen Einzelheiten praktiziert werden kann. In anderen Varianten werden bekannte Strukturen und Vorrichtungen in der Form von Blockschaltbildern gezeigt, um ein unnötiges Verschleiern der vorliegenden Erfindung zu vermeiden.
  • In den Zeichnungen sind der leichteren Beschreibung halber spezifische Anordnungen oder Sortierungen von schematischen Elementen gezeigt, wie etwa jenen, die Vorrichtungen, Module, Anweisungsblöcke und Datenelemente darstellen. Für Fachleute versteht sich jedoch, dass die spezifische Sortierung oder Anordnung der schematischen Elemente in den Zeichnungen nicht bedeutet, dass eine konkrete Reihenfolge oder Sequenz der Verarbeitung oder eine Trennung von Prozessen erforderlich ist. Ferner soll die Einbeziehung eines schematischen Elements in eine Zeichnung nicht bedeuten, dass dieses Element bei allen Ausführungsformen erforderlich ist oder dass die von diesem Element dargestellten Merkmale bei einigen Ausführungsformen nicht in anderen Elementen beinhaltet oder damit kombiniert sein können.
  • Wenn ferner in den Zeichnungen verbindende Elemente, wie etwa durchgehende oder gestrichelte Linien oder Pfeile verwendet werden, um eine Verbindung, Beziehung oder Verknüpfung zwischen oder unter zwei oder mehreren anderen schematischen Elementen darzustellen, bedeutet die Abwesenheit eines jeden solcher verbindenden Elemente nicht, dass keine Verbindung, Beziehung oder Verknüpfung vorhanden sein kann. Mit anderen Worten, einige Verbindungen, Beziehungen oder Verknüpfungen zwischen Elementen sind in den Zeichnungen nicht gezeigt, um die Offenbarung nicht zu verschleiern. Außerdem wird der Einfachheit der Darstellung halber ein einziges verbindendes Element verwendet, um mehrfache Verbindungen, Beziehungen oder Verknüpfungen zwischen Elementen darzustellen. Wenn beispielsweise ein verbindendes Element eine Kommunikation von Signalen, Daten oder Anweisungen darstellt, versteht es sich für Fachleute, dass dieses Element je nach Bedarf einen oder mehrere Signalwege (z. B. einen Bus) darstellt, um die Kommunikation zu bewerkstelligen.
  • Nun wird ausführlich auf Ausführungsformen Bezug genommen, von denen Beispiele in den begleitenden Zeichnungen dargestellt sind. In der folgenden ausführlichen Beschreibung sind zahlreiche spezifische Einzelheiten dargelegt, um ein tiefgreifendes Verständnis der verschiedenen beschriebenen Ausführungsformen bereitzustellen. Für einen Durchschnittsfachmann wird jedoch ersichtlich, dass die verschiedenen beschriebenen Ausführungsformen ohne diese spezifischen Einzelheiten praktiziert werden können. In anderen Varianten sind bekannte Verfahren, Verfahrensweisen, Komponenten, Schaltkreise und Netzwerke nicht ausführlich beschrieben worden, um Aspekte der Ausführungsformen nicht unnötig zu verschleiern.
  • Im Folgenden werden einige Merkmale beschrieben, die jeweils unabhängig voneinander oder in jeder Kombination mit anderen Merkmalen verwendet werden können. Jedoch kann ein beliebiges einzelnes Merkmal nicht jedes der vorstehend erörterten Aufgaben ansprechen oder könnte nur eine der vorstehend erörterten Aufgaben ansprechen. Einige der vorstehend erörterten Aufgaben könnten von keinem der hier beschriebenen Merkmale vollständig angesprochen werden. Obwohl Überschriften bereitgestellt sind, können Informationen, die eine bestimmte Überschrift betreffen, aber nicht in dem Absatz zu finden sind, der diese Überschrift aufweist, auch an anderer Stelle in dieser Beschreibung zu finden sein. Ausführungsformen werden hier gemäß der folgenden Übersicht beschrieben:
    1. 1. Allgemeiner Überblick
    2. 2. Systemüberblick
    3. 3. Architektur von autonomen Fahrzeugen
    4. 4. Eingaben in autonome Fahrzeuge
    5. 5. Planung bei autonomen Fahrzeugen
    6. 6. Steuerung autonomer Fahrzeuge
    7. 7. Trajektorienvorhersage aus einer vorberechneten oder dynamisch generierten Wahrscheinlichkeitskarte
    8. 8. Trajektorienvorhersage aus einem Gitter von Trajektorien
    9. 9. Multimodale Trajektorienvorhersage
  • Allgemeiner Überblick
  • Diese Schrift beschreibt unterschiedliche Techniken zum Vorhersagen, wie sich ein Agent (z. B. ein Fahrzeug, Fahrrad, Fußgänger usw.) in einer Umgebung bewegen wird, basierend auf der Bewegung der ihn umgebenden Objekte. Eine Technik beinhaltet Generieren einer Wahrscheinlichkeitskarte. Das System empfängt Ortsdaten und Trajektoriendaten aus der Vergangenheit für Objekte innerhalb einer bestimmten Entfernung zu dem Agenten. Diese Objekte könnten von diesem Agenten detektiert worden sein (wenn der Agent z. B. ein Fahrzeug ist, könnten die Objekte von den Sensoren des Fahrzeugs detektiert worden sein). Das System bestimmt einen Satz von Merkmalen aus diesen Objekten und kombiniert die Merkmale in dem Satz mit Bewegungsdaten des Agenten (z. B. Geschwindigkeit, Beschleunigung, Gierrate usw.). Das System generiert dann (z. B. unter Verwenden eines neuronalen Netzes) eine Wahrscheinlichkeitskarte aus dem verketteten Datensatz. Die Wahrscheinlichkeitskarte beinhaltet mehrere physikalische Orte (z. B. Quadrate mit einer Auflösung von einem Meter), sodass jedem physikalischen Ort eine Wahrscheinlichkeit, dass der Agenten diesen physikalischen Ort durchquert, zugewiesen wird. Basierend auf der Wahrscheinlichkeitskarte generiert das System eine oder mehrere vorhergesagte Trajektorien für den Agenten. Das Vorhersagesystem kann ein neuronales Netz verwenden, das vor Verwendung trainiert wird. Während des Trainings kann die Eingabe die Trajektorie beinhalten, die der Agent gefahren ist. Obwohl diese Technik beschrieben wird als dass sie eine Trajektorienvorhersage für einen einzigen Agenten vornimmt, ist das System in der Lage, Trajektorien für mehrere oder alle Agenten in einem konkreten Eingabesatz (z. B. einem Satz von Ortsdaten und Trajektoriendaten aus der Vergangenheit) vorherzusagen.
  • Eine andere Technik beinhaltet Generieren eines Trajektoriengitters. Das System empfängt Ortsdaten und Trajektoriendaten aus der Vergangenheit für Objekte innerhalb einer bestimmten Entfernung zu dem Agenten, bestimmt einen Satz von Merkmalen aus diesen Objekten und kombiniert die Merkmale in dem Satz mit den Bewegungsdaten eines Agenten (z. B. Geschwindigkeit, Beschleunigung, Gierrate usw.). Bei einer Ausführungsform können die Trajektoriendaten aus der Vergangenheit Kartendaten aus der Vergangenheit beinhalten, einschließlich Verkehrszeichendaten, Fahrtrichtungsanzeigerdaten, Schätzungen der Aufmerksamkeit, Angaben der Bremsleuchten, Agentenarten und andere geeignete Trajektoriendaten aus der Vergangenheit. Das System generiert dann (z. B. unter Verwenden eines neuronalen Netzes) ein Trajektoriengitter aus dem verketteten Datensatz. Das Trajektoriengitter beinhaltet mehrere mögliche Trajektorien für den Agenten und entsprechende Wahrscheinlichkeiten. Basierend auf dem Trajektoriengitter generiert das System eine oder mehrere vorhergesagte Trajektorien für den Agenten. Obwohl diese Technik beschrieben wird als dass sie eine Trajektorienvorhersage für einen einzigen Agenten vornimmt, ist das System in der Lage, Trajektorien für mehrere oder alle Agenten in einem konkreten Eingabesatz (z. B. einem Satz von Ortsdaten und Trajektoriendaten aus der Vergangenheit) vorherzusagen.
  • Eine andere Technik beinhaltet Trainieren eines Klassifikators (z. B. eines neuronalen Netzes) für ein multimodales Vorhersageverfahren. Das System empfängt Ortsdaten und Trajektoriendaten aus der Vergangenheit für Objekte innerhalb einer bestimmten Entfernung zu dem Agenten, bestimmt einen Satz von Merkmalen aus diesen Objekten und kombiniert diese Merkmale mit Bewegungsdaten eines Agenten (z. B. Geschwindigkeit, Beschleunigung, Gierrate usw.), wie bei den vorstehenden beiden Techniken. Jedoch handelt es sich in dieser Variante bei den empfangenen Daten um Trainingsdaten, die auch die Trajektorie beinhalten, die der Agent tatsächlich gefahren ist, die manchmal als Feldvergleich (engl. „ground truth“) bezeichnet wird. Das System generiert dann (z. B. unter Verwenden eines neuronalen Netzes) mehrere vorhergesagte Trajektorien, wobei jede Trajektorie eine entsprechende Wahrscheinlichkeit aufweist, und berechnet einen Winkel zwischen jeder vorhergesagten Trajektorie und einer Trajektorie, die der Agent gefahren ist. Das Vorhersagesystem nimmt eine Bestimmung vor, ob einer der Winkel innerhalb eines Grenzwerts (z. B. eines Grenzwinkels) liegt. Basierend auf Bestimmen, dass keiner der Winkel innerhalb des Grenzwerts liegt, wählt das System unter Verwenden einer Funktion eine beste Trajektorie aus (manchmal als beste Ausführungsform bezeichnet). Bei einer Ausführungsform kann das System an Stelle des Verwendens von Winkeln in dieser Berechnung eine andere Metrik verwenden.
    Somit kann das System unter Verwenden einer Metrik einen Wert zwischen jeder vorhergesagten Trajektorie und einer Trajektorie, die der Agent gefahren ist, berechnen, um zu bestimmen, ob jeder Wert innerhalb eines Grenzwerts liegt. Die Funktion kann beispielsweise veranlassen, dass eine zufällige Trajektorie ausgewählt wird (z. B. unter Verwenden eines Zufallszahlengenerators). Bei einer Ausführungsform kann eine Funktion ein oder mehrere Muster (z. B. Mustertrajektorien) zum Auswählen der besten Trajektorie verwenden. Die Muster können basierend auf einem aktuellen Zustand des Agenten (z. B. Geschwindigkeit, Beschleunigung, Gierrate oder einer anderen geeigneten Zustandskomponente) statisch oder dynamisch generiert werden. Das System errechnet einen Unterschied zwischen der besten Trajektorie und der Trajektorie des Agenten (z. B. unter Verwenden einer multimodalen Fehlerfunktion) und passt Gewichtungen eines Modells basierend auf dem Unterschied an (z. B. durch Minimieren des Fehlers über die Trainingsdaten). Dieser Prozess kann für einen Trainingssatz (z. B. Tausende von Varianten von Ortsdaten und Trajektoriendaten aus der Vergangenheit) wiederholt werden, um ein Modell (z. B. ein neuronales Netz) zu entwickeln, um mehrere Trajektorien für einen Agenten vorherzusagen.
    Obwohl diese Technik beschrieben wird als dass sie eine Trajektorienvorhersage für einen einzigen Agenten vornimmt, ist das System in der Lage, Trajektorien für mehrere oder alle Agenten in einem konkreten Eingabesatz (z. B. einem Satz von Ortsdaten und Trajektoriendaten aus der Vergangenheit) vorherzusagen.
  • Einige der Vorteile dieser Techniken beinhalten die Fähigkeit, eine Bewegung eines Agenten (z. B. eines Fahrzeugs, eines Fahrrads oder eines Fußgängers) vorherzusagen und basierend auf dieser Bewegung eine Bewegungsplanung durchzuführen. Somit ermöglichen diese Techniken bei autonomen Fahrzeugen eine sicherere und effizientere Navigation.
  • Systemüberblick
  • 1 zeigt ein Beispiel für ein autonomes Fahrzeug 100, das Autonomiefähigkeit aufweist.
  • Wie hier verwendet, bezieht sich der Begriff „Autonomiefähigkeit“ auf eine Funktion, ein Merkmal oder eine Einrichtung, die es einem Fahrzeug ermöglicht, teilweise oder vollständig ohne menschliches Eingreifen in Echtzeit betrieben zu werden, was uneingeschränkt vollautonome Fahrzeuge, hochautonome Fahrzeuge und bedingt autonome Fahrzeuge beinhaltet.
  • Wie hier verwendet, handelt es sich bei einem autonomen Fahrzeug (AV) um ein Fahrzeug, das Autonomiefähigkeit besitzt.
  • Wie hier verwendet, beinhaltet „Fahrzeug“ Transportmittel für Güter oder Menschen, beispielsweise Autos, Busse, Züge, Flugzeuge, Drohnen, Lastkraftwagen, Boote, Schiffe, Unterseeboote, Luftschiffe usw. Ein fahrerloses Auto ist ein Beispiel für ein Fahrzeug.
  • Wie hier verwendet, bezieht sich „Trajektorie“ auf einen Weg oder eine Strecke, um ein AV von einem ersten raumzeitlichen Ort zu einem zweiten raumzeitlichen Ort zu navigieren. Bei einer Ausführungsform wird der erste raumzeitliche Ort als Anfangs- oder Startort bezeichnet und der zweite raumzeitliche Ort wird als Reiseziel, endgültiger Ort, Ziel, Zielposition oder Zielort bezeichnet. In einigen Beispielen ist eine Trajektorie aus einem oder mehreren Segmenten (z. B. Straßenabschnitten) aufgebaut und jedes Segment ist aus einem oder mehreren Blöcken (z. B. Abschnitten einer Fahrspur oder einer Kreuzung) aufgebaut. Bei einer Ausführungsform entsprechen die raumzeitlichen Orte Orten in der Realität. Die raumzeitlichen Orte sind beispielsweise Aufnahme- oder Absetzorte zum Aufnehmen oder Absetzen von Personen oder Gütern.
  • Wie hier verwendet, beinhaltet „Sensor(en)“ eine oder mehrere Hardware-Komponenten, die Informationen über die Umgebung, die den Sensor umgibt, detektieren. Einige der Hardware-Komponenten können erfassende Komponenten (z. B. Bildsensoren, biometrische Sensoren), übertragende und/oder empfangende Komponenten (z. B. Übertragungs- und Empfangseinrichtungen für Laser- oder Radiowellen), elektronische Komponenten, wie etwa Analog-Digital-Wandler, eine Datenspeichervorrichtung (wie etwa einen RAM und/oder einen nichtflüchtigen Speicher), Software- oder Firmwarekomponenten und Datenverarbeitungskomponenten, wie etwa einen ASIC (application-specific integrated circuit - anwendungsspezifischer integrierter Schaltkreis), einen Mikroprozessor und/oder eine Mikrocontroller beinhalten.
  • Wie hier verwendet, handelt es sich bei einer „Szenenbeschreibung“ um eine Datenstruktur (z. B. eine Liste) oder einen Datenstrom, der ein oder mehrere klassifizierte oder gekennzeichnete Objekte beinhaltet, die von einem oder mehreren Sensoren an dem AV-Fahrzeug detektiert wurden oder von einer zu dem AV externen Quelle bereitgestellt wurden.
  • Wie hier verwendet, ist eine „Straße“ ein physikalisches Gebiet, das von einem Fahrzeug durchfahren werden kann und einer benannten Verkehrsader (z. B. einer städtischen Straße, einer Bundesautobahn usw.) entsprechen kann oder einer unbenannten Verkehrsader (z. B. einer Auffahrt zu einem Haus oder Bürogebäude, einem Abschnitt eines Parkplatzes, einem Abschnitt eines unbebauten Grundstücks, einem unbefestigten Weg in einem ländlichen Gebiet usw.) entsprechen kann. Da einige Fahrzeuge (z. B. Kleintransporter mit Vierradantrieb, Geländewagen usw.) in der Lage sind, eine Vielfalt von physikalischen Gebieten zu durchfahren, die nicht spezifisch für eine Befahrung durch Fahrzeuge angepasst sind, kann eine „Straße“ ein physikalisches Gebiet sein, das nicht formal von einer Stadtverwaltung oder einem anderen Regierungs- oder Verwaltungsorgan als Verkehrsader definiert ist.
  • Wie hier verwendet, ist eine „Fahrspur“ ein Abschnitt einer Straße, der von einem Fahrzeug durchfahren werden kann. Eine Fahrspur wird manchmal basierend auf Fahrspurmarkierungen identifiziert. Eine Fahrspur kann beispielsweise dem größten Teil oder dem gesamten Raum zwischen Fahrspurmarkierungen entsprechen oder sie kann nur einem Teil (z. B. weniger als 50 %) des Raums zwischen Fahrspurmarkierungen entsprechen. Beispielsweise kann eine Straße, die weit voneinander beabstandete Fahrspurmarkierungen aufweist, zwei oder mehr Fahrzeuge zwischen den Markierungen unterbringen, sodass ein Fahrzeug das andere überholen kann, ohne die Fahrspurmarkierungen zu überqueren, und könnte somit interpretiert werden als dass sie eine Fahrspur aufweist, die schmaler ist als der Raum zwischen den Fahrspurmarkierungen, oder als dass sie zwei Fahrspuren zwischen den Fahrspurmarkierungen aufweist. Eine Fahrspur könnte auch als die Abwesenheit von Fahrspurmarkierungen interpretiert werden. Eine Fahrspur kann beispielsweise basierend auf physikalischen Merkmalen einer Umgebung definiert werden, z. B. Felsen und Bäumen entlang einer Verkehrsader in einem ländlichen Gebiet oder z. B. auf natürlichen Hindernissen, die in einem nicht entwickelten Gebiet zu vermeiden sind. Eine Fahrspur könnte auch unabhängig von Fahrspurmarkierungen oder physikalischen Merkmalen interpretiert werden. Eine Fahrspur könnte beispielsweise basierend auf einem beliebigen Weg, der frei von Hindernissen ist, in einem Gebiet interpretiert werden, dem anderweitig Merkmale fehlen, die als Fahrspurbegrenzungen interpretiert würden. In einem beispielhaften Szenario könnte ein AV eine Fahrspur durch einen hindernisfreien Abschnitt eines Feldes oder eines unbebauten Grundstücks interpretieren. In einem anderen beispielhaften Szenario könnte ein AV eine Fahrspur durch eine breite (z. B. breit genug für zwei oder mehrere Fahrspuren) Straße, die keine Fahrspurmarkierungen aufweist, interpretieren. In diesem Szenario könnte das AV Informationen über die Fahrspur an andere AVs kommunizieren, sodass die anderen AVs die gleichen Fahrspurinformationen zum Koordinieren der Wegeplanung untereinander verwenden können.
  • Der Begriff „OTA(over the air - Funkschnittstellen)-Client“ beinhaltet jedes AV oder jede elektronische Vorrichtung (z. B. Computer, Steuerung, IoT(Internet of things - Internet der Dinge)-Vorrichtung, elektronische Steuereinheit (electronic control unit - ECU)), die in ein AV eingebettet ist, damit gekoppelt oder damit in Kommunikation steht.
  • Der Begriff „OTA(over the air - Funkschnittstellen)-Aktualisierung“ bedeutet jede Aktualisierung, Änderung, Löschung oder Hinzufügung zu Software, Firmware, Daten- oder Konfigurationseinstellungen oder jeder Kombination davon, die einem OTA-Clienten unter Verwenden von eigener und/oder standardisierter drahtloser Kommunikationstechnologie, beinhaltend, unter anderem: zelluläre mobile Kommunikation (z. B. 2G, 3G, 4G, 5G), drahtlose Funknetzwerke (z. B. WiFi) und/oder Satelliteninternet, zugeführt wird.
  • Der Begriff „Randknoten“ bedeutet eine oder mehr Randvorrichtungen, die mit einem Netzwerk gekoppelt sind, die ein Portal zur Kommunikation mit AVs bereitstellen und mit anderen Randknoten und einer Cloud-basierten Computing-Plattform kommunizieren können, um OTA-Aktualisierungen zu planen und an OTA-Clienten zu liefern.
  • Der Begriff „Randvorrichtung“ bedeutet eine Vorrichtung, die einen Randknoten implementiert und einen physikalischen drahtlosen Zugangspunkt (access point - AP) in Kernnetzwerken von Unternehmen oder Dienstleistern (z. B. VERIZON, AT&T) bereitstellt. Beispiele für Randvorrichtungen beinhalten unter anderem: Computer, Steuerungen, Übertrager, Router, Routing-Switches, integrierte Zugangsvorrichtungen (integrated access devices - IADs), Multiplexer, regionale Netzwerk(metropolitan area network - MAN)- und Weitverkehrsnetz(wide area network -WAN)-Zugangsvorrichtungen.
  • „Ein oder mehr“ beinhaltet eine Funktion, die von einem Element durchgeführt wird, eine Funktion, die von mehr als einem Element durchgeführt wird, z. B. auf eine verteilte Weise, mehrere Funktionen, die von einem Element durchgeführt werden, mehrere Funktionen, die von mehreren Elementen durchgeführt werden, oder jede Kombination des Vorstehenden.
  • Es versteht sich auch, dass, obwohl die Begriffe erster, zweiter usw. in einigen Varianten hier verwendet werden, um verschiedene Elemente zu beschreiben, diese Elemente nicht durch diese Begriffe beschränkt werden sollten. Diese Begriffe werden nur verwendet, um ein Element von einem anderen zu unterscheiden. Beispielsweise könnte ein erster Kontakt als zweiter Kontakt bezeichnet werden und, ähnlich dazu, könnte ein zweiter Kontakt als erster Kontakt bezeichnet werden, ohne vom Umfang der verschiedenen beschriebenen Ausführungsformen abzuweichen. Der erste Kontakt und der zweite Kontakt sind beide Kontakte, sie sind jedoch nicht derselbe Kontakt.
  • Die hier in der Beschreibung der verschiedenen beschriebenen Ausführungsformen verwendete Terminologie dient nur dem Zweck des Beschreibens von spezifischen Ausführungsformen und ist nicht beabsichtigt, einschränkend zu sein. Wie in der Beschreibung der verschiedenen beschriebenen Ausführungsformen und den angehängten Ansprüchen verwendet, ist beabsichtigt, dass die Singularformen „ein“, „eine“ und „der/die/das“ auch die Pluralformen beinhalten, sofern der Zusammenhang nicht eindeutig etwas anderes angibt. Es versteht sich ebenfalls, dass der Begriff „und/oder“, wie hier verwendet, jegliche und alle möglichen Kombinationen von einem oder mehreren der diesbezüglichen aufgeführten Elemente betrifft und umfasst. Es versteht sich ferner, dass die Begriffe „beinhaltet“, „beinhaltend“, „umfasst“ und/oder „umfassend“, wenn sie in dieser Beschreibung verwendet werden, die Anwesenheit angegebener Merkmale, ganzer Zahlen, Schritte, Vorgänge, Elemente und/oder Komponenten angeben, aber nicht das Vorhandensein oder das Hinzufügen von einem oder mehreren anderen Merkmalen, ganzen Zahlen, Schritten, Vorgängen, Elementen, Komponenten und/oder Gruppen davon verschleiern.
  • Wie hier verwendet, ist der Begriff „wenn“ gegebenenfalls ausgelegt, Folgendes zu bedeuten: „sobald“ oder „worauf‟ oder „in Reaktion auf Bestimmen“ oder „in Reaktion auf Detektieren“, abhängig vom Zusammenhang. Ähnlich dazu ist der Ausdruck „wenn bestimmt wird“ oder „wenn [ein/e angegebene/s Bedingung oder Ereignis] detektiert wird“ gegebenenfalls ausgelegt zu bedeuten „bei Bestimmen“ oder „in Reaktion auf Bestimmen“ oder „bei Detektieren [der/des angegebenen Bedingung oder Ereignisses]“ oder „in Reaktion auf Detektieren [der/des angegebenen Bedingung oder Ereignisses]“ abhängig vom Zusammenhang.
  • Wie hier verwendet, betrifft ein AV-System das AV gemeinsam mit der Anordnung von Hardware, Software, gespeicherten Daten und in Echtzeit generierten Daten, die den Betrieb des AV unterstützen. Bei einer Ausführungsform ist das AV in das AV-System eingebunden. Bei einer Ausführungsform ist das AV-System über verschiedene Orte verteilt. Beispielsweise ist ein Teil der Software des AV-Systems auf einer Cloud-Computing-Umgebung ähnlich der Bezug nehmend auf 3 nachstehend beschriebenen Cloud-Computing-Umgebung 300 implementiert.
  • Im Allgemeinen beschreibt diese Schrift Technologien, die auf jegliche Fahrzeuge anwendbar sind, die eine oder mehrere Autonomiefähigkeiten aufweisen, einschließlich vollautonomen Fahrzeugen, hochautomatisierten Fahrzeugen und bedingt autonomen Fahrzeugen, wie etwa sogenannte Level-5-, Level-4- bzw. Level-3-Fahrzeuge (siehe für weitere Einzelheiten zur Klassifizierung von Autonomieebenen bei Fahrzeugen die Norm SAE J3016 von der SAE International: Klassifizierung und Definition von Begriffen für straßengebundene Kraftfahrzeuge mit Systemen zum automatisierten Fahren, die hier durch Bezugnahme vollständig aufgenommen ist). Die in dieser Schrift beschriebenen Technologien sind ebenfalls anwendbar auf teilweise autonome Fahrzeuge und Fahrzeuge mit Fahrerassistenz, wie etwa sogenannte Level-2- und Level-1-Fahrzeuge (siehe Norm SAE J3016 von der SAE International: Klassifizierung und Definition von Begriffen für straßengebundene Kraftfahrzeuge mit Systemen zum automatisierten Fahren). Bei einer Ausführungsform können ein oder mehrere der Level-1-, 2-, 3-, 4- und 5-Fahrzeugsysteme bestimmte Fahrzeugvorgänge (z. B. Lenken, Bremsen und Verwenden von Landkarten) unter bestimmten Betriebsbedingungen basierend auf dem Verarbeiten von Sensoreingaben automatisieren. Die in dieser Schrift beschriebenen Technologien können Fahrzeugen auf allen Ebenen (engl. „level“), die von vollautonomen Fahrzeugen bis zu von einem menschlichen Fahrer betriebenen Fahrzeugen reichen, nützlich sein.
  • Autonome Fahrzeuge weisen Vorteile gegenüber Fahrzeugen auf, die einen menschlichen Fahrer erfordern. Ein Vorteil besteht in der Sicherheit. Im Jahre 2016 beispielsweise kam es in den Vereinigten Staaten von Amerika zu 6 Millionen Verkehrsunfällen, 2,4 Millionen Verletzungen, 40.000 Todesfällen und 13 Millionen beschädigten Fahrzeugen mit geschätzten Kosten für die Gesellschaft von mehr als 910 Mrd. USD. Zwischen 1965 und 2015 wurden die Verkehrstoten in den USA auf 100 Millionen gefahrene Meilen von etwa sechs auf etwa einen gesenkt, teilweise aufgrund zusätzlicher, in Fahrzeugen eingesetzter Sicherheitsmaßnahmen. Beispielsweise ist davon auszugehen, dass eine zusätzliche halbe Sekunde der Vorwarnung, dass ein Aufprall bevorsteht, 60 % der Auffahrunfälle abmildert. Jedoch haben passive Sicherheitsmerkmale (z. B. Sitzgurte, Airbags) beim Erhöhen dieser Zahl wahrscheinlich ihre Grenze erreicht. Somit sind aktive Sicherheitsmaßnahmen, wie etwa eine automatisierte Steuerung eines Fahrzeugs, der wahrscheinlich nächste Schritt zum Verbessern dieser Statistik. Da angenommen wird, dass menschliche Fahrer in 95 % der Zusammenstöße für ein kritisches Ereignis vor dem Aufprall verantwortlich sind, ist wahrscheinlich, dass automatisierte Fahrsysteme besser als Menschen bessere Ergebnisse bezüglich der Sicherheit erreichen, z. B. durch zuverlässiges Erkennen und Vermeiden von kritischen Situationen; besser als Menschen bessere Entscheidungen treffen, besser als Menschen die Verkehrsregeln beachten und besser als Menschen zukünftige Ereignisse vorhersagen; und besser als ein Mensch ein Fahrzeug zuverlässig steuern.
  • Bezug nehmend auf 1 betreibt ein AV-System 120 das AV 100 entlang einer Trajektorie 198 durch eine Umgebung 190 zu einem Reiseziel 199 (manchmal als endgültiger Ort bezeichnet) während es Objekte (z. B. natürliche Hindernisse 191, Fahrzeuge 193, Fußgänger 192, Radfahrer und andere Hindernisse) vermeidet und Straßenverkehrsregeln beachtet (z. B. Betriebsvorschriften oder Fahrvorlieben).
  • Bei einer Ausführungsform beinhaltet das AV-System 120 Vorrichtungen 101, die instrumentiert sind zum Empfangen und Befolgen von Betriebsbefehlen von den Computerprozessoren 146. Hier wird der Begriff „Betriebsbefehl“ verwendet, um eine ausführbare Anweisung (oder einen Satz von Anweisungen) zu bezeichnen, die ein Fahrzeug veranlasst, eine Aktion durchzuführen (z. B. ein Fahrmanöver). Betriebsbefehle können uneingeschränkt folgende Anweisungen für ein Fahrzeug beinhalten: beginnen, sich vorwärts zu bewegen, aufhören, sich vorwärts zu bewegen, beginnen, sich rückwärts zu bewegen, aufhören, sich rückwärts zu bewegen, beschleunigen, verzögern, eine Linksabbiegung durchführen und eine Rechtsabbiegung durchführen. Bei einer Ausführungsform sind die Computerprozessoren 146 ähnlich dem nachstehend in Bezug auf 3 beschriebenen Prozessor 304. Beispiele für Vorrichtungen 101 beinhalten eine Lenksteuerung 102, Bremsen 103, Getriebe, ein Fahrpedal oder andere Beschleunigungssteuermechanismen, Frontscheibenwischer, Seitentürverriegelungen, Fensterheber und Fahrtrichtungsanzeiger.
  • Bei einer Ausführungsform beinhaltet das AV-System 120 Sensoren 121 zum Messen oder Ableiten von Zustands- oder Bedingungseigenschaften des AV 100, wie etwa der Position, der linearen und der Winkelgeschwindigkeit sowie der Beschleunigung des AV und des Kurses (z. B. einer Ausrichtung des vorderen Endes des AV 100). Beispiele für Sensoren 121 sind GPS, Inertiale Messeinheiten (inertial measurement units - IMU), die sowohl die linearen Beschleunigungen und Winkelgeschwindigkeiten des Fahrzeugs messen, Raddrehzahlsensoren zum Messen oder Schätzen von Radschlupfverhältnissen, Radbremsdruck- oder Bremsdrehmomentsensoren, Motordrehmoment- oder Raddrehmomentsensoren und Lenkwinkel- und Winkelgeschwindigkeitssensoren.
  • Bei einer Ausführungsform beinhalten die Sensoren 121 auch Sensoren zum Erfassen oder Messen von Eigenschaften der Umgebung des AV. Beispielsweise monokulare oder Stereo-Videokameras 122 im sichtbaren Licht-, Infrarot- oder Wärmespektrum (oder beiden), LiDAR-123, RADAR-, Ultraschallsensoren, TOF(time-of-flight - Laufzeit)-, Tiefensensoren, Geschwindigkeitssensoren, Temperatursensoren, Feuchtigkeitssensoren und Niederschlagssensoren.
  • Bei einer Ausführungsform beinhaltet das AV-System 120 eine Datenspeichereinheit 142 und Speicher 144 zum Speichern von mit Computerprozessoren 146 verknüpften Maschinenanweisungen oder von Sensoren 121 gesammelten Daten. Bei einer Ausführungsform ist die Datenspeichereinheit 142 ähnlich dem ROM 308 oder der Speichervorrichtung 310, die nachstehend Bezug nehmend auf 3 beschrieben sind. Bei einer Ausführungsform ist der Speicher 144 ähnlich dem nachstehend beschriebenen Hauptspeicher 306. Bei einer Ausführungsform speichern die Datenspeichereinheit 142 und der Speicher 144 historische, Echtzeit- und/oder vorhersagende Informationen über die Umgebung 190. Bei einer Ausführungsform beinhalten die gespeicherten Informationen Landkarten, Fahrverhalten, Aktualisierungen zu Verkehrsstaus oder Wetterbedingungen. Bei einer Ausführungsform werden Daten, die die Umgebung 190 betreffen, von einer entfernt angeordneten Datenbasis 134 über einen Kommunikationskanal an das AV 100 übertragen.
  • Bei einer Ausführungsform beinhaltet das AV-System 120 Kommunikationsvorrichtungen 140 zum Kommunizieren von gemessenen oder abgeleiteten Eigenschaften von Zuständen und Bedingungen von anderen Fahrzeugen, wie etwa Positionen, lineare und Winkelgeschwindigkeiten, lineare und Winkelbeschleunigungen sowie lineare und Winkelorientierungen, an das AV 100. Diese Vorrichtungen beinhalten Fahrzeug-Fahrzeug(V2V)- und Fahrzeug-Infrastruktur(V2I)-Kommunikationsvorrichtungen und Vorrichtungen für drahtlose Kommunikation über Punkt-zu-Punkt- oder Ad-hoc-Netzwerke oder beides. Bei einer Ausführungsform kommunizieren die Kommunikationsvorrichtungen 140 über das elektromagnetische Spektrum (einschließlich Funk- und optischer Kommunikation) oder andere Medien (z. B. Luft und akustische Medien). Eine Kombination von Fahrzeug-Fahrzeug(V2V) und Fahrzeug-Infrastruktur(V2I)-Kommunikation (und bei einigen Ausführungsformen eine oder mehrere andere Arten von Kommunikation) wird manchmal als Fahrzeug-Alles(V2X)-Kommunikation bezeichnet. Eine V2X-Kommunikation erfüllt in der Regel einen oder mehrere Kommunikationstandards zur Kommunikation mit, zwischen und unter autonomen Fahrzeugen.
  • Bei einer Ausführungsform beinhalten die Kommunikationsvorrichtungen 140 Kommunikationsschnittstellen. Beispielsweise drahtgebundene, drahtlose, WiMAX-, Wi-Fi-, Bluetooth-, Satelliten-, zelluläre, optische, Nahfeld-, Infrarot- oder Funkschnittstellen. Die Kommunikationsschnittstellen übertragen Daten von einer entfernt angeordneten Datenbasis 134 an das AV-System 120. Bei einer Ausführungsform ist die entfernt angeordnete Datenbasis 134 in eine Cloud-Computing-Umgebung 200 eingebettet, wie in 2 beschrieben. Die Kommunikationsschnittstellen 140 übertragen Daten, die von den Sensoren 121 gesammelt wurden, oder andere Daten, die den Betrieb des AV 100 betreffen, an die entfernt angeordnete Datenbasis 134. Bei einer Ausführungsform übertragen die Kommunikationsschnittstellen 140 Informationen, welche die entfernte Bedienung betreffen, an das AV 100. Bei einigen Ausführungsformen kommuniziert das AV 100 mit anderen entfernten (z. B. „Cloud“-) Servern 136.
  • Bei einer Ausführungsform speichert und überträgt die entfernt angeordnete Datenbasis 134 auch digitale Daten (z. B. Speicherdaten, wie etwa Orte auf Land- und Stadtstraßen). Solche Daten werden in dem Speicher 144 an dem AV 100 gespeichert oder an das AV 100 über einen Kommunikationskanal von der entfernt angeordneten Datenbasis 134 übertragen.
  • Bei einer Ausführungsform speichert und überträgt die entfernt angeordnete Datenbasis 134 historische Informationen über Fahreigenschaften (z. B. Geschwindigkeits- und Beschleunigungsprofile) von Fahrzeugen, die zuvor zu ähnlichen Tageszeiten entlang der Trajektorie 198 gefahren sind. Bei einer Ausführungsform können solche Daten im Speicher 144 an dem AV 100 gespeichert werden oder über einen Kommunikationskanal von der entfernt angeordneten Datenbasis 134 an das AV 100 übertragen werden.
  • Rechenvorrichtungen 146, die sich am AV 100 befinden, generieren algorithmisch, basierend auf sowohl Echtzeit-Sensordaten als auch vorherigen Informationen, Steuervorgänge, wodurch dem AV-System 120 gestattet wird, seine autonome Fahrfähigkeit auszuführen.
  • Bei einer Ausführungsform beinhaltet das AV-System 120 Computer-Peripheriegeräte 132, die mit Rechenvorrichtungen 146 gekoppelt sind, um einem Benutzer (z. B. einem Insassen oder einem entfernten Benutzer) des AV 100 Informationen und Warnungen bereitzustellen und von demselben Eingaben zu empfangen. Bei einer Ausführungsform sind die Peripheriegeräte 132 ähnlich der Anzeige 312, der Eingabevorrichtung 314 und der Cursorsteuerung 316, die nachstehend Bezug nehmend auf 3 erörtert werden. Die Kopplung ist drahtlos oder drahtgebunden. Jede zwei oder mehr der Schnittstellenvorrichtungen können in einer einzigen Vorrichtung integriert sein.
  • Bei einer Ausführungsform empfängt das AV-System 120 ein Datenschutzniveau eines Fahrgasts, das z. B. von dem Fahrgast angegeben wurde oder in einem mit dem Fahrgast verknüpften Profil gespeichert ist und setzt dieses um.
    Das Datenschutzniveau des Fahrgasts bestimmt, wie spezifische Informationen, die mit dem Fahrgast verknüpft sind (z. B. Fahrgast-Komfortdaten, biometrische Daten usw.) verwendet, in dem Fahrgastprofil gespeichert und/oder auf dem Cloud-Server 136 gespeichert werden und mit dem Fahrgastprofil verknüpft sein dürfen. Bei einer Ausführungsform gibt das Datenschutzniveau spezifische Informationen an, die mit einem Fahrgast verknüpft sind, die gelöscht werden, sobald die Fahrt beendet ist. Bei einer Ausführungsform gibt das Datenschutzniveau spezifische Informationen an, die mit einem Fahrgast verknüpft sind, und identifiziert eine oder mehrere Entitäten, die berechtigt sind, auf die Informationen zuzugreifen. Beispiele für angegebene Entitäten, die berechtigt sind, auf die Informationen zuzugreifen, können andere AVs, AV-Systeme von Dritten oder jede Entität beinhalten, die potentiell auf die Informationen zugreifen könnten.
  • Ein Datenschutzniveau eines Fahrgasts kann in einem oder mehreren Granularitätsgraden angegeben werden. Bei einer Ausführungsform identifiziert ein Datenschutzniveau spezifische zu speichernde oder gemeinsam zu nutzende Informationen. Bei einer Ausführungsform betrifft das Datenschutzniveau alle Informationen, die mit dem Fahrgast verknüpft sind, sodass der Fahrgast angeben kann, dass keine seiner/ihrer persönlichen Informationen gespeichert oder gemeinsam genutzt werden.
    Die Angabe der Entitäten, die auf spezifische Informationen zugreifen dürfen, kann auch in verschiedenen Granularitätsgraden angegeben werden. Verschiedene Gruppen von Entitäten, die auf spezifische Informationen zugreifen dürfen, können beispielsweise andere AVs, Cloud-Server 136, spezifische AV-Systeme eines Dritten usw. beinhalten.
  • Bei einer Ausführungsform bestimmt das AV-System 120 oder der Cloud-Server 136, ob von dem AV 100 oder einer anderen Entität auf bestimmte Informationen, die mit einem Fahrgast verknüpft sind, zugegriffen werden kann. Beispielsweise muss ein AV-System eines Dritten, das versucht, auf Fahrgasteingaben, die einen spezifischen raumzeitlichen Ort betreffen, zuzugreifen, eine Berechtigung erhalten, z. B. von dem AV-System 120 oder dem Cloud-Server 136, um auf die mit dem Fahrgast verknüpften Informationen zuzugreifen. Beispielsweise verwendet das AV-System 120 das angegebene Datenschutzniveau des Fahrgasts, um zu bestimmen, ob die Fahrgasteingaben, die den raumzeitlichen Ort betreffen, dem AV-System eines Dritten, dem AV 100 oder einem anderen AV vorgelegt werden können. Dies ermöglicht, dass das Datenschutzniveau des Fahrgasts angibt, welchen anderen Entitäten gestattet ist, Daten über die Aktionen des Fahrgasts oder andere mit dem Fahrgast verknüpfte Daten zu empfangen.
  • 2 stellt eine beispielhafte „Cloud“-Computing-Umgebung dar. Cloud-Computing ist ein Modell der Leistungserbringung zum Ermöglichen eines praktischen, bedarfsgerechten Netzwerkzugangs auf einen gemeinsam genutzten Fundus von konfigurierbaren Rechenressourcen (z. B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Speicher, Datenspeicher, Anwendungen, virtuelle Maschinen und Dienstleistungen). Bei typischen Cloud-Computing-Systemen beherbergen ein oder mehrere große Cloud-Datenzentren die Maschinen, die zum Erbringen der von der Cloud bereitgestellten Dienstleistungen verwendet werden. Nun Bezug nehmend auf 2 beinhaltet die Cloud-Computing-Umgebung 200 Cloud-Datenzentren 204a, 204b und 204c, die über die Cloud 202 miteinander verbunden sind. Die Datenzentren 204a, 204b und 204c stellen Cloud-Computing- Dienstleistungen an Computing-Systeme 206a, 206b, 206c, 206d, 206e und 206f bereit, die mit der Cloud 202 verbunden sind.
  • Die Cloud-Computing-Umgebung 200 beinhaltet ein oder mehrere Cloud-Datenzentren. Im Allgemeinen bezieht sich ein Cloud-Datenzentrum, beispielsweise das in 2 gezeigte Cloud-Datenzentrum 204a, auf die physikalische Anordnung von Servern, die eine Cloud ausbilden, beispielsweise die in 2 gezeigte Cloud 202, oder auf einen spezifischen Abschnitt einer Cloud. Die Server sind in dem Cloud-Datenzentrum physikalisch beispielsweise in Räume, Gruppen, Reihen und Racks angeordnet. Ein Cloud-Datenzentrum weist eine oder mehrere Zonen auf, die einen oder mehrere Serverräume beinhalten. Jeder Raum weist eine oder mehrere Reihen von Servern auf und jede Reihe beinhaltet ein oder mehrere Racks. Jedes Rack beinhaltet einen oder mehrere einzelne Serverknoten. Bei einer Ausführungsform sind Server in Zonen, Räumen, Racks und/oder Reihen in Gruppen angeordnet, basierend auf physikalischen Infrastrukturanforderungen der Datenzentrumsanlage, die Stromversorgung, Energie, Wärme und/oder andere Anforderungen beinhalten. Bei einer Ausführungsform sind die Serverknoten ähnlich dem in 3 beschriebenen Computersystem. Das Datenzentrum 204a weist viele Rechensysteme auf, die über viele Racks verteilt sind.
  • Die Cloud 202 beinhaltet die Cloud-Datenzentren 204a, 204b und 204c zusammen mit dem Netzwerk und den Netzwerkressourcen (beispielsweise Netzwerkkomponenten, -knoten, -router, -weichen und Netzwerkkabel) welche die Cloud-Datenzentren 204a, 204b und 204c miteinander verbinden und helfen, den Zugang der Computersysteme 206a-f auf die Cloud-Computing-Dienstleistungen zu ermöglichen. Bei einer Ausführungsform stellt das Netzwerk jede Kombination von einem oder mehreren lokalen Netzwerken, Weitverkehrsnetzwerken oder Netzwerkverbunden dar, die unter Verwenden von drahtgebundenen oder drahtlosen Verbindungen, die terrestrische oder Satellitenverbindungen einsetzen, gekoppelt sind. Daten, die über das Netzwerk ausgetauscht werden, werden unter Verwenden einer Anzahl von Netzwerkprotokollen, wie etwa Internet Protocol (IP), Multiprotocol Label Switching (MPLS), Asynchronous Transfer Mode (ATM), Frame Relay usw. übertragen. Ferner werden bei Ausführungsformen, bei denen das Netzwerk eine Kombination aus mehreren Teilnetzwerken darstellt, unterschiedliche Netzwerkprotokolle auf jedem der darunterliegenden Teilnetzwerke verwendet. Bei einigen Ausführungsformen stellt das Netzwerk eine oder mehrere miteinander verbundene Netzwerkverbunde dar, wie etwa das öffentliche Internet.
  • Kunden der Rechensysteme 206a-f oder der Cloud-Computing-Dienstleistungen sind mit der Cloud 202 durch Netzwerkverbindungen und Netzwerkadapter verbunden. Bei einer Ausführungsform sind die Rechensysteme 206a-f als verschiedene Rechenvorrichtungen, beispielsweise Server, Desktops, Laptops, Tablets, Smartphones, Internet of Things-(IoT)-Vorrichtungen, autonome Fahrzeuge (einschließlich Autos, Drohnen, Pendelbussen, Zügen, Bussen usw.) und Verbraucherelektronik implementiert. Bei einer Ausführungsform sind die Rechensysteme 206a-f in einem System oder als Teil von anderen Systemen implementiert.
  • 3 stellt ein Computersystem 300 dar. Bei einer Ausführungsform handelt es sich bei dem Computersystem 300 um eine Spezialzweck-Computervorrichtung. Die Spezialzweck-Computervorrichtung ist fest verdrahtet, um die Techniken durchzuführen, oder beinhaltet digitale elektronische Vorrichtungen, wie etwa einen oder mehrere anwendungsspezifische integrierte Schaltkreise (application-specific integrated circuits - ASICs) oder feldprogrammierbare Gatteranordnungen (Feld programmable gate arrays - FPGAs), die fortwährend programmiert werden, um die Techniken durchzuführen, oder sie können einen oder mehrere Allzweck-Hardwareprozessoren beinhalten, die zum Durchführen der Techniken gemäß Programmanweisungen in Firmware, Speicher, anderen Datenspeichern oder einer Kombination davon programmiert sind. Solche Spezialzweck-Rechenvorrichtungen können auch benutzerdefinierte fest verdrahtete Logik, ASICs oder FPGAs mit benutzerdefinierter Programmierung kombinieren, um die Techniken auszuführen. Bei verschiedenen Ausführungsformen handelt es sich bei den Spezialzweck-Rechenvorrichtungen um Desktop-Computersysteme, tragbare Computersysteme, handgehaltene Vorrichtungen, Netzwerkvorrichtungen oder jede andere Vorrichtung, die fest verdrahtete und/oder Programmlogik einbindet, um die Techniken zu implementieren.
  • Bei einer Ausführungsform beinhaltet das Computersystem 300 einen Bus 302 oder einen anderen Kommunikationsmechanismus zum Kommunizieren von Informationen sowie einen Hardware-Prozessor 304, der mit einem Bus 302 gekoppelt ist, zum Verarbeiten von Informationen. Der Hardware-Prozessor 304 ist beispielsweise ein Allzweck-Mikroprozessor. Das Computersystem 300 beinhaltet auch einen Hauptspeicher 306, wie etwa einen Direktzugriffsspeicher (random-access memory - RAM) oder eine andere dynamische Speichervorrichtung, die mit dem Bus 302 gekoppelt ist, zum Speichern von Informationen und Anweisungen, die von dem Prozessor 304 auszuführen sind. Bei einer Ausführungsform wird der Hauptspeicher 306 zum Speichern von temporären Variablen oder anderen Zwischeninformationen während der Ausführung von Anweisungen, die von dem Prozessor 304 auszuführen sind, verwendet. Solche Anweisungen, wenn sie in nichtflüchtigen Speichermedien gespeichert sind, auf die der Prozessor 304 zugreifen kann, können das Computersystem 300 zu einer Spezialzweckmaschine machen, die auf das Durchführen der in den Anweisungen angegebenen Vorgänge zugeschnitten ist.
  • Bei einer Ausführungsform beinhaltet das Computersystem 300 ferner einen Nurlesespeicher (read only memory - ROM) 308 oder eine andere statische Speichervorrichtung, die mit dem Bus 302 gekoppelt ist, zum Speichern von statischen Informationen und Anweisungen für den Prozessor 304. Eine Speichervorrichtung 310, wie etwa ein magnetischer Datenträger, ein optischer Datenträger, ein Festkörperspeicher (solidstate drive) oder ein 3D XPoint-Speicher, ist bereitgestellt und mit dem Bus 302 gekoppelt, um Informationen und Anweisungen zu speichern.
  • Bei einer Ausführungsform ist das Computersystem 300 über den Bus 302 mit einer Anzeige 312 gekoppelt, wie etwa einer Kathodenstrahlröhre (cathode ray tube - CRT), einer Flüssigkristallanzeige (liquid crystal display - LCD), einer Plasmaanzeige, einer Leuchtdioden(light emitting diode - LED)-Anzeige oder einer organischen Leuchtdioden(organic light emitting diode -OLED)-Anzeige, um einem Computerbenutzer Informationen anzuzeigen. Eine Eingabevorrichtung 314, einschließlich alphanumerischer und anderer Tasten, ist mit dem Bus 302 gekoppelt, um Informationen und Befehlsauswahlen an den Prozessor 304 zu kommunizieren. Eine andere Art von Benutzereingabevorrichtung ist eine Cursorsteuerung 316, wie etwa eine Maus, ein Trackball, eine berührungsfähige Anzeige oder Cursor-Richtungstasten, um Richtungsinformationen und Befehlsauswahlen an den Prozessor 304 zu kommunizieren und um die Cursorbewegung auf der Anzeige 312 zu steuern. Diese Eingabevorrichtung weist in der Regel zwei Freiheitsgrade in zwei Achsen auf, einer ersten Achse (z. B. der x-Achse) und einer zweiten Achse (z. B. der y-Achse), was der Vorrichtung gestattet, Positionen in einer Ebene anzugeben.
  • Gemäß einer Ausführungsform werden die Techniken hier von dem Computersystem 300 in Reaktion darauf durchgeführt, dass der Prozessor 304 eine oder mehrere Sequenzen von einer oder mehreren Anweisungen ausführt, die im Hauptspeicher 306 enthalten sind. Solche Anweisungen werden in den Hauptspeicher 306 aus einem anderen Speichermedium, wie etwa der Speichervorrichtung 310, eingelesen. Die Ausführung der Sequenzen der Anweisungen, die im Hauptspeicher 306 enthalten sind, veranlasst den Prozessor 304, die hier beschriebenen Prozessschritte durchzuführen. Bei alternativen Ausführungsformen werden fest verdrahtete Schaltungen an Stelle von oder in Kombination mit Softwareanweisungen verwendet.
  • Der Begriff „Speichermedien“, wie hier verwendet, bezieht sich auf jegliche nichtflüchtige Medien, die Daten und/oder Anweisungen speichern, die eine Maschine veranlassen, auf eine spezifische Weise zu arbeiten. Solche Speichermedien beinhalten nichtflüchtige Medien und/oder flüchtige Medien. Nichtflüchtige Medien beinhalten beispielsweise optische Datenträger, magnetische Datenträger, Festkörperspeicher oder 3D XPoint-Speicher, wie etwa die Speichervorrichtung 310. Flüchtige Medien beinhalten einen dynamischen Speicher, wie etwa den Hauptspeicher 306. Übliche Formen von Speichermedien beinhalten beispielsweise eine Diskette, einen flexiblen Datenträger, eine Festplatte, einen Festkörperspeicher, Magnetband oder jedes andere magnetische Datenspeichermedium, eine CD-ROM, jedes andere optische Datenspeichermedium, jedes physikalische Medium mit Lochmustern, einen RAM, einen PROM sowie EPROM, einen FLASH-EPROM, NV-RAM oder jede/n andere/n Speicherchip oder - kassette.
  • Speichermedien unterscheiden sich von Übertragungsmedien, können jedoch in Verbindung damit verwendet werden. Übertragungsmedien beteiligen sich am Übertragen von Informationen zwischen Speichermedien. Beispielsweise beinhalten Übertragungsmedien Koaxialkabel, Kupferdraht und Glasfaser, einschließlich der Drähte, die den Bus 302 umfassen. Übertragungsmedien können auch die Form von akustischen oder Lichtwellen annehmen, wie etwa jenen, die während einer Funk- und Infrarot-Datenkommunikation generiert werden.
  • Bei einer Ausführungsform sind verschiedene Formen von Medien am Transportieren von einer oder mehreren Sequenzen von einer oder mehreren Anweisungen zu dem Prozessor 304 zur Ausführung beteiligt. Beispielsweise werden die Anweisungen zuerst auf einem magnetischen Datenträger oder einem Festkörperspeicher eines entfernten Computers getragen. Der entfernte Computer lädt die Anweisungen in seinen dynamischen Speicher und sendet die Anweisungen über eine Telefonleitung unter Verwenden eines Modems. Ein lokales Modem des Computersystems 300 empfängt die Daten über die Telefonleitung und verwendet einen Infrarotsender, um die Daten in ein Infrarotsignal zu konvertieren. Ein Infrarot-Detektor empfängt die in dem Infrarotsignal transportierten Daten und eine geeignete Schaltung setzt die Daten auf den Bus 302. Der Bus 302 transportiert die Daten zum Hauptspeicher 306, von welchem der Prozessor 304 die Anweisungen abruft und ausführt. Die vom Hauptspeicher 306 empfangenen Anweisungen können gegebenenfalls entweder vor oder nach der Ausführung durch den Prozessor 304 in der Speichervorrichtung 310 gespeichert werden.
  • Das Computersystem 300 beinhaltet auch eine Kommunikationsschnittstelle 318, die mit dem Bus 302 gekoppelt ist. Die Kommunikationsschnittstelle 318 stellt eine bidirektionale Datenkommunikationskopplung mit einer Netzwerkverbindung 320 bereit, die mit einem lokalen Netzwerk 322 verbunden ist. Beispielsweise handelt es sich bei der Kommunikationsschnittstelle 318 um eine ISDN(integrated service digital Netzwerk - integriertes Sprach- und Datennetz)-Karte, ein Kabelmodem, Satellitenmodem oder ein Modem zum Bereitstellen einer Datenkommunikationsverbindung an einen entsprechenden Typ von Telefonleitung. Als anderes Beispiel ist die Kommunikationsschnittstelle 318 eine lokale Netzwerk(local area network - LAN)-Karte zum Bereitstellen einer Datenkommunikationsverbindung an ein kompatibles LAN. Bei einer Ausführungsform sind auch drahtlose Verbindungen implementiert. Bei einer jeglichen derartigen Implementierung sendet und empfängt die Kommunikationsschnittstelle 318 elektrische, elektromagnetische oder optische Signale, die digitale Datenströme transportieren, die verschiedene Arten von Informationen darstellen.
  • Die Netzwerkverbindung 320 stellt in der Regel anderen Datenvorrichtungen eine Datenkommunikation durch ein oder mehrere Netzwerke bereit. Beispielsweise stellt die Netzwerkverbindung 320 einem Host-Computer 324 oder einem Cloud-Datenzentrum oder einer Anlage, die von einem Internetdienstanbieter (Internet Service Provider - ISP) 326 betrieben wird, eine Verbindung durch das lokale Netzwerk 322 bereit. Der ISP 326 stellt wiederum Datenkommunikationsdienstleistungen über das weltweite Paketdaten-Kommunikationsnetzwerk bereit, das nun allgemein als das „Internet“ 328 bezeichnet wird. Sowohl das lokale Netzwerk 322 als auch das Internet 328 verwenden elektrische, elektromagnetische oder optische Signale, die digitale Datenströme transportieren. Die Signale durch die verschiedenen Netzwerke und die Signale auf der Netzwerkverbindung 320 und durch die Kommunikationsschnittstelle 318, welche die digitalen Daten zu und von dem Computersystem 300 transportieren, sind beispielhafte Formen von Übertragungsmedien. Bei einer Ausführungsform enthält das Netzwerk 320 die Cloud 202 oder einen Teil der vorstehend beschriebenen Cloud 202.
  • Das Computersystem 300 sendet Nachrichten und empfängt Daten, einschließlich Programmcode, über das/die Netzwerk(e), die Netzwerkverbindung 320 und die Kommunikationsschnittstelle 318. Bei einer Ausführungsform empfängt das Computersystem 300 Code zur Verarbeitung. Der empfangene Code wird, während er empfangen wird, von dem Prozessor 304 ausgeführt und/oder in der Speichervorrichtung 310 oder einem anderen nichtflüchtigen Speicher zur späteren Ausführung gespeichert.
  • Architektur von autonomen Fahrzeugen
  • 4 zeigt eine beispielhafte Architektur 400 für ein autonomes Fahrzeug (z. B. das in 1 gezeigte AV 100). Die Architektur 400 beinhaltet ein Wahrnehmungsmodul 402 (manchmal als Wahrnehmungsschaltkreis bezeichnet), ein Planungsmodul 404 (manchmal als Planungsschaltkreis bezeichnet), ein Steuermodul 406 (manchmal als Steuerschaltkreis bezeichnet), ein Lokalisierungsmodul 408 (manchmal als Lokalisierungsschaltkreis bezeichnet) und ein Datenbasismodul 410 (manchmal als Datenbasisschaltkreis bezeichnet). Jedes Modul spielt beim Betrieb des AV 100 eine Rolle.
    Gemeinsam können die Module 402, 404, 406, 408 und 410 Teil des in 1 gezeigten AV-Systems 120 sein. Bei einigen Ausführungsformen ist jedes der Module 402, 404, 406, 408 und 410 eine Kombination aus Computersoftware (z. B. ausführbarer Code, der auf einem computerlesbaren Medium gespeichert ist) und Computerhardware (z. B. einer oder mehrere Mikroprozessoren, Mikrocontroller, anwendungsspezifische integrierte Schaltkreise [application-specific integrated circuits - ASICs]), Hardware-Speichervorrichtungen, andere Arten von integrierten Schaltkreisen, andere Arten von Computerhardware oder eine Kombination von jeglichen oder allen dieser Dinge). Jedes der Module 402, 404, 406, 408 und 410 wird manchmal als Verarbeitungsschaltkreis bezeichnet (z. B. Computerhardware, Computersoftware oder eine Kombination der beiden). Auch eine Kombination von jeglichen oder allen der Module 402, 404, 406, 408 und 410 ist ein Beispiel für einen Verarbeitungsschaltkreis.
  • Bei Verwendung empfängt das Planungsmodul 404 Daten, die ein Reiseziel 412 darstellen, und bestimmt Daten, die eine Trajektorie 414 (manchmal bezeichnet als Strecke) darstellen, die von dem AV 100 zum Erreichen (z. B. Eintreffen am Reiseziel) des Reiseziels 412 gefahren werden kann. Damit das Planungsmodul 404 die Daten, welche die Trajektorie 414 darstellen, bestimmen kann, empfängt das Planungsmodul 404 Daten von dem Wahrnehmungsmodul 402, dem Lokalisierungsmodul 408 und dem Datenbasismodul 410.
  • Das Wahrnehmungsmodul 402 identifiziert nahegelegene physikalische Objekte unter Verwenden von einem oder mehreren Sensoren 121, z. B. wie auch in 1 gezeigt. Die Objekte werden klassifiziert (z. B. in Arten gruppiert, wie etwa Fußgänger, Fahrrad, Automobil, Verkehrszeichen usw.) und eine Szenenbeschreibung einschließlich der klassifizierten Objekte 416 wird dem Planungsmodul 404 bereitgestellt.
  • Das Planungsmodul 404 empfängt auch Daten, welche die Position des AV 418 darstellen, von dem Lokalisierungsmodul 408. Das Lokalisierungsmodul 408 bestimmt die Position des AV durch Verwenden von Daten von den Sensoren 121 und von Daten von dem Datenbasismodul 410 (z. B. geographische Daten), um eine Position zu berechnen. Beispielsweise verwendet das Lokalisierungsmodul 408 Daten von einem GNSS(Global Navigation Satellite System - Globalen Navigationssatellitensystem)-Sensor und geographische Daten, um einen Längengrad und einen Breitengrad des AV zu berechnen. Bei einer Ausführungsform beinhalten von dem Lokalisierungsmodul 408 verwendete Daten hochpräzise Karten der geometrischen Eigenschaften der Fahrbahn, Karten, die Eigenschaften der Straßennetzanbindung beschreiben, Karten, die physikalische Eigenschaften der Fahrbahn beschreiben (wie etwa Verkehrsgeschwindigkeit, Verkehrsaufkommen, die Anzahl von Fahrzeug- und Fahrradspuren, Fahrspurbreite, Fahrspur-Verkehrsrichtungen oder Fahrspurmarkierungsarten und -stellen oder Kombinationen davon) sowie Karten, welche die räumlichen Orte von Straßenmerkmalen, wie etwa Übergänge, Verkehrszeichen oder andere Wegsignale verschiedener Arten, beschreiben. Bei einer Ausführungsform werden die hochpräzisen Karten durch Hinzufügen von Daten durch automatische oder manuelle Anmerkungen zu weniger präzisen Karten erstellt.
  • Das Steuermodul 406 empfängt die Daten, welche die Trajektorie 414 darstellen, und die Daten, welche die Position des AV 418 darstellen, und bedient die Steuerfunktionen 420a-c (z. B. Lenken, Drosseln, Bremsen und/oder Zündung) des AV auf eine Weise, die das AV 100 veranlasst, die Trajektorie 414 bis zum Reiseziel 412 zu fahren. Wenn die Trajektorie 414 beispielsweise eine Linksabbiegung beinhaltet, bedient das Steuermodul 406 die Steuerfunktionen 420a-c auf eine Weise, sodass der Lenkwinkel der Lenkfunktion das AV 100 veranlasst, links abzubiegen, und das Drosseln und Bremsen veranlassen das AV 100 anzuhalten und auf vorbeilaufende/fahrende Fußgänger oder Fahrzeuge zu warten, bevor das Abbiegen vorgenommen wird.
  • Eingaben in autonome Fahrzeuge
  • 5 zeigt ein Beispiel für Eingaben 502a-d (z. B. in 1 gezeigte Sensoren 121) und Ausgaben 504a-d (z. B. Sensordaten), die von dem Wahrnehmungsmodul 402 ( 4) verwendet werden. Eine Eingabe 502a ist ein LiDAR(Light Detection und Ranging)-System (z. B. das in 1 gezeigte LiDAR 123).
  • LiDAR ist eine Technologie, die Licht (z. B. Lichtblitze, wie etwa Infrarotlicht) verwendet, um Daten über physikalische Objekte in seiner Sichtlinie zu erlangen. Ein LiDAR-System erzeugt LiDAR-Daten als Ausgabe 504a. Beispielsweise handelt es sich bei LiDAR-Daten um Sammlungen von 3D- oder 2D-Punkten (auch bekannt als Punktwolken), die verwendet werden, um eine Darstellung der Umgebung 190 zu erstellen.
  • Eine andere Eingabe 502b ist ein RADAR-System. RADAR ist eine Technologie, die Funkwellen verwendet, um Daten über nahegelegene physikalische Objekte zu erlangen. RADARs können Daten über Objekte erlangen, die nicht innerhalb der Sichtlinie eines LiDAR-Systems liegen. Ein RADAR-System 502b erzeugt RADAR-Daten als Ausgabe 504b. RADAR-Daten sind beispielsweise ein oder mehrere elektromagnetische Funksignale, die verwendet werden, um eine Darstellung der Umgebung 190 zu erstellen.
  • Eine andere Eingabe 502c ist ein Kamerasystem. Ein Kamerasystem verwendet eine oder mehrere Kameras (z. B. digitale Kameras unter Verwenden eines Lichtsensors, wie etwa einer ladungsgekoppelten Vorrichtung [charge-coupled device - CCD]), um Informationen über nahegelegene physikalische Objekte zu erlangen. Ein Kamerasystem erzeugt Kameradaten als Ausgabe 504c. Kameradaten nehmen häufig die Form von Bilddaten (z. B. Daten in einem Bilddatenformat, wie etwa RAW, JPEG, PNG usw.) an. In einigen Beispielen weist das Kamerasystem mehrere unabhängige Kameras auf, z. B. zum Zweck des stereoskopischen Sehens (räumlichen Sehens), wodurch es dem Kamerasystem ermöglicht wird, Tiefe wahrzunehmen. Obgleich die von dem Kamerasystem wahrgenommenen Objekte hier als „nahegelegen“ beschrieben werden, ist dies relativ zu dem AV. Bei Verwendung kann das Kamerasystem ausgelegt sein, Objekte weit entfernt, z. B. bis zu einem Kilometer oder mehr vor dem AV, zu „sehen.“ Dementsprechend kann das Kamerasystem Merkmale, wie etwa Sensoren und Objektive, aufweisen, die für das Wahrnehmen von weit entfernten Objekten optimiert sind.
  • Eine andere Eingabe 502d ist ein Verkehrsampelerfassungs(traffic light detection - TLD)-System. Ein TLD-System verwendet eine oder mehrere Kameras, um Informationen über Verkehrsampeln, Verkehrszeichen und andere physikalische Objekte zu erlangen, die visuelle Navigationsinformationen bereitstellen. Ein TLD-System erzeugt TLD-Daten als Ausgabe 504d. TLD-Daten nehmen häufig die Form von Bilddaten (z. B. Daten in einem Bilddatenformat, wie etwa RAW, JPEG, PNG usw.) an. Ein TLD-System unterscheidet sich von einem System, das eine Kamera einbindet, darin, dass ein TLD-System eine Kamera mit einem weiten Sichtfeld (z. B. unter Verwenden eines Weitwinkelobjektivs oder eines Fischaugenobjektivs) verwendet, um Informationen über so viele physikalische Objekte, die visuelle Navigationsinformationen bereitstellen, wie möglich zu erlangen, so dass das AV 100 Zugriff auf alle relevanten Navigationsinformationen, die von diesen Objekten bereitgestellt sind, erhält. Beispielsweise kann der Sichtwinkel des TLD-Systems etwa 120 Grad oder mehr betragen.
  • Bei einigen Ausführungsformen werden die Ausgaben 504a-d unter Verwenden einer Sensorfusionstechnik kombiniert. Somit werden entweder die einzelnen Ausgaben 504a-d anderen Systemen des AV 100 bereitgestellt (z. B. einem Planungsmodul 404 bereitgestellt, wie in 4 gezeigt) oder die kombinierte Ausgabe kann den anderen Systemen entweder in Form einer einzigen kombinierten Ausgabe oder mehreren kombinierten Ausgaben der gleichen Art (z. B. unter Verwenden der gleichen Kombinationstechnik oder Kombinieren der gleichen Ausgaben oder bei dem) oder der Art von unterschiedlichen Arten (z. B. unter Verwenden unterschiedlicher jeweiliger Kombinationstechniken oder Kombinieren unterschiedlicher jeweiliger Ausgaben oder bei dem) bereitgestellt werden. Bei einigen Ausführungsformen wird eine Frühfusionstechnik verwendet. Eine Frühfusionstechnik ist gekennzeichnet durch Kombinieren von Ausgaben, bevor ein oder mehrere Datenverarbeitungsschritte auf die kombinierte Ausgabe angewendet werden. Bei einigen Ausführungsformen wird eine Spätfusionstechnik verwendet. Eine Spätfusionstechnik ist gekennzeichnet durch Kombinieren von Ausgaben, nachdem ein oder mehrere Datenverarbeitungsschritte auf die einzelnen Ausgaben angewendet wurden.
  • 6 zeigt ein Beispiel für ein LiDAR-System 602 (z. B. die in 5 gezeigte Eingabe 502a). Das LiDAR-System 602 emittiert Licht 604a-c aus einem Lichtemitter 606 (z. B. einem Lasersender). Licht, das von einem LiDAR-System emittiert wird, liegt in der Regel nicht im sichtbaren Spektrum; beispielsweise wird häufig Infrarotlicht verwendet. Ein Teil des emittierten Lichts 604b trifft auf ein physikalisches Objekt 608 (z. B. ein Fahrzeug) und reflektiert zurück zum LiDAR-System 602. (Licht, das von einem LiDAR-System emittiert wird, dringt in der Regel nicht durch physikalische Objekte, z. B. physikalische Objekte von fester Form, hindurch.) Das LiDAR-System 602 weist auch einen oder mehrere Lichtdetektoren 610 auf, die das reflektierte Licht detektieren. Bei einer Ausführungsform generieren eine oder mehrere Datenverarbeitungssysteme, die mit dem LiDAR-System verknüpft sind, ein Bild 612, welches das Sichtfeld 614 des LiDAR-Systems darstellt. Das Bild 612 beinhaltet Informationen, welche die Grenzen 616 eines physikalischen Objekts 608 darstellen. Auf diese Weise wird das Bild 612 verwendet, um die Grenzen 616 eines oder mehrerer physikalischer Objekte nahe eines AV zu bestimmen.
  • 7 zeigt das LiDAR-System 602 in Betrieb. In dem in dieser Figur gezeigten Szenario empfängt das AV 100 sowohl die Kamerasystem-Ausgabe 504c in Form eines Bildes 702 und die LiDAR-System-Ausgabe 504a in Form von LiDAR-Datenpunkten 704. Bei Verwendung vergleichen die Datenverarbeitungssysteme des AV 100 das Bild 702 mit den Datenpunkten 704. Insbesondere wird ein in dem Bild 702 identifiziertes physikalisches Objekt 706 auch unter den Datenpunkten 704 identifiziert. Auf diese Weise nimmt das AV 100 die Grenzen des physikalischen Objekts basierend auf dem Umriss und der Dichte der Datenpunkte 704 wahr.
  • 8 zeigt den Betrieb des LiDAR-Systems 602 mit zusätzlichen Einzelheiten. Wie vorstehend beschrieben, detektiert das AV 100 die Grenze eines physikalischen Objekts basierend auf Merkmalen der Datenpunkte, die von dem LiDAR-System 602 detektiert wurden. Wie in 8 gezeigt, reflektiert ein flaches Objekt, wie etwa der Erdboden 802, von einem LiDAR-System 602 emittiertes Licht 804a-d auf eine einheitliche Weise. Anders ausgedrückt, da das LiDAR-System 602 Licht unter Verwenden von einheitlichem Abstand emittiert, reflektiert der Erdboden 802 Licht zurück zu dem LiDAR-System 602 mit der gleichen einheitlichen Beabstandung. Während das AV 100 über den Erdboden 802 fährt, fährt das LiDAR-System 602 fort, Licht, das von dem nächsten gültigen Basispunkt 806 reflektiert wird, zu detektieren, wenn nichts die Straße behindert. Wenn jedoch ein Objekt 808 die Straße behindert, wird von dem LiDAR-System 602 emittiertes Licht 804e-f von den Punkten 810a-b auf eine Weise, die verglichen mit der erwarteten einheitlichen Weise uneinheitlich ist, reflektiert. Aus diesen Informationen kann das AV 100 bestimmen, dass das Objekt 808 vorhanden ist.
  • Wegeplanung
  • 9 zeigt ein Blockschaltbild 900 der Beziehungen zwischen Eingaben und Ausgaben eines Planungsmoduls 404 (z. B. wie in 4 gezeigt). Im Allgemeinen handelt es sich bei der Ausgabe eines Planungsmoduls 404 um eine Strecke 902 von einem Startpunkt 904 (z. B. Ursprungsort oder Anfangsort) und einem Endpunkt 906 (z. B. Reiseziel oder endgültiger Ort). Die Strecke 902 ist in der Regel durch ein oder mehrere Segmente definiert. Ein Segment ist beispielsweise eine Entfernung, die über mindestens einen Abschnitt einer Straße, einer Landstraße, einer Autobahn, einer Einfahrt oder eines anderen physikalischen Gebiets, das für den Automobilverkehr geeignet ist, zu fahren ist. In einigen Beispielen, z. B. wenn das AV 100 ein geländefähiges Fahrzeug, wie etwa ein Vierradantrieb(four-wheel-drive - 4WD)- oder ein Allradantrieb(all-wheel-drive - AWD)-Wagen, Geländewagen, Kleintransporter oder dergleichen ist, beinhaltet die Strecke 902 „Gelände“-Segmente, wie etwa unbefestigte Wege oder offene Felder.
  • Zusätzlich zu der Strecke 902 gibt ein Planungsmodul auch Wegeplanungsdaten auf Fahrspurebene 908 aus. Die Wegeplanungsdaten auf Fahrspurebene 908 werden verwendet, um Segmente der Strecke 902 basierend auf Bedingungen des Segments zu einem bestimmten Zeitpunkt zu durchfahren. Wenn die Strecke 902 beispielsweise eine mehrspurige Autobahn beinhaltet, beinhalten die Wegeplanungsdaten auf Fahrspurebene 908 Trajektorienplanungsdaten 910, die das AV 100 verwenden kann, um unter den mehreren Fahrspuren eine Fahrspur auszuwählen, z. B. basierend darauf, ob sich eine Ausfahrt nähert, ob eine oder mehrere der Fahrspuren andere Fahrzeuge aufweisen, oder andere Faktoren, die über den Verlauf von wenigen Minuten oder weniger variieren. Ähnlich dazu beinhalten bei einer Ausführungsform die Wegeplanungsdaten auf Fahrspurebene 908 Geschwindigkeitsbeschränkungen 912, die für ein Segment der Strecke 902 spezifisch sind. Wenn das Segment beispielsweise Fußgänger oder unerwarteten Verkehr beinhaltet, können die Geschwindigkeitsbeschränkungen 912 das AV 100 auf eine Fahrtgeschwindigkeit begrenzen, die langsamer als eine erwartete Geschwindigkeit ist, z. B. ein Tempo basierend auf Geschwindigkeitsbegrenzungsdaten für das Segment.
  • Bei einer Ausführungsform beinhalten die Eingaben in das Planungsmodul 404 Datenbasisdaten 914 (z. B. aus dem in 4 gezeigten Datenbasismodul 410), aktuelle Ortsdaten 916 (z. B. die in 4 gezeigte Position des AV 418), Reisezieldaten 918 (z. B. für das in 4 gezeigte Reiseziel 412) und Objektdaten 920 (z. B. die klassifizierten Objekte 416 wie von dem Wahrnehmungsmodul 402 wahrgenommen, wie in 4 gezeigt). Bei einigen Ausführungsformen beinhalten die Datenbasisdaten 914 Regeln, die beim Planen verwendet werden. Die Regeln werden unter Verwenden einer formalen Sprache angegeben, z. B. unter Verwenden von Boole'scher Logik. In einer jeglichen dem AV 100 begegnenden gegebenen Situation treffen zumindest einige der Regeln auf die Situation zu. Eine Regel trifft auf eine gegebene Situation zu, wenn die Regel Bedingungen aufweist, die basierend auf Informationen erfüllt werden, die dem AV 100 zugänglich waren, z. B. Informationen über das umgebende Umfeld. Regeln können eine Priorität aufweisen. Beispielsweise kann eine Regel, die besagt, „wenn die Straße eine Autobahn ist, bewegen Sie sich auf die am weitesten linke Fahrspur“, eine niedrigere Priorität aufweisen als „wenn sich die Ausfahrt innerhalb einer Meile nähert, bewegen Sie sich auf die am weitesten rechte Fahrspur.“
  • 10 zeigt einen gerichteten Graphen 1000, der in der Wegeplanung, z. B. von dem Planungsmodul 404 (4), verwendet wird. Im Allgemeinen wird ein gerichteter Graph 1000 wie der in 10 gezeigte zum Bestimmen eines Wegs zwischen jedem Startpunkt 1002 und jedem Endpunkt 1004 verwendet. Auf die Realität bezogen kann der Abstand, der den Startpunkt 1002 und den Endpunkt 1004 trennt, relativ groß sein (z. B. in zwei unterschiedlichen städtischen Gebieten) oder er kann relativ klein sein (z. B. zwei Kreuzungen, die an einem Häuserblock anliegen oder zwei Fahrspuren einer mehrspurigen Straße).
  • Bei einer Ausführungsform weist der gerichtete Graph 1000 Knoten 1006a-d auf, die unterschiedliche Orte zwischen dem Startpunkt 1002 und dem Endpunkt 1004 darstellen, die von einem AV besetzt werden könnten. In einigen Beispielen, wenn z. B. der Startpunkt 1002 und der Endpunkt 1004 unterschiedliche städtische Gebiete darstellen, stellen die Knoten 1006a-d Segmente von Straßen dar. In einigen Beispielen, wenn z. B. der Startpunkt 1002 und der Endpunkt 1004 unterschiedliche Orte auf der gleichen Straße darstellen, stellen die Knoten 1006a-d unterschiedliche Positionen auf dieser Straße dar. Auf diese Weise beinhaltet der gerichtete Graph 1000 Informationen auf verschiedenen Granularitätsgraden. Bei einer Ausführungsform ist ein gerichteter Graph, der eine hohe Granularität aufweist, auch ein Teilgraph eines anderen gerichteten Graphen, der einen größeren Maßstab aufweist. Ein gerichteter Graph, bei dem der Startpunkt 1002 und der Endpunkt 1004 beispielsweise weit voneinander entfernt sind (z. B. viele Meilen auseinander liegen), weist die meisten seiner Informationen auf einer niedrigen Granularität auf und basiert auf gespeicherten Daten, beinhaltet aber auch einige Informationen von hoher Granularität für den Abschnitt des Graphen, der physikalische Orte im Sichtfeld des AV 100 darstellt.
  • Die Knoten 1006a-d sind von Objekten 1008a-b verschieden, die mit einem Knoten nicht überlappen können. Bei einer Ausführungsform, wenn die Granularität niedrig ist, stellen die Objekte 1008a-b Bereiche dar, die per Automobil nicht durchfahrbar sind, z. B. Gebiete, die keine Straßen oder Landstraßen aufweisen. Wenn die Granularität hoch ist, stellen die Objekte 1008a-b physikalische Objekte im Sichtfeld des AV 100 dar, z. B. andere Automobile, Fußgänger oder andere Entitäten, mit denen das AV 100 physikalischen Raum nicht gemeinsam nutzen kann. Bei einer Ausführungsform sind einige oder alle der Objekte 1008a-b statische Objekte (z. B. ein Objekt, das seine Position nicht verändert, wie etwa eine Straßenlaterne oder ein Strommast) oder dynamische Objekte (z. B. ein Objekt, das in der Lage ist, seine Position zu ändern, wie etwa ein Fußgänger oder ein anderes Auto).
  • Die Knoten 1006a-d sind durch Kanten 1010a-c verbunden. Wenn zwei Knoten 1006a-b durch eine Kante 1010a verbunden sind, ist es einem AV 100 möglich, zwischen einem Knoten 1006a und dem anderen Knoten 1006b zu fahren, z. B. ohne zu einem Zwischenknoten fahren zu müssen, um an dem anderen Knoten 1006b anzukommen. (Wenn hier auf ein AV 100 Bezug genommen wird, das zwischen Knoten fährt, ist damit gemeint, dass das AV 100 zwischen den beiden physikalischen Positionen fährt, die durch die jeweiligen Knoten dargestellt werden.) Die Kanten 1010a-c sind häufig bidirektional in dem Sinne, dass ein AV 100 von einem ersten Knoten zu einem zweiten Knoten oder von dem zweiten Knoten zu dem ersten Knoten fährt. Bei einer Ausführungsform sind die Kanten 1010a-c unidirektional in dem Sinne, dass ein AV 100 von einem ersten Knoten zu einem zweiten Knoten fahren kann, das AV 100 jedoch nicht von dem zweiten Knoten zu dem ersten Knoten fahren kann. Die Kanten 1010a-c sind unidirektional, wenn sie beispielsweise Einbahnstraßen, einzelne Fahrspuren einer Straße, Landstraße oder Autobahn oder andere Merkmale darstellen, die aufgrund von rechtlichen oder physikalischen Beschränkungen nur in einer Richtung durchfahren werden können.
  • Bei einer Ausführungsform verwendet das Planungsmodul 404 den gerichteten Graphen 1000, um einen Weg 1012 zu identifizieren, der aus Knoten und Kanten zwischen dem Startpunkt 1002 und dem Endpunkt 1004 aufgebaut ist.
  • Eine Kante 1010a-c weist zugehörige Kosten 1014a-b auf. Die Kosten 1014a-b sind ein Wert, der die Ressourcen darstellt, die aufgewendet werden, wenn das AV 100 diese Kante auswählt. Eine typische Ressource ist Zeit. Wenn beispielsweise eine Kante 1010a eine physikalische Entfernung darstellt, die doppelt so groß ist wie eine andere Kante 1010b, dann können die zugehörigen Kosten 1014a der ersten Kante 1010a doppelt so hoch wie die zugehörigen Kosten 1014b der zweiten Kante 1010b sein. Andere Faktoren, welche die Zeit beeinflussen, beinhalten erwartetes Verkehrsaufkommen, die Anzahl von Kreuzungen, die Geschwindigkeitsgrenze usw. Eine typische Ressource ist die Kraftstoffeffizienz. Zwei Kanten 1010a-b können die gleiche physikalische Entfernung darstellen, aber eine Kante 1010a kann mehr Kraftstoff als eine andere Kante 1010b erfordern, z. B. aufgrund von Straßenbedingungen, erwartetem Wetter usw.
  • Wenn das Planungsmodul 404 einen Weg 1012 zwischen dem Startpunkt 1002 und dem Endpunkt 1004 identifiziert, wählt das Planungsmodul 404 in der Regel einen Weg, der kostenoptimiert ist, z. B. den Weg, der die geringsten Gesamtkosten aufweist, wenn die Einzelkosten der Kanten addiert werden.
  • Steuerung autonomer Fahrzeuge
  • 11 zeigt ein Blockschaltbild 1100 der Eingaben und Ausgaben eines Steuermoduls 406 (wie z. B. in 4 gezeigt). Ein Steuermodul arbeitet gemäß einer Steuerung 1102, die beispielsweise einen oder mehrere Prozessoren (z. B. einen oder mehrere Computerprozessoren, wie etwa Mikroprozessoren oder Mikrocontroller oder beides), ähnlich dem Prozessor 304, Kurzzeit- und/oder Langzeit-Datenspeicher (z. B. Direktzugriffsspeicher oder Flash-Speicher oder beide), ähnlich dem Hauptspeicher 306, ROM 308 und eine Speichervorrichtung 310 sowie im Speicher gespeicherte Anweisungen beinhaltet, die Vorgänge der Steuerung 1102 durchführen, wenn die Anweisungen ausgeführt werden (z. B. durch den einen oder die mehreren Prozessoren).
  • Bei einer Ausführungsform empfängt die Steuerung 1102 Daten, die eine gewünschte Ausgabe 1104 darstellen. Die gewünschte Ausgabe 1104 beinhaltet in der Regel eine Schnelligkeit, z. B. eine Geschwindigkeit, und einen Kurs. Die gewünschte Ausgabe 1104 kann beispielsweise auf Daten basieren, die von einem Planungsmodul 404 (wie z. B. in 4 gezeigt) empfangen wurden. Gemäß der gewünschten Ausgabe 1104 erzeugt die Steuerung 1102 Daten, die als Drosselklappeneingabe 1106 und Lenkeingabe 1108 verwendbar sind. Die Drosselklappeneingabe 1106 stellt die Größe dar, in der die Drosselklappe (z. B. Beschleunigungssteuerung) eines AV 100 zu betätigen ist, z. B. durch Betätigen des Lenkpedals oder Betätigen einer anderen Drosselklappensteuerung, um die gewünschte Ausgabe 1104 zu erreichen. In einigen Beispielen beinhaltet die Drosseleingabe 1106 auch Daten, die zum Betätigen der Bremse (z. B. Verzögerungssteuerung) des AV 100 verwendbar sind. Die Lenkeingabe 1108 stellt einen Lenkwinkel dar, z. B. den Winkel, in den die Lenksteuerung (z. B. das Lenkrad, der Lenkwinkel-Stellantrieb oder eine andere Funktionalität zum Steuern des Lenkwinkels) des AV positioniert werden soll, um die gewünschte Ausgabe 1104 zu erreichen.
  • Bei einer Ausführungsform empfängt die Steuerung 1102 eine Rückmeldung, die beim Einstellen der Eingaben verwendet wird, die der Drosselklappe und der Lenkung bereitgestellt worden sind. Wenn das AV 100 beispielsweise einer Störung 1110, wie etwa einem Hügel, begegnet, wird die gemessenes Tempo 1112 des AV 100 auf unter die gewünschte Ausgabegeschwindigkeit gesenkt. Bei einer Ausführungsform wird jede gemessene Ausgabe 1114 an die Steuerung 1102 bereitgestellt, so dass die notwendigen Einstellungen durchgeführt werden, z. B. basierend auf dem Differential 1113 zwischen dem gemessenen Geschwindigkeit und der gewünschten Ausgabe. Die gemessene Ausgabe 1114 beinhaltet die gemessene Position 1116, die gemessene Schnelligkeit 1118 (einschließlich Geschwindigkeit und Kurs), die gemessene Beschleunigung 1120 und andere Ausgaben, die von den Sensoren des AV 100 messbar sind.
  • Bei einer Ausführungsform werden Informationen über die Störung 1110 vorab detektiert, z. B. von einem Sensor, wie etwa einem Kamera- oder LiDAR-Sensor, und an ein vorhersagendes Rückmeldemodul 1122 bereitgestellt. Das vorhersagende Rückmeldemodul 1122 stellt dann Informationen an die Steuerung 1102 bereit, welche die Steuerung 1102 zum entsprechenden Einstellen verwenden kann. Wenn beispielsweise die Sensoren des AV 100 einen Hügel detektieren („sehen“), können diese Informationen von der Steuerung 1102 genutzt werden, um das Betätigen der Drosselklappe zur richtigen Zeit vorzubereiten, um eine beträchtliche Verzögerung zu vermeiden.
  • 12 zeigt ein Blockschaltbild 1200 der Eingaben, Ausgaben und Komponenten der Steuerung 1102. Die Steuerung 1102 weist einen Geschwindigkeitsprofiler 1202 auf, der den Betrieb einer Drosselklappen-/Bremssteuerung 1204 beeinflusst. Der Geschwindigkeitsprofiler 1202 weist die Drosselklappen-/Bremsensteuerung 1204 beispielsweise an, unter Verwenden der Drosselklappe/Bremse 1206 eine Beschleunigung zu aktivieren oder eine Verzögerung zu aktivieren abhängig von z. B. einer Rückmeldung, die von der Steuerung 1102 empfangen und von dem Geschwindigkeitsprofiler 1202 verarbeitet wurde.
  • Die Steuerung 1102 weist auch eine Seitenspurführungssteuerung 1208 auf, die den Betrieb einer Lenksteuerung 1210 beeinflusst. Die Seitenspurführungssteuerung 1208 weist die Lenksteuerung 1210 beispielsweise an, die Position des Lenkwinkel-Stellantriebs 1212 anzupassen, abhängig von z. B. einer Rückmeldung, die von der Steuerung 1102 empfangen und von der Seitenspurführungssteuerung 1208 verarbeitet wurde.
  • Die Steuerung 1102 empfängt verschiedene Eingaben, die verwendet werden, um zu bestimmen, wie die Drosselklappe/Bremse 1206 und der Lenkwinkel-Stellantrieb 1212 zu steuern sind. Ein Planungsmodul 404 stellt von der Steuerung 1102 verwendete Informationen bereit, beispielsweise Auswählen eines Kurses, wenn das AV 100 seinen Betrieb beginnt, und Bestimmen, welches Straßensegment zu durchqueren ist, wenn das AV 100 eine Kreuzung erreicht. Ein Lokalisierungsmodul 408 stellt Informationen an die Steuerung 1102 bereit, die beispielsweise den aktuellen Ort des AV 100 beschreiben, so dass die Steuerung 1102 basierend auf der Weise, in der die Drosselklappe/Bremse 1206 und der Lenkwinkel-Stellantrieb 1212 gesteuert werden, bestimmen kann, ob sich das AV 100 an einem erwarteten Ort befindet. Bei einer Ausführungsform empfängt die Steuerung 1102 Informationen von anderen Eingaben 1214, z. B. Informationen, die von Datenbasen, Computernetzwerken usw. empfangen werden.
  • Überblick über die Trajektorienvorhersage
  • Wie vorstehend erwähnt, beschreibt diese Schrift unterschiedliche Techniken zum Vorhersagen, wie ein Agent (z. B. ein Fahrzeug, Fahrrad, Fußgänger usw.) sich in einer Umgebung basierend auf der Bewegung der umgebenden Objekte bewegen werden. Die nachstehend beschriebenen Techniken beinhalten ein System, das Ortsdaten und Trajektoriendaten aus der Vergangenheit für Objekte innerhalb einer bestimmten Entfernung zu dem Agenten empfängt.
    Wie hier verwendet, bezieht sich der Begriff Agent auf ein Objekt (z. B. ein Fahrzeug, ein Fahrrad, ein Fußgänger oder ein anderes geeignetes Objekt), für welches das System versucht, eine Verteilung über mögliche Trajektorien vorherzusagen. Wie hier verwendet, bezieht sich der Begriff „Ortsdaten“ auf einen Ort eines Objekts (z. B. eines Fahrzeugs, eines Fahrrads, eines Fußgängers oder eines anderen geeigneten Objekts) in Beziehung zu einem Agenten oder einem anderen Objekt in einem Detektionsbereich. Wie hier verwendet, bezieht sich der Begriff „Trajektoriendaten aus der Vergangenheit“ auf eine Trajektorie eines konkreten Objekts (z. B. eines Fahrzeugs, eines Fahrrads, eines Fußgängers oder eines anderen geeigneten Objekts) für einen spezifischen Zeitraum (z. B. eine Sekunde, zwei Sekunden, drei Sekunden oder eine andere geeignete Zeit.) Bei einer Ausführungsform können die Trajektoriendaten aus der Vergangenheit rohe Sensordaten beinhalten, die über ein Zeitintervall aus der Vergangenheit aufgezeichnet wurden (z. B. eine Sekunde zuvor, zwei Sekunden zuvor, drei Sekunden zuvor oder eine andere geeignete Zeit).
  • 13 zeigt ein Beispiel für ein Bild 1300, das als Ortsdaten und Trajektoriendaten aus der Vergangenheit empfangen werden kann. Das Bild 1300 beinhaltet und von Fahrzeugen, die entlang einer Fahrspur fahren, mit dem aktuellen Ort jedes Fahrzeugs und einer Trajektorienhistorie aus der Vergangenheit jedes Fahrzeugs. Eine andere zeigt mehrere Fußgänger an Überwegen und beim Überqueren einer Fahrbahn. Das Bild 1300 kann von dem System empfangen werden, um verschiedene, nachstehend beschriebene Vorhersagetechniken durchzuführen. Bei einer Ausführungsform wird das Bild durch mehrfaches (z. B. eine Sekunde zuvor, zwei Sekunden zuvor, drei Sekunden zuvor oder eine andere geeignete Zeit) Überlagern von Kartendaten und anderen Objektdaten erstellt.
  • Die Aktionen in verschiedenen nachstehend beschriebenen Figuren (z. B. 14, 16 und 19) können von verschiedenen, zuvor in dieser Schrift beschriebenen Komponenten durchgeführt werden. Beispielsweise können ein oder mehrere Prozessoren 146 von 1 diese Aktionen durchführen. Bei einer Ausführungsform können einige oder alle der nachstehend beschriebenen Aktionen in einem Datenzentrum (z. B. dem Datenzentrum 204A) oder in mehreren Datenzentren (z. B. den Datenzentren 204A, 204B und/oder 204C, wie in 2 gezeigt) durchgeführt werden. Bei einer Ausführungsform können die nachstehend beschriebenen Aktionen von dem Wahrnehmungsschaltkreis 402, einem Planungsschaltkreis 404 und/oder einer Kombination aus beiden dieser Schaltkreise durchgeführt werden.) Der Klarheit halber bezieht sich diese Offenbarung jedoch auf ein System, das diese Aktionen als ein Vorhersagesystem durchführt.
  • Trajektorienvorhersage aus einer vorberechneten oder dynamisch generierten Wahrscheinlichkeitskarte
  • Eine Trajektorienvorhersagetechnik beinhaltet Generieren einer Wahrscheinlichkeitskarte, manchmal als Kostenübersicht (engl. cost map) oder Risikokarte (engl. heat map) bezeichnet. Das Vorhersagesystem empfängt Ortsdaten und Trajektoriendaten aus der Vergangenheit für Objekte innerhalb einer bestimmten Entfernung zu dem Agenten. Diese Objekte könnten von diesem Agenten detektiert worden sein (wenn der Agent z. B. ein Fahrzeug ist, könnten die Objekte von den Sensoren des Fahrzeugs detektiert worden sein.) Das Vorhersagesystem bestimmt einen Satz von Merkmalen aus den Objekten in dem Satz, kombiniert diese Merkmale mit Bewegungsdaten eines Agenten (z. B. Beschleunigung, Geschwindigkeit, Gierrate usw.) und generiert (z. B. unter Verwenden eines neuronalen Netzes) eine Wahrscheinlichkeitskarte aus dem verketteten Datensatz. Die Wahrscheinlichkeitskarte beinhaltet mehrere physikalische Orte (z. B. Quadrate von einem Meter Auflösung), sodass jedem physikalischen Ort eine Wahrscheinlichkeit, dass der Agent diesen physikalischen Ort durchfährt, zugewiesen wird. Basierend auf der Wahrscheinlichkeitskarte generiert das Vorhersagesystem eine oder mehrere vorhergesagte Trajektorien für den Agenten.
  • 14 ist ein Blockschaltbild eines Prozesses 1400, der durchgeführt werden kann, um eine oder mehrere Trajektorien eines Objekts vorherzusagen. Bei 1405 empfängt das Vorhersagesystem Ortsdaten und Trajektoriendaten aus der Vergangenheit für ein oder mehrere Objekte, die von einem oder mehreren Sensoren detektiert wurden. Beispielsweise kann, wie vorstehend erörtert, das Bild 1300 von 13 als die Ortsdaten und Trajektoriendaten aus der Vergangenheit empfangen werden. Bei einer Ausführungsform kann das Vorhersagesystem die Ortsdaten und die Trajektoriendaten aus der Vergangenheit in einem anderen Format empfangen. Das Vorhersagesystem kann die Trajektoriendaten aus der Vergangenheit für ein Zeitintervall aus der Vergangenheit (z. B. eine Sekunde, zwei Sekunden, drei Sekunden oder ein anderes geeignetes Zeitintervall) empfangen. Wenn die Ortsdaten und die Trajektoriendaten aus der Vergangenheit als Teil eines Bildes empfangen werden, kann das Bild die Trajektoriendaten aus der Vergangenheit für das eine oder die mehreren Objekte in einem farbcodierten Format beinhalten, um eine entsprechende Trajektorie aus der Vergangenheit für jedes Objekt aus dem einen oder den mehreren Objekten anzugeben. Beispielsweise ist jedes der Objekte 1302 gezeigt als dass es mehrere Farben aufweist, wobei eine sich allmählich ändernde Farbe den zeitlichen Verlauf für die Trajektoriendaten aus der Vergangenheit zeigt.
  • Bei 1410 bestimmt das Vorhersagesystem unter Verwenden eines oder mehrerer Prozessoren und basierend auf den Ortsdaten und den Trajektoriendaten aus der Vergangenheit einen Satz von Merkmalen für das eine oder die mehreren Objekte. Beispielsweise kann das Vorhersagesystem bei den Ausführungsformen, in denen die Ortsdaten und die Trajektoriendaten aus der Vergangenheit als ein Bild empfangen werden, das Bild in einen Klassifikator eingeben und aus dem Klassifikator eine Vielzahl von Merkmalen für das Bild empfangen. Die Merkmale für das Bild können Schnelligkeiten verschiedener Objekte, Orte und Entfernungen dieser Objekte und andere geeignete Informationen beinhalten. Bei 1415 kombiniert das Vorhersagesystem (z. B. unter Verwenden von einem oder mehreren Prozessoren) den Satz von Merkmalen mit Bewegungsdaten eines Agenten, um einen verketteten Datensatz zu bilden. Beispielsweise kann das Vorhersagesystem dem Merkmalssatz einen Vektor hinzufügen, der ein Tempo, Beschleunigung und Gierrate des Agenten beinhaltet.
  • Bei 1420 generiert das Vorhersagesystem unter Verwenden des einen oder der mehreren Prozessoren basierend auf dem verketteten Datensatz eine Wahrscheinlichkeitskarte, die eine Vielzahl von physikalischen Orten beinhaltet, wobei jedem physikalischen Ort aus der Vielzahl von physikalischen Orten eine Wahrscheinlichkeit, mit der sich ein Agent durch diesen Ort bewegt, zugewiesen wird. Bei einer Ausführungsform beinhaltet Generieren der Wahrscheinlichkeitskarte Eingeben des verketteten Datensatzes in ein neuronales Netz. Ein neuronales Netz kann ausgelegt sein, um den verketteten Datensatz als Eingabe zu akzeptieren.
  • Das neuronale Netz wird unter Verwenden eines Trainingssatzes trainiert. Der Trainingssatz kann beispielsweise mehrere Sätze von Ortsdaten und Trajektoriendaten aus der Vergangenheit für mehrere Objekte beinhalten. Bei einer Ausführungsform beinhaltet der Trainingssatz mehrere Bilder (z. B. im gleichen Format wie das Bild 1300). Außerdem beinhaltet der Trainingssatz eine Trajektorie des Agenten (z. B. den Weg, den der Agent gefahren ist). Die Ortsdaten und die Trajektoriendaten (z. B. das Bild im gleichen Format wie das Bild 1300) können in ein neuronales Netz eingegeben werden und das neuronale Netz kann eine vorhergesagte Trajektorie und eine Wahrscheinlichkeit für diese Trajektorie zurückgeben. Bei einer Ausführungsform gibt das neuronale Netz mehrere vorhergesagte Trajektorien und entsprechende Wahrscheinlichkeiten zurück. Das Vorhersagesystem kann die Trajektorie des Agenten mit einer vorhergesagten Trajektorie vergleichen, um einen Unterschied zwischen den beiden Trajektorien zu bestimmen. Das Vorhersagesystem kann den Unterschied und die Wahrscheinlichkeit einsetzen und diese Informationen durch das neuronale Netz zurückpropagieren. Das Vorhersagesystem kann beispielsweise das neuronale Netz anweisen, Knotengewichtungen basierend auf den Unterschieden und den Wahrscheinlichkeiten anzupassen. Wenn mehrere vorhergesagte Trajektorien und mehrere Wahrscheinlichkeiten bereitgestellt sind, kann das Vorhersagesystem mehrere Unterschiede generieren und diese Unterschiede und diese Wahrscheinlichkeiten durch das neuronale Netz zurückpropagieren. Das Vorhersagesystem kann diesen Prozess für jede Eingabe des Trainingssatzes wiederholen, um das neuronale Netz zu trainieren.
  • Bei einer Ausführungsform kann das Vorhersagesystem die folgenden Maßnahmen ergreifen, um das neuronale Netz zu trainieren. Bei einer Ausführungsform kann das Vorhersagesystem das Training unter Verwenden der Ressourcen (z. B. des/der Prozessors(en), des Speichers und anderer geeigneter Ressourcen) eines Fahrzeugs durchführen. Das Training kann außerhalb des Fahrzeugs (z. B. in einem Datenzentrum 204A, wie in 2 gezeigt) durchgeführt werden. Das Vorhersagesystem kann Trainingsortsdaten und Trainingstrajektoriendaten aus der Vergangenheit (z.B. eine Sekunde, zwei Sekunden oder ein anderes geeignetes Zeitintervall der Bewegung) für ein oder mehrere Trainingsobjekte empfangen. Die Trainingsortsdaten und die Trainingstrajektoriendaten aus der Vergangenheit können als ein Bild in dem gleichen Format wie das Bild 1300 von 13 empfangen werden. Das Vorhersagesystem kann basierend auf den Trainingsortsdaten und den Trainingstrajektoriendaten aus der Vergangenheit einen Satz von Trainingsmerkmalen für das eine oder die mehreren Trainingsobjekte bestimmen. Wenn beispielsweise die Ortsdaten und die Trajektoriendaten aus der Vergangenheit als ein Bild empfangen werden, kann das Vorhersagesystem das Bild in einen Klassifikator eingeben und aus dem Klassifikator eine Vielzahl von Merkmalen für das Bild empfangen. Die Merkmale für das Bild können Schnelligkeiten für verschiedene Objekte, Orte und Entfernungen dieser Objekte und andere geeignete Informationen beinhalten. Das Vorhersagesystem kombiniert den Satz von Trainingsmerkmalen mit Trainingsbewegungsdaten eines Agenten, um einen verketteten Trainingsdatensatz zu bilden. Das Vorhersagesystem kann beispielsweise einen Vektor hinzufügen, der ein Tempo, eine Beschleunigung und eine Gierrate für jedes Objekt beinhaltet.
  • Der verkettete Datensatz wird dann verwendet, um eine Trainingswahrscheinlichkeitskarte zu generieren, die eine Vielzahl physikalischer Orte zu Trainingszwecken beinhaltet, wobei jedem aus der Vielzahl physikalischer Orte zu Trainingszwecken eine Trainingswahrscheinlichkeit, in welcher sich ein Trainingsagent durch diesen Ort bewegt, zugewiesen wird. Das Vorhersagesystem bestimmt dann basierend auf der Trainingswahrscheinlichkeitskarte eine oder mehrere Trainingstrajektorien für den Trainingsagenten. Diese Aktion und die vorstehenden Aktionen zum Trainieren des neuronalen Netzes sind ähnlich den Aktionen, in denen das neuronale Netz ausgeführt wird, um eine vorhergesagte Trajektorie zu erhalten. Jedoch werden, nachdem eine Vorhersage generiert ist, unterschiedliche Aktionen durchgeführt. Konkret vergleicht das Vorhersagesystem die eine oder die mehreren Trainingstrajektorien mit einer bekannten Trajektorie des Trainingsagenten. Da die Ortsdaten und die Trajektoriendaten aus der Vergangenheit einen Teil des Trainingssatzes bilden, beinhaltet der Trainingssatz die Trajektorie, entlang der sich der Agent bewegt hat. Somit können eine oder mehrere vorhergesagte Trajektorien (Trainingstrajektorien) mit der Trajektorie verglichen werden, entlang der sich der Agent bewegt hat. Das Vorhersagesystem aktualisiert dann Gewichtungen eines Modells (z. B. des trainiert werdenden neuronalen Netzes) gemäß diesem Vergleichen. Wie vorstehend erörtert, können die Ergebnisse des Vergleichs (z. B. (ein) Unterschied(e) in den Trajektorien) durch das neuronale Netz zurückpropagiert werden, um die Gewichtungen des neuronalen Netzes anzupassen. Somit kann ein Aktualisieren der Gewichtungen des Modells gemäß dem Vergleichen durch Propagieren eines Unterschiedes zwischen jeder aus der einen oder den mehreren Trainingstrajektorien und der bekannten Trajektorie durch das Modell durchgeführt werden.
  • Bei einer Ausführungsform kann das Vorhersagesystem eine Datenstruktur für ein Raster generieren, das einen Detektionsbereich eines oder mehrerer Sensoren des Agenten darstellt. Das Raster kann mehrere Orte beinhalten und es kann die Wahrscheinlichkeitskarte darstellen. Das Vorhersagesystem kann jedem Ort innerhalb des Rasters eine Wahrscheinlichkeit, mit welcher der Agent an diesem Ort innerhalb des Rasters vorhanden sein wird, zuweisen. 15 ist ein Beispiel für einen Abschnitt einer Datenstruktur für eine Wahrscheinlichkeitskarte für einen Agenten. Wie durch die Datenstruktur 1500 von 15 gezeigt, speichert jeder Ort 1502 in der Wahrscheinlichkeitskarte (z. B. einem Raster) eine Wahrscheinlichkeit 1504 für den entsprechenden Ort in dem Raster. Bei einer Ausführungsform kann die Datenstruktur 1500 einen Zeitpunkt 1506 für jeden Ort in dem Raster speichern. Der Zeitpunkt gibt eine von der Eingabe der Ortsdaten und der Trajektoriendaten aus der Vergangenheit an abgelaufene Zeit an, während die Zeit von der Szene abläuft. Die Datenstruktur kann andere Parameter, wie durch das Parameterfeld 1508 angegeben ist. Bei einer Ausführungsform kann das Raster adaptiv bemessen sein. Beispielsweise können die Gebiete in dem Raster kleiner bemessen sein, die räumlich näher an dem Agent sind, und größer bemessen, die räumlich weiter von dem Agenten entfernt sind. Dieses Bemessen ermöglicht mehrere Vorhersagepunkte in der Nähe des Agenten. In einem anderen Beispiel kann das Raster basierend auf der Zeit bemessen sein. Das Vorhersagesystem kann beispielsweise für die ersten paar Sekunden mehr Koordinaten generieren als für die nächsten paar Sekunden, was ermöglicht, dass mehr Vorhersagedaten verarbeitet werden.
  • Wieder Bezug nehmend zu 14 bestimmt das Vorhersagesystem bei 1425 basierend auf der Wahrscheinlichkeitskarte eine oder mehrere vorhergesagte Trajektorien für das Fahrzeug. Das Vorhersagesystem kann aus der sich ergebenden Wahrscheinlichkeitskarte eine Trajektorie mit der höchsten Wahrscheinlichkeit auswählen. Während des Auswahlprozesses kann das Vorhersagesystem auf die mit dem Raster verknüpfte Datenstruktur zugreifen und die Orte mit der höchsten Wahrscheinlichkeit in dem Raster für jedes Zeitintervall (z. B. eine Sekunde, zwei Sekunden und/oder drei Sekunden) abrufen. Das Vorhersagesystem kann dann die ausgewählten Orte als vorhergesagte Trajektorie für den Agenten verwenden. Bei einer Ausführungsform kann das Vorhersagesystem mehrere Trajektorien auswählen. Es können beispielsweise drei vorhergesagte Trajektorien mit unterschiedlichen Wahrscheinlichkeiten vorhanden sein, eine zum Geradeausfahren, eine zum Rechtsabbiegen und eine zum Linksab biegen.
  • Bei 1430 veranlasst das Vorhersagesystem basierend auf der einen oder den mehreren vorhergesagten Trajektorien unter Verwenden eines Planungsschaltkreises eines Fahrzeugs die Generierung von einem oder mehreren Fahrbefehlen für das Fahrzeug. Das Vorhersagesystem kann sich zumindest teilweise in einem Fahrzeug befinden, welches das Vorhersagesystem verwendet, um vorherzusagen, wie sich andere Objekte (z. B. Agenten) bewegen werden. Somit kann der Planungsschaltkreis des Fahrzeugs eine oder mehrere vorhergesagte Trajektorien für die Objekte verwenden, um Fahrbefehle für das Fahrzeug zu generieren. Somit kann ein Fahrzeug eine oder mehrere computerlesbare Medien beinhalten, die computerausführbare Anweisungen speichern, und einen oder mehrere Prozessoren, die ausgelegt sind, die computerausführbaren Anweisungen auszuführen, die den Prozess 1400 durchführen.
  • Bei einer Ausführungsform liegt das Vorhersagesystem zumindest teilweise außerhalb des Fahrzeugs (z. B. in einem Datenzentrum 204A, wie in 2 gezeigt). Somit kann das Vorhersagesystem die vorhergesagten Trajektorien für die Objekte, die von dem Fahrzeug detektiert wurden, an das Fahrzeug übertragen und das Fahrzeug kann (z. B. unter Verwenden des Planungsschaltkreises) basierend auf den empfangenen Trajektorien Fahrbefehle generieren. Bei einer Ausführungsform können die Fahrbefehle von dem Fahrzeug entfernt (z. B. in einem Datenzentrum 204A, wie in 2 gezeigt) generiert werden und werden zur Ausführung an das Fahrzeug übertragen.
  • Bei 1435 veranlasst das Vorhersagesystem unter Verwenden eines Steuerschaltkreises des Fahrzeugs den Betrieb des Fahrzeugs basierend auf dem einen oder den mehreren Fahrbefehlen. Der Planungsschaltkreis kann beispielsweise die Fahrbefehle an den Steuerschaltkreis zur Ausführung übertragen. Der Steuerschaltkreis des Fahrzeugs kann die Befehle interpretieren und ausführen, um das Fahrzeug auf einer Trajektorie zu fahren, welche die detektierten Objekte (z. B. Agenten) basierend auf der vorhergesagten Trajektorie dieser Objekte vermeidet.
  • Die Aktionen, die bezüglich der Trajektorienvorhersage von einer vorberechneten oder dynamisch generierten Wahrscheinlichkeitskarte beschrieben wurden, können auf einem nichtflüchtigen computerlesbaren Speichermedium als ein oder mehrere Programme zur Ausführung durch einen oder mehrere Prozessoren (z. B. an einem Fahrzeug, in einem Datenzentrum oder einem anderen geeigneten Ort) gespeichert werden. Das eine oder die mehreren Programme können Anweisungen beinhalten, die, wenn sie durch den einen oder die mehreren Prozessoren ausgeführt werden, die Durchführung des/der vorstehend beschriebenen computerimplementierten Verfahren(s) veranlassen.
  • Trajektorienvorhersage aus einem Trajektoriengitter
  • Eine andere Trajektorienvorhersagetechnik beinhaltet Generieren eines Trajektoriengitters für einen Agenten (z. B. ein Fahrzeug, ein Fahrrad, einen Fußgänger oder ein anderes geeignetes Objekt). Das Vorhersagesystem empfängt Ortsdaten und Trajektoriendaten aus der Vergangenheit für Objekte innerhalb einer bestimmten Entfernung zu dem Agenten. Diese Objekte könnten von diesem Agenten detektiert worden sein (wenn der Agent z. B. ein Fahrzeug ist, könnten die Objekte von den Sensoren des Fahrzeugs detektiert worden sein). Das Vorhersagesystem bestimmt einen Satz von Merkmalen aus diesen Objekten, kombiniert die Merkmale in dem Satz mit Bewegungsdaten eines Agenten (z. B. Beschleunigung, Geschwindigkeit, Gierrate usw.) und generiert (z. B. unter Verwenden eines neuronalen Netzes) ein Trajektoriengitter für den Agenten. Das Trajektoriengitter beinhaltet mehrere Trajektorien für den Agenten. Bei einer Ausführungsform weist jede Trajektorie in dem Trajektoriengitter eine entsprechende Wahrscheinlichkeit auf. Basierend auf dem Trajektoriengitter generiert das Vorhersagesystem eine oder mehrere vorhergesagte Trajektorien für den Agenten.
  • 16 ist ein Blockschaltbild eines Prozesses 1600, der durchgeführt werden kann, um eine oder mehrere Trajektorien eines Agenten vorherzusagen. Bei 1605 empfängt das Vorhersagesystem Ortsdaten und Trajektoriendaten aus der Vergangenheit für ein oder mehrere Objekte, die von einem oder mehreren Sensoren detektiert wurden. Wie vorstehend erörtert, kann beispielsweise das Bild 1300 von 13 als die Ortsdaten und Trajektoriendaten aus der Vergangenheit empfangen werden. Bei einer Ausführungsform kann das Vorhersagesystem die Ortsdaten und die Trajektoriendaten aus der Vergangenheit in einem anderen Format als einem Bild empfangen. Das Vorhersagesystem kann die Trajektoriendaten aus der Vergangenheit für ein Zeitintervall aus der Vergangenheit (z. B. eine Sekunde, zwei Sekunden, drei Sekunden oder ein anderes geeignetes Zeitintervall) empfangen. Wenn die Ortsdaten und die Trajektoriendaten aus der Vergangenheit als Teil eines Bildes empfangen werden, kann das Bild die Trajektoriendaten aus der Vergangenheit für das eine oder die mehreren Objekte in einem farbcodierten Format beinhalten, um eine entsprechende Trajektorie aus der Vergangenheit für jedes Objekt aus dem einen oder den mehreren Objekten anzugeben. Beispielsweise ist jedes der Objekte 1302 gezeigt als dass es mehrere Farben mit einer allmählichen Farbveränderung aufweist, um den zeitlichen Verlauf für die Trajektoriendaten aus der Vergangenheit zu zeigen.
  • Bei 1610 bestimmt das Vorhersagesystem unter Verwenden von einem oder mehreren Prozessoren und basierend auf den Ortsdaten und den Trajektoriendaten aus der Vergangenheit einen Satz von Merkmalen für das eine oder die mehreren Objekte. Beispielsweise kann das Vorhersagesystem bei den Ausführungsformen, in denen die Ortsdaten und die Trajektoriendaten aus der Vergangenheit als ein Bild empfangen werden, das Bild in einen Klassifikator eingeben und aus dem Klassifikator eine Vielzahl von Merkmalen für das Bild empfangen. Die Merkmale für das Bild können Schnelligkeiten von verschiedenen Objekten, Orte und Entfernungen dieser Objekte und andere geeignete Informationen beinhalten. Bei 1615 kombiniert das Vorhersagesystem (z. B. unter Verwenden eines oder mehrerer Prozessoren) den Satz von Merkmalen mit Bewegungsdaten eines Agenten, um einen verketteten Datensatz zu bilden. Das Vorhersagesystem kann dem Merkmalssatz beispielsweise einen Vektor hinzufügen, der ein Tempo, Beschleunigung und Gierrate des Agenten beinhaltet.
  • Bei 1620 generiert das Vorhersagesystem basierend auf dem verketteten Datensatz ein Trajektoriengitter, das eine Vielzahl von möglichen Trajektorien für den Agenten beinhaltet, wobei jeder Trajektorie in dem Trajektoriengitter eine Wahrscheinlichkeit zugewiesen wird. Das Vorhersagesystem kann beispielsweise den verketteten Datensatz in ein neuronales Netz eingeben und aus dem neuronalen Netz Daten für das Trajektoriengitter empfangen. 17 zeigt ein mögliches Trajektoriengitter 1702, das von dem Vorhersagesystem generiert werden kann. Bei einer Ausführungsform generiert das Vorhersagesystem eine Datenstruktur für das Trajektoriengitter. Die Datenstruktur kann eine Vielzahl von Feldern für jede Trajektorie in dem Trajektoriengitter beinhalten. Die Felder können ein Koordinatenfeld zum Speichern der Koordinaten für jede Trajektorie und ein Wahrscheinlichkeitsfeld zum Speichern einer Wahrscheinlichkeit für jede Trajektorie beinhalten. Es können andere Felder in dem Trajektoriengitter beinhaltet sein.
  • Bei einer Ausführungsform kann das Vorhersagesystem ein neuronales Netz (z. B. ein zuvor trainiertes) verwenden, um das Trajektoriengitter zu generieren. Das Vorhersagesystem kann die folgenden Maßnahmen ergreifen, um das neuronale Netz zu trainieren. Das Vorhersagesystem kann das Training unter Verwenden der Ressourcen (z. B. Prozessor(en), Speicher und anderer geeigneter Ressourcen) eines Fahrzeugs durchführen. Bei einer Ausführungsform wird das Training außerhalb des Fahrzeugs (z. B. in einem Datenzentrum 204A, wie in 2 gezeigt) durchgeführt. Das Vorhersagesystem kann Trainingsortsdaten und Trainingstrajektoriendaten aus der Vergangenheit (z. B. eine Sekunde, zwei Sekunden oder ein anderes geeignetes Zeitintervall der Bewegung) für ein oder mehrere Trainingsobjekte empfangen. Die Trainingsortsdaten und die Trainingstrajektoriendaten aus der Vergangenheit können als ein Bild in dem gleichen Format wie das Bild 1300 von 13 empfangen werden. Das Vorhersagesystem kann basierend auf den Trainingsortsdaten und den Trainingstrajektoriendaten aus der Vergangenheit einen Satz von Trainingsmerkmalen für das eine oder die mehreren Trainingsobjekte bestimmen. Wenn beispielsweise die Ortsdaten und die Trajektoriendaten aus der Vergangenheit als ein Bild empfangen werden, kann das Vorhersagesystem das Bild in einen Klassifikator eingeben und aus dem Klassifikator eine Vielzahl von Merkmalen für das Bild empfangen. Die Merkmale für das Bild können Schnelligkeiten verschiedener Objekte, Orte und Entfernungen dieser Objekte und andere geeignete Informationen beinhalten. Das Vorhersagesystem kombiniert den Satz von Trainingsmerkmalen mit Trainingsbewegungsdaten eines Agenten, um einen verketteten Trainingsdatensatz zu bilden. Das Vorhersagesystem kann beispielsweise einen Vektor hinzufügen, der ein Tempo, eine Beschleunigung und eine Gierrate für jedes Objekt beinhaltet.
  • Der verkettete Datensatz wird dann verwendet, um ein Trainingstrajektoriengitter zu generieren, das eine Vielzahl von vorhergesagten Trainingstrajektorien beinhaltet, wobei jede aus der Vielzahl von vorhergesagten Trainingstrajektorien einer Trainingswahrscheinlichkeit eines Trainingsagenten zugewiesen wird (z. B. eine Wahrscheinlichkeit, dass der Agent die spezifische Trajektorie entlangfährt). Das Vorhersagesystem bestimmt dann basierend auf dem Trainingstrajektoriengitter eine oder mehrere Trainingstrajektorien für den Trainingsagenten. Diese Aktion und die vorstehenden Aktionen zum Trainieren des neuronalen Netzes ähneln den Aktionen, in denen das neuronale Netz ausgeführt wird, um eine vorhergesagte Trajektorie zu erhalten. Jedoch werden, nachdem eine Vorhersage generiert ist, unterschiedliche Aktionen durchgeführt. Konkret vergleicht das Vorhersagesystem die eine oder die mehreren Trainingstrajektorien mit einer bekannten Trajektorie des Trainingsagenten. Da die Ortsdaten und die Trajektoriendaten aus der Vergangenheit einen Teil des Trainingssatzes bilden, beinhaltet der Trainingssatz die Trajektorie, entlang der sich der Agent bewegt hat. Somit können eine oder mehrere vorhergesagte Trajektorien (Trainingstrajektorien) mit der Trajektorie verglichen werden, entlang der sich der Agent bewegt hat. Das Vorhersagesystem aktualisiert dann gemäß dem Vergleichen Gewichtungen eines Modells (z. B. dass das neuronale Netz trainiert wird). Wie vorstehend erörtert, können die Ergebnisse des Vergleichs (z. B. (ein) Unterschied(e) bei den Trajektorien) durch das neuronale Netz zurückpropagiert werden, um die Gewichtungen des neuronalen Netzes anzupassen. Somit kann ein Aktualisieren der Gewichtungen des Modells gemäß dem Vergleichen durch Propagieren eines Unterschieds zwischen jeder aus der einen oder den mehreren Trainingstrajektorien und der bekannten Trajektorie durch das Modell durchgeführt werden. Dieser Prozess kann für jeden verfügbaren Satz von Trainingsdaten wiederholt werden. Somit kann das Trajektoriengitter basierend auf dem Agentenzustand (z. B. Geschwindigkeit, Beschleunigung, Gierrate und/oder einer anderen Zustandskomponente) dynamisch generiert werden. Wie vorstehend erörtert, kann das Trajektoriengitter bei einer Ausführungsform auch auf einem Umgebungskontext für den Agenten (z. B. einem Straßennetzwerk, Kartendaten, anderen Objekten usw.) basieren.
  • Wieder Bezug nehmend auf 16 bestimmt das Vorhersagesystem bei 1625 basierend auf dem Trajektoriengitter eine oder mehrere vorhergesagte Trajektorien für den Agenten. Das Vorhersagesystem kann beispielsweise eine Trajektorie mit einer höchsten Wahrscheinlichkeit auswählen. Bei einer Ausführungsform verwendet das Vorhersagesystem Bewegungsdaten des Agenten, um die eine oder die mehreren vorhergesagten Trajektorien zu bestimmen. Das Vorhersagesystem kann eins oder mehrere aus Geschwindigkeit, Beschleunigung und Gierrate des Agenten empfangen und basierend auf einem oder mehreren aus Geschwindigkeit, Beschleunigung und Gierrate des Agenten in dem Trajektoriengitter die Trajektorien identifizieren, die der Agent nicht entlangfahren kann. Das Vorhersagesystem kann diese Trajektorien aus dem Trajektoriengitter entfernen. Das Vorhersagesystem kann eine oder mehrere Trajektorien aus dem aktualisierten Trajektoriengitter (z. B. basierend auf einer Wahrscheinlichkeit von jeder Trajektorie in dem Trajektoriengitter) auswählen.
  • Das Trajektoriengitter 1704 und das Trajektoriengitter 1706 stellen unterschiedliche mögliche Trajektorien basierend auf der Geschwindigkeit des Fahrzeugs dar. Das Trajektoriengitter 1704 stellt mögliche Trajektorien für die Geschwindigkeit des Agenten von zwei Metern pro Sekunde dar. Basierend auf dieser Geschwindigkeit gibt es viele Trajektorien in vielen Richtungen, die möglich sind. Das Trajektoriengitter 1706 stellt mögliche Trajektorien für die Geschwindigkeit von zehn Metern pro Sekunde dar. Wie im Trajektoriengitter 1706 dargestellt, ist der Agent (z. B. ein Fahrzeug) nicht in der Lage, bei dieser Geschwindigkeit bestimmte Wendungen vorzunehmen, somit sind die Trajektorien, die solche Wendungen erfordern, nicht beinhaltet (wurden z. B.) aus dem Trajektoriengitter 1706 (entfernt). Um Trajektorien zu identifizieren, die bei bestimmten Geschwindigkeiten nicht ausführbar sind, kann das Vorhersagesystem (z. B. für jede Objektart, wie etwa Fahrzeug, Fahrrad, Fußgänger oder andere Objektarten) verschiedene Manöver (z. B. Wendungen) speichern, die bei entsprechenden Geschwindigkeiten nicht ausführbar sind. Wenn beispielsweise ein Kehrtwendemanöver bei der Geschwindigkeit von zehn Metern pro Sekunde nicht ausführbar ist, kann das Vorhersagesystem diese Informationen speichern und auf diese Informationen zugreifen, um das Trajektoriengitter dementsprechend zu säubern.
  • Bei einer Ausführungsform verwendet das Vorhersagesystem Straßenverkehrsregeldaten zum Bestimmen von einer oder mehreren vorhergesagten Trajektorien. Das Vorhersagesystem kann eine oder mehrere Straßenverkehrsregeldaten empfangen (z. B. Daten, die Verkehrsregeln darstellen) und Straßenmarkierungsdaten (z. B. Fahrspurmarkierungen, Überwegmarkierungen usw.). Die Daten, die Verkehrsregeln darstellen, können Geschwindigkeitsbegrenzungsdaten, Verkehrsampeldaten (z. B. grün, rot oder gelb) und andere geeignete Verkehrsregeldaten beinhalten. Die Straßenmarkierungsdaten können Fahrspurmarkierungen (z. B. welche Fahrspuren in welche Richtungen führen), Überwegmarkierungen (z. B. zum Bestimmen, wo es wahrscheinlich ist, dass Fußgänger die Straße überqueren) und andere geeignete Straßenmarkierungsdaten beinhalten. Das Vorhersagesystem kann basierend auf der einen oder den mehreren aus den Straßenverkehrsregeldaten und den Straßenmarkierungsdaten in dem Trajektoriengitter die Trajektorien identifizieren, die der Agent nicht entlangfahren kann, und diese Trajektorien aus dem Trajektoriengitter entfernen. Wenn beispielsweise eine vorhergesagte Trajektorie vorhanden ist, in der ein Agent (z. B. ein Fahrzeug) eine Linksabbiegung vornimmt, aber gemäß den Verkehrsregeln an diesem Ort keine Linksabbiegung gestattet ist, kann das Vorhersagesystem diese Zurückweisung aus dem Trajektoriengitterentfernen.
  • Das Trajektoriengitter 1708 stellt ein Trajektoriengitter mit einer Anzahl von Trajektorien dar, die basierend auf Verkehrsregeln und/oder Straßenmarkierungen entfernt wurden. Die Darstellung zeigt, dass keine Trajektorien zum Linksabbiegen vorhanden sind (da z. B. das Linksabbiegen erfordern würde, entgegengesetzt zur Verkehrsrichtung zu fahren).
  • Wieder Bezug nehmend auf 16 veranlasst das Vorhersagesystem bei 1630 basierend auf der einen oder den mehreren vorhergesagten Trajektorien unter Verwenden eines Planungsschaltkreises eines Fahrzeugs die Generierung von einem oder mehreren Fahrbefehlen für das Fahrzeug. Bei einer Ausführungsform befindet sich das Vorhersagesystem zumindest teilweise in einem Fahrzeug, welches das Vorhersagesystem verwendet, um vorherzusagen, wie sich Agenten (z. B. Fahrzeuge, Fußgänger, Radfahrer und/oder andere geeignete Agenten) bewegen werden. Somit kann der Planungsschaltkreis des Fahrzeugs eine oder mehrere vorhergesagte Trajektorien für die Objekte verwenden, um Fahrbefehle für das Fahrzeug zu generieren. Somit kann ein Fahrzeug ein oder mehrere computerlesbare Medien, die computerausführbare Anweisungen speichern, und einen oder mehrere Prozessoren, die ausgelegt sind, die computerausführbaren Anweisungen auszuführen, die den Prozess 1600 durchführen, beinhalten.
  • Bei einer Ausführungsform liegt das Vorhersagesystem zumindest teilweise außerhalb des Fahrzeugs (z. B. in einem Datenzentrum 204A, wie in 2 gezeigt). Somit kann das Vorhersagesystem die vorhergesagten Trajektorien für die Objekte, die von dem Fahrzeug detektiert wurden, an das Fahrzeug übertragen und das Fahrzeug kann (z. B. unter Verwenden des Planungsschaltkreises) basierend auf den empfangenen Trajektorien Fahrbefehle generieren. Somit können die Fahrbefehle entfernt von dem Fahrzeug (z. B. in einem Datenzentrum 204A, wie in 2 gezeigt) generiert werden und werden an das Fahrzeug zur Ausführung übertragen.
  • Bei 1635 veranlasst das Vorhersagesystem unter Verwenden eines Steuerschaltkreises des Fahrzeugs den Betrieb des Fahrzeugs basierend auf dem einen oder den mehreren Fahrbefehlen. Der Planungsschaltkreis kann beispielsweise die Fahrbefehle an den Steuerschaltkreis zur Ausführung übertragen. Der Steuerschaltkreis des Fahrzeugs kann die Befehle interpretieren und ausführen, um das Fahrzeug auf einer Trajektorie zu führen, welche die detektierten Objekte (z. B. Agenten) basierend auf der vorhergesagten Trajektorie dieser Objekte vermeidet.
  • Die bezogen auf die Trajektorienvorhersage aus einem Trajektoriengitter beschriebenen Aktionen können auf einem nichtflüchtigen, computerlesbaren Speichermedium als ein oder mehrere Programme zur Ausführung durch einen oder mehrere Prozessoren (z. B. in einem Fahrzeug, in einem Datenzentrum oder an einem anderen geeigneten Ort) gespeichert werden. Das eine oder die mehreren Programme können Anweisungen beinhalten, die, wenn sie durch den einen oder die mehreren Prozessoren ausgeführt werden, die Durchführung des/der vorstehend beschriebenen computerimplementierten Verfahren(s) veranlassen.
  • 18 stellt mehrere vorhergesagte Trajektorien und die gefahrene Trajektorie eines Agenten (in diesem Falle eines Fahrzeugs) dar. Die gefahrene Trajektorie wird manchmal als Feldvergleich bezeichnet. Die Trajektorien 1802 und 1806 zeigen zwei vorhergesagte Trajektorien, während die Trajektorie 1804 die gefahrene Trajektorie darstellt. Wie in 18 dargestellt, ist die Trajektorie 1806 die beste Trajektorie in dem Satz von vorhergesagten Trajektorien, da sie der gefahrenen Trajektorie (dem Feldvergleich) am Nächsten ist.
  • Trajektorienvorhersage aus der multimodalen Regression
  • Eine andere Trajektorienvorhersagetechnik beinhaltet das Training eines Klassifikators (z. B. eines neuronalen Netzes), um mehrere Trajektorienvorhersagen für einen Agenten (z. B. ein Fahrzeug, ein Fahrrad, einen Fußgänger oder ein anderes geeignetes Objekt) zu generieren. Konkret führt das Modell an Koordinaten eine Regression durch und wendet auch eine Klassifikationskomponente auf den Fehler an, sodass Wahrscheinlichkeitswerte, die mit jeder der der Regression unterworfenen Trajektorien verknüpft sind, erzeugt werden. Die bei dieser Ausführungsform verwendeten Daten sind Trainingsdaten, die auch Trajektorien beinhalten, die der Agent gefahren ist. Als Teil des Trainingsprozesses kann das Vorhersagesystem diese Daten verwenden, wie nachstehend beschrieben. Das Vorhersagesystem empfängt Ortsdaten und Trajektoriendaten aus der Vergangenheit für Objekte innerhalb einer bestimmten Entfernung zu dem Agenten. Diese Objekte könnten von diesem Agenten detektiert worden sein (wenn der Agent z. B. ein Fahrzeug ist, könnten die Objekte von den Sensoren des Fahrzeugs detektiert worden sein). Das Vorhersagesystem lernt oder bestimmt einen Satz von Merkmalen aus diesen Objekten und kombiniert die Merkmale in dem Satz mit Bewegungsdaten eines Agenten (z. B. Beschleunigung, Geschwindigkeit, Gierrate usw.). Das Vorhersagesystem generiert eine Vielzahl von vorhergesagten Trajektorien (z. B. durch einen Regressionsvorgang an den Koordinaten und unter Verwenden der Klassifikationskomponente an dem Fehler, um basierend auf dem verketteten Datensatz Wahrscheinlichkeiten vorherzusagen, die mit diesen Trajektorien verknüpft sind). Das Vorhersagesystem verwendet dann Winkel zwischen den vorhergesagten Trajektorien, um eine Trajektorie aus der Vielzahl von vorhergesagten Trajektorien auszuwählen, die am besten mit dem Feldvergleich (d. h. der gefahrenen Trajektorie) übereinstimmt. Die ausgewählte Trajektorie wird dann verwendet um zu errechnen, wie weit die Vorhersage von dem Feldvergleich entfernt lag. Diese Informationen werden dann verwendet, um das neuronale Netz zu trainieren. Bei einer Ausführungsform kann das System, an Stelle der Verwendung von Winkeln zwischen den vorhergesagten Trajektorien und der gefahrenen Trajektorie zum Trainieren des Modells, eine andere Metrik verwenden. Basierend auf dem trainierten Modell generiert das Vorhersagesystem eine oder mehrere vorhergesagte Trajektorien für den Agenten und verwendet diese Informationen bei den Planungs- und Fahralgorithmen eines Fahrzeugs.
  • 19 ist ein Blockschaltbild eines Prozesses 1900, der durchgeführt werden kann, um einen Klassifikator zu trainieren, um eine oder mehrere Trajektorien eines Agenten vorherzusagen. Bei 1905 empfängt das Vorhersagesystem Ortsdaten und Trajektoriendaten aus der Vergangenheit für ein oder mehrere Objekte, die von einem oder mehreren Sensoren detektiert wurden. Beispielsweise, wie vorstehend erörtert, kann das Bild 1300 von 13 als die Ortsdaten und Trajektoriendaten aus der Vergangenheit empfangen werden. Bei einer Ausführungsform kann das Vorhersagesystem die Ortsdaten und die Trajektoriendaten aus der Vergangenheit in einem von dem Bild 1300 verschiedenen Format empfangen. Das Vorhersagesystem kann die Trajektoriendaten aus der Vergangenheit für ein Zeitintervall aus der Vergangenheit (z. B. eine Sekunde, zwei Sekunden, drei Sekunden oder ein anderes geeignetes Zeitintervall) empfangen. Wenn die Ortsdaten und die Trajektoriendaten aus der Vergangenheit als Teil eines Bildes empfangen werden, kann das Bild die Trajektoriendaten aus der Vergangenheit für das eine oder die mehreren Objekte in einem farbcodierten Format beinhalten, um eine entsprechende Trajektorie aus der Vergangenheit für jedes Objekt aus dem einen oder den mehreren Objekten anzugeben. Beispielsweise ist jedes der Objekte 1302 gezeigt als dass es mehrere Farben mit einer allmählichen Farbveränderung aufweist, um den zeitlichen Verlauf für die für die Trajektoriendaten aus der Vergangenheit zu zeigen.
  • Bei 1910 bestimmt das Vorhersagesystem unter Verwenden eines oder mehrerer Prozessoren und basierend auf den Ortsdaten und den Trajektoriendaten aus der Vergangenheit einen Satz von Merkmalen für das eine oder die mehreren Objekte. Bei den Ausführungsformen, bei denen die Ortsdaten und die Trajektoriendaten aus der Vergangenheit als ein Bild empfangen werden, empfängt das Vorhersagesystem das Bild als Eingabe und gibt als ein Zwischenergebnis eine Vielzahl von Merkmalen für das Bild aus. Bei 1915 kombiniert das Vorhersagesystem (z. B. unter Verwenden eines oder mehrerer Prozessoren) den Satz von Merkmalen mit Bewegungsdaten eines Agenten (z. B. eines Fahrzeugs, eines Fahrrads, eines Fußgängers oder eines anderen geeigneten Agenten), um einen verketteten Datensatz zu bilden. Das Vorhersagesystem kann dem Merkmalssatz beispielsweise einen Vektor hinzufügen, der ein Tempo, eine Beschleunigung und eine Gierrate des Agenten beinhaltet.
  • Bei 1920 generiert das Vorhersagesystem basierend auf dem verketteten Datensatz eine Vielzahl von vorhergesagten Trajektorien. Das Vorhersagesystem kann beispielsweise den verketteten Datensatz in ein neuronales Netz eingeben und aus dem neuronalen Netz Daten für die vorhergesagten Trajektorien empfangen. Die Daten für die vorhergesagten Trajektorien können in einer Datenstruktur gespeichert werden, die eine Vielzahl von Feldern für jede vorhergesagte Trajektorie beinhalten kann. Die Felder können ein Koordinatenfeld zum Speichern der Koordinaten für jede Trajektorie und ein Wahrscheinlichkeitsfeld zum Speichern einer Wahrscheinlichkeit für jede Trajektorie beinhalten. Es können andere Felder in der Datenstruktur beinhaltet sein. Außerdem kann das Vorhersagesystem eine Anzahl von gewünschten vorhergesagten Trajektorien aus dem Speicher abrufen. Die vorhergesagten Trajektorien können mit entsprechenden Wahrscheinlichkeiten abgerufen werden. Bei einer Ausführungsform können sowohl die Trajektorien als auch die entsprechenden Wahrscheinlichkeitswerte von dem neuronalen Netz parallel vorhergesagt werden. Somit kann jedes aus der Vielzahl der Felder Koordinaten beinhalten und auch den Wahrscheinlichkeitswert für jede Trajektorie beinhalten. Somit kann der Fehler des neuronalen Netzes zwei Komponenten enthalten: eine für die Klassifikation, die Wahrscheinlichkeitswerte für jede Trajektorie vorhersagt, und eine für die Regression, die an den Koordinaten einen Regressionsvorgang durchführt (d. h., um die tatsächlichen Koordinatenwerte vorherzusagen, welche die Trajektorien ausmachen).
  • Bei 1925 berechnet das Vorhersagesystem eine Vielzahl von Winkeln zwischen jeder aus der Vielzahl von vorhergesagten Trajektorien und der Trajektorie, die der Agent gefahren ist. Für eine gegebene vorhergesagte Trajektorie kann beispielsweise der Winkel zwischen der vorhergesagten Trajektorie und der Trajektorie, die der Agent gefahren ist (d. h., dem Feldvergleich) errechnet werden, indem eine gerade Linie zwischen dem Mittelpunkt des Agenten und dem letzten Punkt in der gefahrenen Trajektorie (dem Feldvergleich) und eine gerade Linie zwischen dem Mittelpunkt des Fahrzeugs und dem letzten Punkt in der vorhergesagten Trajektorie genommen wird und der Wert des Winkels zwischen den beiden Linien errechnet wird (z. B. ein Winkel in Grad im Bereich zwischen Null und einhundertachtzig). Bei einer Ausführungsform kann an Stelle von Winkeln eine andere Metrik in dem Vorhersagesystem verwendet werden. Das Vorhersagesystem kann eine Vielzahl von Metriken zwischen jeder aus der Vielzahl von vorhergesagten Trajektorien und einer Trajektorie, die der Agent gefahren ist, berechnen.
  • Bei 1930 bestimmt das Vorhersagesystem, ob ein oder mehrere aus der Vielzahl von Winkeln innerhalb eines Grenzwerts liegen. Ein Grenzwert kann jeder geeignete Winkel (z. B. sieben Grad, acht Grad, neun Grad oder ein anderer geeigneter Winkel) sein und kann empirisch erhalten werden. Das Vorhersagesystem kann für jede vorhergesagte Trajektorie einen Winkel zwischen der Trajektorie (wie vorstehend beschrieben) mit einem Grenzwinkel (z. B. sieben Grad) vergleichen. Bei einer Ausführungsform kann das Vorhersagesystem bestimmen, ob eine oder mehrere aus der Vielzahl von Metriken innerhalb eines Grenzwerts liegen.
  • Bei 1935 wählt das Vorhersagesystem, wenn es bestimmt, dass keiner aus der Vielzahl von Winkeln innerhalb des Grenzwerts liegt, eine beste Trajektorie aus der Vielzahl von vorhergesagten Trajektorien unter Verwenden einer Funktion aus. In vielen Varianten tritt das Szenario, in dem keiner aus der Vielzahl von Winkeln innerhalb eines Grenzwerts liegt, am Beginn der Trainingsroutine für das neuronale Netz auf. Da das neuronale Netz noch nicht gut trainiert ist, sind vorhergesagte Trajektorien im Allgemeinen noch nicht sehr genau, was zu großen Unterschieden (z. B. großen Winkeln) zwischen den projizierten Trajektorien und der gefahrenen Trajektorie (d. h., dem Feldvergleich) führt. Bei einer Ausführungsform wählt die Funktion eine Trajektorie aus der Vielzahl von vorhergesagten Trajektorien zufällig aus. Das Vorhersagesystem kann beispielsweise die Anzahl von vorhergesagten Trajektorien abrufen und diese Anzahl in einen Zufallszahlengenerator eingeben. Das Vorhersagesystem empfängt die Ausgabe des Zufallszahlengenerators und wählt die entsprechende vorhergesagte Trajektorie basierend auf der Ausgabe aus. Wenn das Vorhersagesystem einen Teilsatz von Modi mit einem Wert des Winkels unterhalb des Grenzwerts bestimmt, wählt das Vorhersagesystem einen Modus aus diesem Teilsatz von Modi aus, der den Durchschnitt von L2-Normen minimiert. Bei einer Ausführungsform kann das Vorhersagesystem an Stelle von Winkeln eine andere Metrik verwenden.
  • Es können verschiedene andere Möglichkeiten verwendet werden, um eine vorhergesagte Trajektorie auszuwählen, die manchmal als beste Ausführungsform bezeichnet werden. Beispielsweise kann jedes Mal eine vorhergesagte Trajektorie basierend auf Minimieren eines Durchschnitts einer spezifischen Metrik (z. B. einer L2--Norm zwischen jeder vorhergesagten Trajektorie und der gefahrenen Trajektorie) ausgewählt werden. Wenn diese Herangehensweise angewendet wird, würde das Vorhersagesystem dem Problem des Kollapsmodus begegnen. Dies liegt daran, dass das Vorhersagesystem (z. B. ein neuronales Netz) eine vorhergesagte Trajektorie (z. B. einen Modus) anfangs auswählt und danach den Fehler pro Agenten (nachstehend beschrieben) unter Verwenden dieses vorhergesagten Trajektorienmodus errechnet, indem Gewichtungen entsprechend dieser Trajektorie während des Rückpropagationsprozesses aktualisiert werden. Bei der nächsten Trainingseingabe würde das Vorhersagesystem wieder die gleiche vorhergesagte Trajektorie als die beste auswählen, da es diese Trajektorie jetzt verbessert hat, was dazu führt, dass die gleiche vorhergesagte Trajektorie die beste Metrik bereitstellt (z. B. Durchschnitt von L2-Normen). Dieses Szenario würde zum Problem des Kollapsmodus führen, bei dem das Vorhersagesystem nur das Modell (z. B. ein neuronales Netz) für eine vorhergesagte Trajektorie trainieren würde. Somit sind andere mögliche Trajektorientrainingsmöglichkeiten verloren. Ein Auswählen einer zufälligen zu trainierenden Trajektorie, wenn keine Winkel innerhalb eines Grenzwerts liegen, ermöglicht ein Untersuchen aller Trajektorien während des Trainings.
  • Bei einer Ausführungsform wählt die Funktion eine Trajektorie aus der Vielzahl von vorhergesagten Trajektorien basierend auf einer Vielzahl von Mustern aus. Wie in dieser Schrift bezeichnet, bezieht sich ein Muster auf eine Mustertrajektorie. Das Vorhersagesystem kann Muster durch Einsetzen von Clustertechniken an Trainingssatzdaten generieren, um eine Anzahl von Mustern zu erhalten, die gleich der Anzahl von vorhergesagten Trajektorien ist, die am Anfang des Trainings ausgewählt wurden. Das Vorhersagesystem kann beispielsweise jede gefahrene Trajektorie in dem Trainingssatz analysieren und eine Vielzahl von Clustern von Trajektorien in diesem Trainingssatz bestimmen. Es kann beispielsweise ein Cluster von Trajektorien zum Rechtsabbiegen in einem spezifischen Winkel, ein Cluster von Trajektorien zum Linksabbiegen in einem spezifischen Winkel, ein Cluster von Trajektorien zum Geradeausfahren oder ein anderes geeignetes Cluster von Trajektorien vorhanden sein. Wenn das Vorhersagesystem ausgelegt ist, Muster während des Trainings zu verwenden, liegt der Winkelvergleich für jede vorhergesagte Trajektorie bei jeder Mustertrajektorie (z. B. basierend darauf, dass der Winkel zwischen der vorhergesagten Trajektorie und der gefahrenen Trajektorie über dem Grenzwert liegt). Somit wird die vorhergesagte Trajektorie basierend auf dem Index des ausgewählten Musters ausgewählt. Das heißt, wenn das Vorhersagesystem Muster beinhaltet, die mit 0, 1, 2 beziffert sind, und das Vorhersagesystem das Muster 2 als das am besten passende Muster auswählt, wählt das Vorhersagesystem den Modus 2 als den am besten passenden Modus zum weiteren Verwenden in dem Modell aus.
  • Um den Kollapsmodus zu verhindern, generiert das Vorhersagesystem bei einer Ausführungsform Mustertrajektorien basierend auf Klassen der oberen Ebene. Diese Mustertrajektorien werden als „fixierte Muster“ bezeichnet, da diese Mustertrajektorien für einen Agenten generiert werden und sich nicht abhängig von den unterschiedlichen Bewegungen oder Zuständen des Agenten ändern. Wenn die Anzahl der zum Training ausgewählten Trajektorien beispielsweise drei beträgt, kann das Vorhersagesystem Muster für Trajektorien zum Linksabbiegen, Rechtsabbiegen und Geradeausfahren generieren. Wenn die Anzahl der zum Training ausgewählten Trajektorien fünf beträgt, kann das Vorhersagesystem Mustertrajektorien in fünf unterschiedliche Richtungen generieren. Somit generiert das Vorhersagesystem die Vielzahl von Mustern basierend auf möglichen Trajektorien für den Agenten.
  • Das Vorhersagesystem kann Muster basierend auf einem Anfangssatz von Bedingungen generieren, die auf einem Zustand des Agenten (z. B. Schnelligkeit, Beschleunigung, Gierrate, Kurs und/oder einer anderen geeigneten Bedingung) basieren. Diese Muster werden manchmal als dynamische Muster bezeichnet, da sie sich abhängig von den unterschiedlichen Bewegungen oder Zuständen des Agenten ändern. In diesem Fall generiert das Vorhersagesystem für jede Bedingung einen anderen Satz von Mustern. Somit generiert das Vorhersagesystem die Vielzahl von Mustern basierend auf einem Zustand des Agenten (z. B. Schnelligkeit, Beschleunigung, Gierrate, Kurs und/oder einer anderen geeigneten Bedingung).
  • Das Vorhersagesystem kann die Muster verwenden, wenn ein Winkel zwischen einer vorhergesagten Trajektorie und der gefahrenen Trajektorie (z. B. dem Feldvergleich) nicht innerhalb eines Grenzwerts liegt (z. B. an Stelle des Wählens einer zufälligen vorhergesagten Trajektorie). Jedoch können die Muster beispielsweise auch während einer festgelegten Anzahl von Iterationen zu Beginn des Trainingsprozesses verwendet werden, wonach das Vorhersagesystem zum Auswählen der besten vorhergesagten Trajektorie basierend auf einer Metrik (z. B. einer L2-Norm) wechselt. Somit wählt das Vorhersagesystem basierend auf Bestimmen, dass einer oder mehrere aus der Vielzahl von Winkeln innerhalb des Grenzwerts liegen (z. B. nach einer bestimmten Anzahl von Trainingsiterationen), eine Trajektorie aus der Vielzahl von vorhergesagten Trajektorien basierend auf einem Unterschied zwischen der Trajektorie, die der Agent gefahren ist, und einer entsprechenden Trajektorie für jede vorhergesagte Trajektorie aus der Vielzahl von vorhergesagten Trajektorien aus.
  • Bei einer Ausführungsform wählt das Vorhersagesystem ein Muster zufällig aus und wählt das ausgewählte Muster als die gefahrene Trajektorie (d. h., den Feldvergleich) für die vorhergesagte Trajektorie mit dem gleichen Index aus. Dies führt zum Trainieren der unterschiedlichen vorhergesagten Trajektorien dahingehend, dass sie beginnen, den Mustern zu ähneln. Bei einer Ausführungsform hört das Vorhersagesystem damit auf, die Muster zu verwenden, und verwendet die gefahrenen Trajektorien (d. h., die Feldvergleiche), nachdem die vorhergesagten Trajektorien trainiert wurden, sinnvoller auszusehen (manchmal als „Burn-In“-Phase bezeichnet, wenn das Vorhersagesystem keine Winkel zwischen einer vorhergesagten Trajektorie und der gefahrenen Trajektorie unter einem Grenzwert identifizieren kann).
  • Wieder Bezug nehmend auf 19 errechnet das Vorhersagesystem bei 1940 einen Unterschied zwischen der Trajektorie, die als die am besten passende Trajektorie ausgewählt wurde, und der Trajektorie, die der Agent gefahren ist. Das Vorhersagesystem kann beispielsweise den Fehler pro Agenten durch Aufsummieren des Regressionsfehlers für die ausgewählte vorhergesagte Trajektorie (d. h., den besten Modus) und auch des Klassifikationsfehlers für alle vorhergesagten Trajektorien (d. h., Modi) errechnen. Ein Verfahren zum Aufsummieren des Regressionsfehlers besteht beispielsweise im Verwenden des glatten L1-Fehlers und eine Möglichkeit zum Aufsummieren des Klassifikationsfehlers besteht im Verwenden von Kreuzentropie. Somit kann der Gesamtfehler aus einer Summe des Regressionsfehlers unter Verwenden des glatten L1-Fehlers und der Kreuzentropie bestehen. Um den Fehler über den vollständigen Trainingssatz zu errechnen, summiert das Vorhersagesystem alle Fehler pro Agenten (z. B. den Fehler für jede Variante von Ortsdaten und Trajektoriendaten aus der Vergangenheit, beispielsweise Bild 1300) auf.
  • Bei 1945 passt das Vorhersagesystem Gewichtungen eines Modells (z. B. eines neuronalen Netzes) basierend auf dem Unterschied an. Beispielsweise werden die Unterschiede durch das Modell zurückpropagiert, um die Gewichtungen des Modells für eine bessere Leistung während der nächsten Iteration anzupassen.
  • Bei 1950 veranlasst das Vorhersagesystem basierend auf dem Modell unter Verwenden eines Planungsschaltkreises eines Fahrzeugs die Generierung von einem oder mehreren Fahrbefehlen für das Fahrzeug. Das Vorhersagesystem kann sich zumindest teilweise in einem Fahrzeug befinden, welches das Vorhersagesystem verwendet, um vorherzusagen, wie sich Agenten (z. B. Fahrzeuge, Fußgänger, Radfahrer) bewegen werden. Somit kann der Planungsschaltkreis des Fahrzeugs eine oder mehrere vorhergesagte Trajektorien für die Objekte verwenden, um Fahrbefehle für das Fahrzeug zu generieren. Bei einer Ausführungsform kann der Planungsschaltkreis die vorhergesagten Trajektorien und die zugewiesenen Wahrscheinlichkeiten verwenden, um die Fahrbefehle zu generieren. Das heißt, das Vorhersagesystem kann die Planung über die möglichen Trajektorien und auch über die Wahrscheinlichkeit, wie jede von ihnen stattfinden wird, informieren.
    Somit kann ein Fahrzeug ein oder mehrere computerlesbare Medien, die computerausführbare Anweisungen speichern, und einen oder mehrere Prozessoren beinhalten, die ausgelegt sind, die computerausführbaren Anweisungen auszuführen, die den Prozess 1600 durchführen.
  • Das Vorhersagesystem kann, zumindest teilweise, außerhalb des Fahrzeugs (z. B. in einem Datenzentrum 204A, wie in 2 gezeigt) liegen. Somit kann das Vorhersagesystem die vorhergesagten Trajektorien für die Objekte, die von dem Fahrzeug detektiert wurden, an das Fahrzeug übertragen und das Fahrzeug kann (z. B. unter Verwenden des Planungsschaltkreises) Fahrbefehle basierend auf den empfangenen Trajektorien generieren. In diesem Szenario können die Fahrbefehle entfernt von dem Fahrzeug (z. B. in einem Datenzentrum 204A, wie in 2 gezeigt) generiert werden und werden an das Fahrzeug zur Ausführung übertragen.
  • Bei 1655 veranlasst das Vorhersagesystem unter Verwenden eines Steuerschaltkreises des Fahrzeugs den Betrieb des Fahrzeugs basierend auf dem einen oder den mehreren Fahrbefehlen. Der Planungsschaltkreis kann beispielsweise die Fahrbefehle an den Steuerschaltkreis zur Ausführung übertragen. Der Steuerschaltkreis des Fahrzeugs kann die Befehle interpretieren und ausführen, um das Fahrzeug auf einer Trajektorie zu führen, welche die detektierten Objekte basierend auf der vorhergesagten Trajektorie dieser Objekte vermeidet.
  • Bei einer Ausführungsform wird eine Trajektorie, die innerhalb eines ε (epsilon)-Werts des Feldvergleichs liegt, nicht bestraft. In einer Herangehensweise wird die Klassifikation als Multilabel-Problem umformuliert.
    Beispielsweise wird y verwendet, um eine Anordnung von 1en und 0en zu bezeichnen, wobei jeder Eintrag 1 lautet, wenn diese Trajektorie in einem Trajektoriensatz innerhalb ε des Feldvergleichs liegt und anderenfalls 0 beträgt. Die neue Klassifikationsfehlerfunktion ist eine modifizierte Kreuzentropie-(modified cross entropy - MCE)-Fehlerfunktion und wie folgt in Gleichung (1) definiert. M C E ( y ^ , y ) = 1 Σ i y i i y i ( y ^ i [ i ] + log ( k e x p ( y ^ k ) )
    Figure DE102020129456A1_0001
  • In Gleichung (1) wird i verwendet, um die Trajektorien (Klassen) zu indizieren. Der MCE-Fehler mittelt den log-Softmax-Wert der Logits für die Trajektorien, die innerhalb eines ε-Werts des Feldvergleichs liegen. Die Softmax-Funktion bezieht sich auf eine Funktion, die als Eingabe einen Vektor von K realen Zahlen verwendet und ihn in eine Wahrscheinlichkeitsverteilung normalisiert, die K Wahrscheinlichkeiten proportional zu den Exponentialfunktionen der eingegebenen Zahlen beinhaltet. Die logistische Funktion bezieht sich auf eine Art von Funktion, die ein Modell von Wahrscheinlichkeitswerten erzeugt. Es können unterschiedliche Abstandsfunktionen und Werte von ε verwendet werden, beispielsweise die mittleren oder maximalen L2-Abstandsfunktionen.
  • Bei einer anderen Herangehensweise wird eine gewichtete Kreuzentropie-Fehlerfunktion verwendet. Beispielsweise wird d verwendet, um den Vektor zu bezeichnen, der den elementweisen L2 -Abstand zwischen jeder Trajektorie in dem Trajektoriensatz und dem Feldvergleich speichert. Für jeden Eintrag in d, der kleiner ist als ε, wird der Eintrag durch 0 ersetzt. Die Normalisierung von d wird durch dnorm bezeichnet. Der Vektor d wird auf 1 aufsummiert. Die Anordnung y bezeichnet eine Anordnung von 1en und 0en, wobei jeder Eintrag 1 beträgt, wenn diese Trajektorie der dem Feldvergleich nächste Trajektoriensatz ist und anderenfalls 0 beträgt. Die neue Klassifikationsfehlerfunktion wird wie folgt in Gleichung (2) ausgedrückt. i 1 κ k d norm  i k  y i k   log ( y ^ i k )
    Figure DE102020129456A1_0002
  • In Gleichung (2) bezeichnet K die Größe der Trajektorie. Gleichung (2) stellt einen Kreuzentropiefehler dar, doch ist dieser durch die Entfernung gewichtet.
  • Bei einer Ausführungsform wird für Trajektorien, welche die Straße verlassen, eine Bestrafung hinzugefügt. In einer Herangehensweise wird das Modell verwendet, um zu klassifizieren, welche Trajektorien außerhalb der Straße sind. Beispielsweise bezeichnet der Ausdruck eine jegliche der vorstehend beschriebenen Klassifikationsfehlerfunktionen oder die grundlegende CoverNet-Fehlerfunktion. Eine Anordnung r bezeichnet eine Anordnung von 1en und 0en, wobei jeder Eintrag 1 beträgt, wenn diese Trajektorie in dem Trajektoriensatz vollständig innerhalb des befahrbaren Gebiets liegt, und anderenfalls 0. Die Bestrafung für das Verlassen der Straße wird wie folgt in Gleichung (3) definiert. Ω ( y ^ ) = 1 n i b c e ( σ ( y ^ i ) , r i )
    Figure DE102020129456A1_0003
  • Der bce-Term bezeichnet die binäre Kreuzentropie. Die neue Fehlerfunktion wird wie folgt in Gleichung (4) ausgedrückt. L ( y ^ , y ) + λΩ ( y ^ )
    Figure DE102020129456A1_0004
  • In Gleichung (4) gilt [0, ∞]. Ein Vorteil dieser Herangehensweise besteht darin, dass die Bestrafung für das Verlassen der Straße als ein Klassifikationsproblem formuliert ist, sodass die Klassifikationsfehlerfunktion und die Bestrafung für das Verlassen der Straße auf natürliche Weise kombiniert werden können, ohne die Einheiten neu zu skalieren.
  • Zusätzliche Ausführungsformen
  • Bei einer Ausführungsform empfangen ein oder mehrere Prozessoren Ortsdaten und Trajektoriendaten aus der Vergangenheit für ein oder mehrere Objekte, die von einem oder mehreren Sensoren detektiert wurden. Der eine oder die mehreren Prozessoren bestimmen basierend auf den Ortsdaten und den Trajektoriendaten aus der Vergangenheit einen Satz von Merkmalen für das eine oder die mehreren Objekte. Der eine oder die mehreren Prozessoren kombinieren den Satz von Merkmalen mit Bewegungsdaten eines Agenten, um einen verketteten Datensatz zu bilden. Basierend auf dem verketteten Datensatz wird ein Trajektoriengitter generiert, das mehrere mögliche Trajektorien für den Agenten beinhaltet. Jeder Trajektorie in dem Trajektoriengitter wird eine Wahrscheinlichkeit zugewiesen. Basierend auf dem Trajektoriengitter werden eine oder mehrere vorhergesagte Trajektorien für den Agenten bestimmt. Basierend auf der einen oder den mehreren vorhergesagten Trajektorien wird die Generierung von einem oder mehreren Fahrbefehlen für das Fahrzeug unter Verwenden eines Planungsschaltkreises eines Fahrzeugs veranlasst. Unter Verwenden eines Steuerschaltkreises des Fahrzeugs wird der Betrieb des Fahrzeugs basierend auf dem einen oder den mehreren Fahrbefehlen veranlasst.
  • Bei einer Ausführungsform beinhaltet Generieren des Trajektoriengitters für den Agenten Eingeben des verketteten Datensatzes in ein neuronales Netz. Aus dem neuronalen Netz werden Daten für das Trajektoriengitter empfangen.
  • Bei einer Ausführungsform beinhaltet Bestimmen, basierend auf dem Trajektoriengitter, der Trajektorie für den Agenten Empfangen von einem oder mehreren aus Geschwindigkeit, Beschleunigung und Gierrate des Agenten. In dem Trajektoriengitter werden basierend auf dem einen oder den mehreren aus Geschwindigkeit, Beschleunigung und Gierrate des Agenten diejenigen Trajektorien identifiziert, die der Agent nicht fahren kann. Diese Trajektorien werden aus dem Trajektoriengitter entfernt.
  • Bei einer Ausführungsform beinhaltet Identifizieren, basierend auf dem Trajektoriengitter, der Trajektorie für den Agenten Empfangen von einer oder mehreren aus Straßenverkehrsregeldaten und Straßenmarkierungsdaten. In dem Trajektoriengitter werden basierend auf dem einen oder den mehreren aus den Straßenverkehrsregeldaten und den Straßenmarkierungsdaten diejenigen Trajektorien identifiziert, die der Agent nicht fahren kann. Diese Trajektorien werden aus dem Trajektoriengitter entfernt.
  • Bei einer Ausführungsform beinhaltet Empfangen der Trajektoriendaten aus der Vergangenheit Empfangen einer Trajektorie von jedem Objekt aus dem einen oder den mehreren Objekten für ein Zeitintervall aus der Vergangenheit.
  • Bei einer Ausführungsform beinhaltet Empfangen der Ortsdaten und der Trajektoriendaten aus der Vergangenheit Empfangen eines Bildes. Das Bild beinhaltet die Ortsdaten für das eine oder die mehreren Objekte und die Trajektoriendaten aus der Vergangenheit für das eine oder die mehreren Objekte. Die Trajektoriendaten aus der Vergangenheit sind farbcodiert, um eine entsprechende Trajektorie aus der Vergangenheit für jedes Objekt aus dem einen oder den mehreren Objekten relativ zu den Ortsdaten anzugeben.
  • Bei einer Ausführungsform beinhaltet Bestimmen des Satzes von Merkmalen für das eine oder die mehreren Objekte Eingeben des Bildes in einen Klassifikator und Empfangen, aus dem Klassifikator, von mehreren Merkmalen für das Bild.
  • Bei einer Ausführungsform befinden sich der eine oder die mehreren Prozessoren in dem Fahrzeug.
  • Bei einer Ausführungsform befinden sich der eine oder die mehreren Prozessoren entfernt von dem Fahrzeug.
  • Bei einer Ausführungsform werden Trainingsortsdaten (z. B. Positionsdaten für Fahrzeuge, Fahrräder, Fußgänger usw.) und Trainingstrajektoriendaten aus der Vergangenheit für ein oder mehrere Trainingsobjekte empfangen.
    Basierend auf den Trainingsortsdaten und den Trainingstrajektoriendaten aus der Vergangenheit wird ein Satz von Trainingsmerkmalen für das eine oder die mehreren Trainingsobjekte bestimmt. Der Satz von Trainingsmerkmalen wird mit Trainingsbewegungsdaten eines Trainingsagenten (z. B. Geschwindigkeit, Beschleunigung und Gierrate eines Fahrzeugs) kombiniert, um einen verketteten Trainingsdatensatz zu bilden. Basierend auf dem verketteten Trainingsdatensatz wird ein Trainingstrajektoriengitter bestimmt. Das Trainingstrajektoriengitter beinhaltet einen Trainingssatz von vorhergesagten Trajektorien. Jeder Trajektorie in dem Trajektoriengitter wird eine Wahrscheinlichkeit zugewiesen. Basierend auf dem Trainingstrajektoriengitter werden eine oder mehrere Trainingstrajektorien für den Trainingsagenten bestimmt. Die eine oder die mehreren Trainingstrajektorien werden mit einer bekannten Trajektorie des Trainingsagenten verglichen. Gewichtungen eines Modells werden entsprechend dem Vergleichen aktualisiert.
  • Bei einer Ausführungsform beinhaltet Aktualisieren der Gewichtungen des Modells gemäß dem Vergleichen Propagieren eines Unterschieds zwischen jedem aus der einen oder den mehreren Trainingstrajektorien und der bekannten Trajektorie durch das Modell.
  • Bei einer Ausführungsform werden Ortsdaten und Trajektoriendaten aus der Vergangenheit für ein oder mehrere Objekte empfangen. Ein oder mehrere Prozessoren bestimmen basierend auf den Ortsdaten und den Trajektoriendaten aus der Vergangenheit einen Satz von Merkmalen für das eine oder die mehreren Objekte. Der Satz von Merkmalen wird mit Bewegungsdaten eines Agenten kombiniert, um einen verketteten Datensatz zu bilden. Aus dem verketteten Datensatz werden mehrere vorhergesagte Trajektorien bestimmt. Mehrere Winkel werden zwischen jeder aus den mehreren vorhergesagten Trajektorien und einer Trajektorie, die der Agent gefahren ist, berechnet. Es wird bestimmt, ob einer oder mehrere aus den mehreren Winkeln innerhalb eines Grenzwerts liegt. Basierend auf Bestimmen, dass keiner der mehreren Winkel innerhalb des Grenzwerts liegt, wird eine beste Trajektorie aus den mehreren vorhergesagten Trajektorien unter Verwenden einer Funktion ausgewählt. Es wird ein Unterschied zwischen der besten Trajektorie und der Trajektorie, die der Agent gefahren ist, errechnet. Die Gewichtungen eines Modells werden basierend auf dem Unterschied angepasst. Basierend auf dem Modell und unter Verwenden eines Planungsschaltkreises eines Fahrzeugs wird die Generierung von einem oder mehreren Fahrbefehlen für das Fahrzeug veranlasst. Ein Steuerschaltkreis des Fahrzeugs veranlasst den Betrieb des Fahrzeugs basierend auf dem einen oder den mehreren Fahrbefehlen.
  • Bei einer Ausführungsform beinhaltet Generieren der mehreren vorhergesagten Trajektorien Eingeben des verketteten Datensatzes in ein neuronales Netz. Aus dem neuronalen Netz werden die mehreren vorhergesagten Trajektorien empfangen.
  • Bei einer Ausführungsform wird basierend auf Bestimmen, dass ein oder mehrere aus den mehreren Winkeln innerhalb des Grenzwerts liegen, eine Trajektorie aus den mehreren vorhergesagten Trajektorien basierend auf einem Unterschied zwischen der Trajektorie, die der Agent gefahren ist, und einer entsprechenden Trajektorie für jede vorhergesagte Trajektorie aus den mehreren vorhergesagten Trajektorien ausgewählt.
  • Bei einer Ausführungsform wählt die Funktion eine Trajektorie aus den mehreren vorhergesagten Trajektorien zufällig aus.
  • Bei einer Ausführungsform wählt die Funktion eine Trajektorie aus den mehreren vorhergesagten Trajektorien basierend auf mehreren Mustern aus.
  • Bei einer Ausführungsform wird ein Clustervorgang an einem Trainingssatz durchgeführt, um die mehreren Muster zu erhalten.
  • Bei einer Ausführungsform werden die mehreren Muster basierend auf möglichen Trajektorien für einen oder mehrere Agenten generiert.
  • Bei einer Ausführungsform wird jedes Muster aus den mehreren Mustern basierend auf einem Zustand des Agenten generiert.
  • Bei einer Ausführungsform beinhaltet Empfangen der Ortsdaten und der Trajektoriendaten aus der Vergangenheit Empfangen eines Bildes. Das Bild beinhaltet die Ortsdaten für das eine oder die mehreren Objekte und die Trajektoriendaten aus der Vergangenheit für das eine oder die mehreren Objekte. Die Trajektoriendaten aus der Vergangenheit sind farbcodiert, um eine entsprechende Trajektorie aus der Vergangenheit für jedes Objekt aus dem einen oder den mehreren Objekten anzugeben.
  • Die Bezug nehmend auf die multimodale Trajektorienvorhersage beschriebenen Aktionen können auf einem nichtflüchtigen, computerlesbaren Speichermedium als eine oder mehrere Programme zur Ausführung durch einen oder mehrere Prozessoren (z. B. an einem Fahrzeug, in einem Datenzentrum oder einem anderen geeigneten Ort) gespeichert werden. Das eine oder die mehreren Programme können Anweisungen beinhalten, die, wenn sie durch den einen oder die mehreren Prozessoren ausgeführt werden, die Durchführung des/der vorstehenden computerimplementierten Verfahren(s) veranlassen.
  • In der vorangehenden Beschreibung wurden Ausführungsformen der Erfindung Bezug nehmend auf zahlreiche spezifische Einzelheiten beschrieben, die von einer Implementierung zur nächsten Implementierung variieren können.
    Die Beschreibung und die Zeichnungen sind dementsprechend in einem veranschaulichenden und nicht in einem einschränkenden Sinne zu betrachten. Der alleinige und ausschließliche Hinweis auf den Umfang der Erfindung und darauf, was von den Anmeldern als Umfang der Erfindung beabsichtigt ist, ergibt sich aus dem wörtlichen und äquivalenten Umfang des Satzes von Ansprüchen, die aus dieser Anmeldung erstellt werden, in der spezifischen Form, in der diese Ansprüche erstellt werden, einschließlich jeder anschließenden Korrektur. Jegliche Definitionen, die hier ausdrücklich für Begriffe dargelegt sind, die in diesen Ansprüchen enthalten sind, sollen die Bedeutung dieser Begriffe wie in den Ansprüchen verwendet regeln. Wenn in der vorstehenden Beschreibung oder in den folgenden Ansprüchen der Begriff „ferner umfassend“ verwendet wird, kann außerdem das, was diesem Ausdruck folgt, ein/e zusätzliche/r Schritt oder Entität sein oder ein/e Teilschritt/Teilentität einer/s zuvor angegebenen Schritts oder Entität sein.
  • Die folgenden zwei Gruppen von Aspekten bilden ebenfalls einen Teil der Erfindung:
  • Aspekte der Gruppe I:
  • 1. Computerimplementiertes Verfahren, Folgendes umfassend:
    • Empfangen von Ortsdaten und Trajektoriendaten aus der Vergangenheit für ein oder mehrere Objekte, die von einem oder mehreren Sensoren detektiert wurden;
    • Bestimmen, unter Verwenden von einem oder mehreren Prozessoren und basierend auf den Ortsdaten und den Trajektoriendaten aus der Vergangenheit, eines Satzes von Merkmalen für das eine oder die mehreren Objekte;
    • Kombinieren, unter Verwenden des einen oder der mehreren Prozessoren, des Satzes von Merkmalen mit Bewegungsdaten eines Agenten, um einen verketteten Datensatz zu bilden;
    • Generieren, unter Verwenden des einen oder der mehreren Prozessoren, basierend auf dem verketteten Datensatz, einer Wahrscheinlichkeitskarte, wobei die Wahrscheinlichkeitskarte eine Vielzahl von physikalischen Orten umfasst, und
    • wobei jedem physikalischen Ort aus der Vielzahl von physikalischen Orten eine Wahrscheinlichkeit des Agenten, dass er sich durch diesen Ort bewegt, zugewiesen wird;
    • Bestimmen, basierend auf der Wahrscheinlichkeitskarte, von einer oder mehreren vorhergesagten Trajektorien für den Agenten;
    • Veranlassen, basierend auf der einen oder den mehreren vorhergesagten Trajektorien unter Verwenden eines Planungsschaltkreises eines Fahrzeugs, der Generierung von einem oder mehreren Fahrbefehlen für das Fahrzeug; und
    • Veranlassen, unter Verwenden eines Steuerschaltkreises des Fahrzeugs, des Betriebs des Fahrzeugs basierend auf dem einen oder den mehreren Fahrbefehlen.
  • 2. Verfahren nach Aspekt 1, wobei Generieren der Wahrscheinlichkeitskarte Eingeben des verketteten Datensatzes in ein neuronales Netz umfasst.
  • 3. Verfahren nach Aspekt 1 oder 2, wobei Empfangen der Trajektoriendaten aus der Vergangenheit Empfangen einer Trajektorie jedes Objekts aus dem einen oder den mehreren Objekten für ein Zeitintervall aus der Vergangenheit umfasst.
  • 4. Verfahren nach einem der Aspekte 1-3, wobei Empfangen der Ortsdaten und der Trajektoriendaten aus der Vergangenheit Empfangen eines Bildes umfasst, wobei das Bild die Ortsdaten für das eine oder die mehreren Objekte und die Trajektoriendaten aus der Vergangenheit für das eine oder die mehreren Objekte beinhaltet, wobei die Trajektoriendaten aus der Vergangenheit farbcodiert sind, um eine entsprechende Trajektorie aus der Vergangenheit für jedes Objekt aus dem einen oder den mehreren Objekten anzugeben.
  • 5. Verfahren nach Aspekt 4, wobei Bestimmen des Satzes von Merkmalen für das eine oder die mehreren Objekte umfasst:
    • Eingeben des Bildes in einen Klassifikator; und
    • Empfangen, aus dem Klassifikator, einer Vielzahl von Merkmalen für das Bild.
  • 6. Verfahren nach einem der Aspekte 1-5, wobei Generieren der Wahrscheinlichkeitskarte umfasst:
    • Generieren einer Datenstruktur für ein Raster, das einen Detektionsbereich von einem oder mehreren Sensoren des Agenten darstellt, wobei das Raster eine Vielzahl von Orten umfasst; und
    • Zuweisen, an jeden Ort innerhalb des Rasters, einer Wahrscheinlichkeit, dass der Agent an diesem Ort innerhalb des Rasters vorhanden sein wird.
  • 7. Verfahren nach einem der Aspekte 1-6, wobei jeder Ort in der Wahrscheinlichkeitskarte einen Zeitpunkt für jede Wahrscheinlichkeit speichert.
  • 8. Verfahren nach einem der Aspekte 1-7, wobei sich der eine oder die mehreren Prozessoren in dem Fahrzeug befinden.
  • 9. Verfahren nach einem der Aspekte 1-8, wobei sich der eine oder die mehreren Prozessors von dem Fahrzeug entfernt befinden.
  • 10. Verfahren nach einem der Aspekte 1-9, ferner Folgendes umfassend:
    • Empfangen von Trainingsortsdaten und Trainingstrajektoriendaten aus der Vergangenheit für ein oder mehrere Trainingsobjekte;
    • Bestimmen, basierend auf den Trainingsortsdaten und den Trainingstrajektoriendaten aus der Vergangenheit, eines Satzes von Trainingsmerkmalen für das eine oder die mehreren Trainingsobjekte;
    • Kombinieren des Satzes von Trainingsmerkmalen mit Trainingsbewegungsdaten eines Agenten, um einen verketteten Trainingsdatensatz zu bilden;
    • Generieren, basierend auf dem verketteten Trainingsdatensatz, einer Trainingswahrscheinlichkeitskarte, wobei die Trainingswahrscheinlichkeitskarte eine Vielzahl physikalischer Orte zu Trainingszwecken umfasst und wobei jedem aus der Vielzahl physikalischer Orte zu Trainingszwecken eine Trainingswahrscheinlichkeit, dass sich ein Trainingsagent durch diesen Ort bewegt, zugewiesen wird;
    • Bestimmen, basierend auf der Trainingswahrscheinlichkeitskarte, von einer oder mehreren Trainingstrajektorien für den Trainingsagenten;
    • Vergleichen der einen oder der mehreren Trainingstrajektorien mit einer bekannten Trajektorie des Trainingsagenten; und
    • Aktualisieren von Gewichtungen eines Modells gemäß dem Vergleichen.
  • 11. Verfahren nach Aspekt 10, wobei Aktualisieren der Gewichtungen des Modells gemäß dem Vergleichen Propagieren eines Unterschieds zwischen jedem aus der einen oder den mehreren Trainingstrajektorien und der bekannten Trajektorie durch das Modell umfasst.
  • 12. 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, die Durchführung des computerimplementierten Verfahrens nach einem der Aspekte 1-11 veranlassen.
  • 13. Fahrzeug, umfassend:
    • ein oder mehrere computerlesbare Medien, die computerausführbare Anweisungen speichern; und
    • einen oder mehrere Prozessoren, die ausgelegt sind, die computerausführbaren Anweisungen, die das Verfahren nach einem der Aspekte 1-11 durchführen, auszuführen.
  • 14. Computerimplementiertes Verfahren, Folgendes umfassend:
    • Empfangen von Ortsdaten und Trajektoriendaten aus der Vergangenheit für ein oder mehrere Objekte, die von einem oder mehreren Sensoren detektiert wurden;
    • Bestimmen, unter Verwenden von einem oder mehreren Prozessoren und basierend auf den Ortsdaten und den Trajektoriendaten aus der Vergangenheit, eines Satzes von Merkmalen für das eine oder die mehreren Objekte;
    • Kombinieren, unter Verwenden des einen oder der mehreren Prozessoren, des Satzes von Merkmalen mit Bewegungsdaten eines Agenten, um einen verketteten Datensatz zu bilden;
    • Generieren, basierend auf dem verketteten Datensatz, eines Trajektoriengitters, umfassend eine Vielzahl von möglichen Trajektorien für den Agenten, wobei jeder Trajektorie in dem Trajektoriengitter eine Wahrscheinlichkeit zugewiesen wird; und
    • Bestimmen, basierend auf dem Trajektoriengitter, von einer oder mehreren vorhergesagten Trajektorien für den Agenten;
    • Veranlassen, basierend auf der einen oder den mehreren vorhergesagten Trajektorien, unter Verwenden eines Planungsschaltkreises eines Fahrzeugs, der Generierung von einem oder mehreren Fahrbefehlen für das Fahrzeug; und
    • Veranlassen, unter Verwenden eines Steuerschaltkreises des Fahrzeugs, des Betriebs des Fahrzeugs basierend auf dem einen oder den mehreren Fahrbefehlen.
  • 15. Verfahren nach Aspekt 14, wobei Generieren des Trajektoriengitters für den Agenten umfasst:
    • Eingeben des verketteten Datensatzes in ein neuronales Netz; und
    • Empfangen, aus dem neuronalen Netz, von Daten für das Trajektoriengitter.
  • 16. Verfahren nach Aspekt 14 oder 15, wobei Bestimmen, basierend auf dem Trajektoriengitter, der Trajektorie für den Agenten umfasst:
    • Empfangen von einem oder mehreren aus Geschwindigkeit, Beschleunigung und Gierrate des Agenten;
    • Identifizieren, in dem Trajektoriengitter, von den Trajektorien, die der Agent nicht fahren kann, basierend auf dem einen oder den mehreren aus der Geschwindigkeit, Beschleunigung und Gierrate des Agenten; und
    • Entfernen dieser Trajektorien aus dem Trajektoriengitter.
  • 17. Verfahren nach einem der Aspekte 14-16, wobei Identifizieren, basierend auf dem Trajektoriengitter, der Trajektorie für den Agenten umfasst:
    • Empfangen von einer oder mehreren aus Straßenverkehrsregeldaten und Straßenmarkierungsdaten;
    • Identifizieren, in dem Trajektoriengitter, der Trajektorien, die der Agent nicht fahren kann, basierend auf der einen oder den mehreren aus den Straßenverkehrsregeldaten und den Straßenmarkierungsdaten; und
    • Entfernen dieser Trajektorien aus dem Trajektoriengitter.
  • 18. Verfahren nach einem der Aspekte 14-17, wobei Empfangen der Trajektoriendaten aus der Vergangenheit Empfangen einer Trajektorie jedes Objekts aus dem einen oder den mehreren Objekten für ein Zeitintervall aus der Vergangenheit umfasst.
  • 19. Verfahren nach einem der Aspekte 14-18, wobei Empfangen der Ortsdaten und der Trajektoriendaten aus der Vergangenheit Empfangen eines Bildes umfasst, wobei das Bild die Ortsdaten für das eine oder die mehreren Objekte und die Trajektoriendaten aus der Vergangenheit für das eine oder die mehreren Objekte beinhaltet, wobei die Trajektoriendaten aus der Vergangenheit farbcodiert sind, um eine entsprechende Trajektorie aus der Vergangenheit für jedes Objekt aus dem einen oder den mehreren Objekten relativ zu den Ortsdaten anzugeben.
  • 20. Verfahren nach Aspekt 19, wobei Bestimmen des Satzes von Merkmalen für das eine oder die mehreren Objekte umfasst:
    • Eingeben des Bildes in einen Klassifikator; und
    • Empfangen, aus dem Klassifikator, einer Vielzahl von Merkmalen für das Bild.
  • 21. Verfahren nach einem der Aspekte 14-20, wobei sich der eine oder die mehreren Prozessoren in dem Fahrzeug befinden.
  • 22. Verfahren nach einem der Aspekte 14-21, wobei sich der eine oder die mehreren Prozessoren von dem Fahrzeug entfernt befinden.
  • 23. Verfahren nach einem der Aspekte 14-22, ferner Folgendes umfassend:
    • Empfangen von Trainingsortsdaten (z. B. Positionsdaten für Fahrzeuge, Fahrräder, Fußgänger usw.) und von Trainingstrajektoriendaten aus der Vergangenheit für ein oder mehrere Trainingsobjekte;
    • Bestimmen, basierend auf den Trainingsortsdaten und den Trainingstrajektoriendaten aus der Vergangenheit, eines Satzes von Trainingsmerkmalen für das eine oder die mehreren Trainingsobjekte;
    • Kombinieren des Satzes von Trainingsmerkmalen mit Trainingsbewegungsdaten eines Trainingsagenten (z. B. Geschwindigkeit, Beschleunigung und Gierrate eines Fahrzeugs), um einen verketteten Trainingsdatensatz zu bilden;
    • Generieren, basierend auf dem verketteten Trainingsdatensatz, eines Trainingstrajektoriengitters,
    • wobei das Trainingstrajektoriengitter eine Vielzahl von vorhergesagten Trainingstrajektorien umfasst und
    • wobei jeder Trajektorie in dem Trajektoriengitter eine Wahrscheinlichkeit zugewiesen wird;
    • Bestimmen, basierend auf dem Trainingstrajektoriengitter, von einer oder mehreren Trainingstrajektorien für den Trainingsagenten;
    • Vergleichen der einen oder der mehreren Trainingstrajektorien mit einer bekannten Trajektorie des Trainingsagenten; und
    • Aktualisieren von Gewichtungen eines Modells gemäß dem Vergleichen.
  • 24. Verfahren nach Aspekt 23, wobei Aktualisieren der Gewichtungen des Modells gemäß dem Vergleich Propagieren eines Unterschieds zwischen jeder von der einen oder den mehreren Trainingstrajektorien und der bekannten Trajektorie durch das Modell umfasst.
  • 25. 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, die Durchführung des computerimplementierten Verfahrens nach einem der Aspekte 14-24 veranlassen.
  • 26. Fahrzeug, umfassend:
    • ein oder mehrere computerlesbare Medien, die computerausführbare Anweisungen speichern; und
    • einen oder mehrere Prozessoren, die ausgelegt sind, die computerausführbaren Anweisungen, die das Verfahren nach einem der Aspekte 14-24 durchführen, auszuführen.
  • 27. Computerimplementiertes Verfahren, Folgendes umfassend:
    • Empfangen von Ortsdaten und Trajektoriendaten aus der Vergangenheit für ein oder mehrere Objekte;
    • Bestimmen, unter Verwenden von einem oder mehreren Prozessoren und basierend auf den Ortsdaten und den Trajektoriendaten aus der Vergangenheit, eines Satzes von Merkmalen für das eine oder die mehreren Objekte;
    • Kombinieren des Satzes von Merkmalen mit Bewegungsdaten eines Agenten, um einen verketteten Datensatz zu bilden;
    • Generieren, aus dem verketteten Datensatz, einer Vielzahl von vorhergesagten Trajektorien;
    • Berechnen einer Vielzahl von Winkeln zwischen jeder aus der Vielzahl von vorhergesagten Trajektorien und einer Trajektorie, die der Agent gefahren ist;
    • Bestimmen, ob einer oder mehrere aus der Vielzahl von Winkeln innerhalb eines Grenzwerts liegt;
    • basierend auf Bestimmen, dass keiner aus der Vielzahl von Winkeln innerhalb des Grenzwerts liegt, Auswählen einer besten Trajektorie aus der Vielzahl von vorhergesagten Trajektorien unter Verwenden einer Funktion;
    • Errechnen eines Unterschieds zwischen der besten Trajektorie und der Trajektorie, die der Agent gefahren ist; und
    • Einstellen von Gewichtungen eines Modells basierend auf dem Unterschied;
    • Veranlassen, basierend auf dem Modell und unter Verwenden eines Planungsschaltkreises eines Fahrzeugs, der Generierung von einem oder mehreren Fahrbefehlen für das Fahrzeug; und
    • Veranlassen, unter Verwenden eines Steuerschaltkreises des Fahrzeugs, des Betriebs des Fahrzeugs basierend auf dem einen oder den mehreren Fahrbefehlen.
  • 28. Verfahren nach Aspekt 27, wobei Generieren der Vielzahl von vorhergesagten Trajektorien umfasst:
    • Eingeben des verketteten Datensatzes in ein neuronales Netz; und
    • Empfangen, aus dem neuronalen Netz, der Vielzahl von vorhergesagten Trajektorien.
  • 29. Verfahren nach Aspekt 27 oder 28, ferner umfassend, basierend auf Bestimmen, dass einer oder mehrere aus der Vielzahl von Winkeln innerhalb des Grenzwerts liegen, Auswählen einer Trajektorie aus der Vielzahl von vorhergesagten Trajektorien basierend auf einem Unterschied zwischen der Trajektorie, die der Agent gefahren ist, und einer entsprechenden Trajektorie für jede vorhergesagte Trajektorie aus der Vielzahl von vorhergesagten Trajektorien.
  • 30. Verfahren nach einem der Aspekte 27-29, wobei die Funktion eine Trajektorie aus der Vielzahl von vorhergesagten Trajektorien zufällig auswählt.
  • 31. Verfahren nach einem der Aspekte 27-30, wobei die Funktion eine Trajektorie aus der Vielzahl von vorhergesagten Trajektorien basierend auf einer Vielzahl von Mustern auswählt.
  • 32. Verfahren nach Aspekt 31, ferner umfassend Durchführen eines Clustervorgangs an einem Trainingssatz, um die Vielzahl von Mustern zu erhalten.
  • 33. Verfahren nach Aspekt 31, ferner umfassend Generieren der Vielzahl von Mustern basierend auf möglichen Trajektorien für einen oder mehrere Agenten.
  • 34. Verfahren nach Aspekt 31, wobei jedes Muster aus der Vielzahl von Mustern basierend auf einem Zustand des Agenten generiert wird.
  • 35. Verfahren nach einem der Aspekte 27-34, wobei Empfangen der Ortsdaten und der Trajektoriendaten aus der Vergangenheit Empfangen eines Bildes umfasst, wobei das Bild die Ortsdaten für das eine oder die mehreren Objekte und die Trajektoriendaten aus der Vergangenheit für das eine oder die mehreren Objekte beinhaltet, wobei die Trajektoriendaten aus der Vergangenheit farbcodiert sind, um eine entsprechende Trajektorie aus der Vergangenheit für jedes Objekt aus dem einen oder den mehreren Objekten anzugeben.
  • 36. Verfahren nach einem der Aspekte 27-35, wobei sich der eine oder die mehreren Prozessoren in dem Fahrzeug befinden.
  • 37. Verfahren nach einem der Aspekte 27-36, wobei sich der eine oder die mehreren Prozessoren von dem Fahrzeug entfernt befinden.
  • 38. Nichtflüchtiges, computerlesbares Speichermedium, umfassend ein oder mehrere Programme zur Ausführung durch einen oder mehrere Prozessoren, wobei ein oder mehrere Programme Anweisungen beinhalten, die, wenn sie durch den einen oder die mehreren Prozessoren ausgeführt werden, die Durchführung des computerimplementierten Verfahrens nach einem der Aspekte 27-37 veranlassen.
  • 39. Fahrzeug, umfassend:
    • ein oder mehrere computerlesbare Medien, die computerausführbare Anweisungen speichern; und
    • einen oder mehrere Prozessoren, die ausgelegt sind, die computerausführbaren Anweisungen, die das Verfahren nach einem der Aspekte 27-37 durchführen, auszuführen.
  • Aspekte der Gruppe II:
  • 1. Computerimplementiertes Verfahren, Folgendes umfassend:
    • Empfangen, durch einen oder mehrere Prozessoren eines Fahrzeugs, von Ortsdaten und Trajektoriendaten aus der Vergangenheit für ein oder mehrere Objekte, die von dem einen oder den mehreren Sensoren detektiert wurden;
    • Bestimmen, durch den einen oder die mehreren Prozessoren, eines Satzes von Merkmalen für das eine oder die mehreren Objekte basierend auf den Ortsdaten und den Trajektoriendaten aus der Vergangenheit;
    • Kombinieren, durch den einen oder die mehreren Prozessoren, des Satzes von Merkmalen mit Bewegungsdaten eines Agenten, um einen verketteten Datensatz zu bilden;
    • Generieren, durch den einen oder die mehreren Prozessoren, einer Wahrscheinlichkeitskarte basierend auf dem verketteten Datensatz, wobei die Wahrscheinlichkeitskarte eine Vielzahl von physikalischen Orten umfasst und wobei jedem physikalischen Ort aus der Vielzahl von physikalischen Orten eine Wahrscheinlichkeit des Agenten, dass er sich durch diesen Ort bewegt, zugewiesen wird;
    • Bestimmen, durch den einen oder die mehreren Prozessoren, von einer oder mehreren vorhergesagten Trajektorien für den Agenten basierend auf der Wahrscheinlichkeitskarte;
    • Generieren, durch den einen oder die mehreren Prozessoren, von einem oder mehreren Fahrbefehlen für das Fahrzeug basierend auf der einen oder den mehreren vorhergesagten Trajektorien; und
    • Betreiben, durch einen Steuerschaltkreis des Fahrzeugs, des Fahrzeugs basierend auf dem einen oder den mehreren Fahrbefehlen.
  • 2. Verfahren nach Aspekt 1, wobei Generieren der Wahrscheinlichkeitskarte Eingeben, durch den einen oder die mehreren Prozessoren, des verketteten Datensatzes in ein neuronales Netz umfasst.
  • 3. Verfahren nach Aspekt 1, wobei Empfangen der Trajektoriendaten aus der Vergangenheit Empfangen, durch den einen oder die mehreren Prozessoren, einer Trajektorie jedes Objekts aus dem einen oder den mehreren Objekten für ein Zeitintervall aus der Vergangenheit umfasst.
  • 4. Verfahren nach Aspekt 1, wobei Empfangen der Ortsdaten und der Trajektoriendaten aus der Vergangenheit Empfangen, durch den einen oder die mehreren Prozessoren, eines Bildes, das die Ortsdaten für das eine oder die mehreren Objekte und die Trajektoriendaten aus der Vergangenheit für das eine oder die mehreren Objekte beinhaltet, umfasst,
    wobei die Trajektoriendaten aus der Vergangenheit farbcodiert sind, um eine entsprechende Trajektorie aus der Vergangenheit für jedes Objekt aus dem einen oder den mehreren Objekten anzugeben.
  • 5. Verfahren nach Aspekt 4, wobei Bestimmen des Satzes von Merkmalen für das eine oder die mehreren Objekte umfasst:
    • Eingeben, durch den einen oder die mehreren Prozessoren, des Bildes in einen Klassifikator; und
    • Empfangen, durch den einen oder die mehreren Prozessoren, einer Vielzahl von Merkmalen für das Bild aus dem Klassifikator.
  • 6. Verfahren nach Aspekt 1, wobei Generieren der Wahrscheinlichkeitskarte umfasst:
    • Generieren, durch den einen oder die mehreren Prozessoren, einer Datenstruktur für ein Raster, das einen Detektionsbereich von einem oder mehreren Sensoren des Agenten darstellt, wobei das Raster eine Vielzahl von Orten umfasst; und
    • Zuweisen, durch den einen oder die mehreren Prozessoren, einer Wahrscheinlichkeit an jeden Ort in dem Raster, an dem der Agent in diesem Ort in dem Raster vorhanden sein wird.
  • 7. Verfahren nach Aspekt 1, wobei jeder Ort in der Wahrscheinlichkeitskarte einen Zeitpunkt für jede Wahrscheinlichkeit speichert.
  • 8. Verfahren nach Aspekt 1, wobei sich der eine oder die mehreren Prozessoren in dem Fahrzeug befinden.
  • 9. Verfahren nach Aspekt 1, wobei sich der eine oder die mehreren Prozessoren von dem Fahrzeug entfernt befinden.
  • 10. Verfahren nach Aspekt 1, ferner Folgendes umfassend:
    • Empfangen, durch den einen oder die mehreren Prozessoren, von Trainingsortsdaten und Trainingstrajektoriendaten aus der Vergangenheit für ein oder mehrere Trainingsobj ekte;
    • Bestimmen, durch den einen oder die mehreren Prozessoren, eines Satzes von Trainingsmerkmalen für das eine oder die mehreren Trainingsobjekte basierend auf den Trainingsortsdaten und den Trainingstrajektoriendaten aus der Vergangenheit;
    • Kombinieren, durch den einen oder die mehreren Prozessoren, des Satzes von Trainingsmerkmalen mit Trainingsbewegungsdaten eines Agenten, um einen verketteten Trainingsdatensatz zu bilden;
    • Generieren, basierend auf dem verketteten Trainingsdatensatz, einer Trainingswahrscheinlichkeitskarte, wobei die Trainingswahrscheinlichkeitskarte eine Vielzahl physikalischer Orte zu Trainingszwecken umfasst, und wobei jedem aus der Vielzahl physikalischer Orte zu Trainingszwecken eine Trainingswahrscheinlichkeit, dass sich ein Trainingsagent durch diesen Ort bewegt, zugewiesen wird;
    • Bestimmen, basierend auf der Trainingswahrscheinlichkeitskarte, von einer oder mehreren Trainingstrajektorien für den Trainingsagenten;
    • Vergleichen der einen oder der mehreren Trainingstrajektorien mit einer bekannten Trajektorie des Trainingsagenten; und
    • Aktualisieren von Gewichtungen eines Modells gemäß dem Vergleichen.
  • 11. Verfahren nach Aspekt 10, wobei Aktualisieren der Gewichtungen des Modells gemäß dem Vergleichen Propagieren eines Unterschieds zwischen jeder von der einen oder den mehreren Trainingstrajektorien und der bekannten Trajektorie durch das Modell umfasst.
  • 12. 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, den einen oder die mehreren Prozessoren zu Folgendem veranlassen:
    • Empfangen von Ortsdaten und Trajektoriendaten aus der Vergangenheit für das eine oder die mehreren Objekte, die von einem oder mehreren Sensoren detektiert wurden;
    • Bestimmen eines Satzes von Merkmalen für das eine oder die mehreren Objekte basierend auf den Ortsdaten und den Trajektoriendaten aus der Vergangenheit;
    • Kombinieren des Satzes von Merkmalen mit Bewegungsdaten eines Agenten, um einen verketteten Datensatz zu bilden;
    • Generieren einer Wahrscheinlichkeitskarte basierend auf dem verketteten Datensatz, wobei die Wahrscheinlichkeitskarte eine Vielzahl von physikalischen Orten umfasst und wobei jedem physikalischen Ort aus der Vielzahl von physikalischen Orten eine Wahrscheinlichkeit, dass sich der Agent durch diesen Ort bewegt, zugewiesen wird;
    • Bestimmen von einer oder mehreren vorhergesagten Trajektorien für den Agenten basierend auf der Wahrscheinlichkeitskarte;
    • Generieren von einem oder mehreren Fahrbefehlen für ein Fahrzeug basierend auf der einen oder den mehreren vorhergesagten Trajektorien; und
    • Betreiben, durch einen Steuerschaltkreis des Fahrzeugs, des Fahrzeugs basierend auf dem einen oder den mehreren Fahrbefehlen.
  • 13. Nichtflüchtiges, computerlesbares Speichermedium nach Aspekt 12, wobei Generieren der Wahrscheinlichkeitskarte Eingeben des verketteten Datensatzes in ein neuronales Netz umfasst.
  • 14. Nichtflüchtiges, computerlesbares Speichermedium nach Aspekt 12, wobei Empfangen der Trajektoriendaten aus der Vergangenheit Empfangen einer Trajektorie von jedem Objekt aus dem einen oder den mehreren Objekten für ein Zeitintervall aus der Vergangenheit umfasst.
  • 15. Nichtflüchtiges, computerlesbares Speichermedium nach Aspekt 12, wobei Empfangen der Ortsdaten und der Trajektoriendaten aus der Vergangenheit Empfangen eines Bildes, das die Ortsdaten für das eine oder die mehreren Objekte und die Trajektoriendaten aus der Vergangenheit für das eine oder die mehreren Objekte beinhaltet, umfasst, wobei die Trajektoriendaten aus der Vergangenheit farbcodiert sind, um eine entsprechende Trajektorie aus der Vergangenheit für jedes Objekt aus dem einen oder den mehreren Objekten anzugeben.
  • 16. Nichtflüchtiges, computerlesbares Speichermedium nach Aspekt 15, wobei Bestimmen des Satzes von Merkmalen für das eine oder die mehreren Objekte umfasst:
    • Eingeben des Bildes in einen Klassifikator; und
    • Empfangen einer Vielzahl von Merkmalen für das Bild aus dem Klassifikator.
  • 17. Fahrzeug, folgendes 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, zum:
      • Empfangen von Ortsdaten und Trajektoriendaten aus der Vergangenheit für ein oder mehrere Objekte, die von einem oder mehreren Sensoren detektiert wurden;
      • Bestimmen eines Satzes von Merkmalen für das eine oder die mehreren Objekte basierend auf den Ortsdaten und den Trajektoriendaten aus der Vergangenheit;
      • Kombinieren des Satzes von Merkmalen mit Bewegungsdaten eines Agenten, um einen verketteten Datensatz zu bilden;
      • Generieren einer Wahrscheinlichkeitskarte basierend auf dem verketteten Datensatz, wobei die Wahrscheinlichkeitskarte eine Vielzahl von physikalischen Orten umfasst und wobei jedem physikalischen Ort aus der Vielzahl von physikalischen Orten eine Wahrscheinlichkeit, dass sich der Agent durch diesen Ort bewegen wird, zugewiesen wird;
      • Bestimmen von einer oder mehreren vorhergesagten Trajektorien für den Agenten basierend auf der Wahrscheinlichkeitskarte;
      • Generieren von einem oder mehreren Fahrbefehlen für ein Fahrzeug basierend auf der einen oder den mehreren vorhergesagten Trajektorien; und
      • Betreiben, durch einen Steuerschaltkreis des Fahrzeugs, des Fahrzeugs basierend auf dem einen oder den mehreren Fahrbefehlen.
  • 18. Fahrzeug nach Aspekt 17, wobei Generieren der Wahrscheinlichkeitskarte Eingeben des verketteten Datensatzes in ein neuronales Netz umfasst.
  • 19. Fahrzeug nach Aspekt 17, wobei Empfangen der Trajektoriendaten aus der Vergangenheit Empfangen einer Trajektorie von jedem Objekt aus dem einen oder den mehreren Objekten für ein Zeitintervall aus der Vergangenheit umfasst.
  • 20. Fahrzeug nach Aspekt 17, wobei Empfangen der Ortsdaten und der Trajektoriendaten aus der Vergangenheit Empfangen eines Bildes, das die Ortsdaten für das eine oder die mehreren Objekte und die Trajektoriendaten aus der Vergangenheit für das eine oder die mehreren Objekte beinhaltet, umfasst, wobei die Trajektoriendaten aus der Vergangenheit farbcodiert sind, um eine entsprechende Trajektorie aus der Vergangenheit für jedes Objekt aus dem einen oder den mehreren Objekten anzugeben.
  • 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 62932164 [0001]
    • US 16883899 [0001]

Claims (20)

  1. Computerimplementiertes Verfahren, Folgendes umfassend: Empfangen, durch einen oder mehrere Prozessoren eines Fahrzeugs, von Ortsdaten und Trajektoriendaten aus der Vergangenheit für ein oder mehrere Objekte, die von einem oder mehreren Sensoren detektiert wurden; Bestimmen, durch den einen oder die mehreren Prozessoren, eines Satzes von Merkmalen für das eine oder die mehreren Objekte basierend auf den Ortsdaten und den Trajektoriendaten aus der Vergangenheit; Kombinieren, durch den einen oder die mehreren Prozessoren, des Satzes von Merkmalen mit Bewegungsdaten eines Agenten, um einen verketteten Datensatz zu bilden; Generieren, durch den einen oder die mehreren Prozessoren, einer Wahrscheinlichkeitskarte, basierend auf dem verketteten Datensatz, wobei die Wahrscheinlichkeitskarte eine Vielzahl von physikalischen Orten umfasst und wobei jedem physikalischen Ort aus der Vielzahl von physikalischen Orten eine Wahrscheinlichkeit, dass sich der Agent durch diesen Ort bewegt, zugewiesen wird; Bestimmen, durch den einen oder die mehreren Prozessoren, von einer oder mehreren vorhergesagten Trajektorien für den Agenten basierend auf der Wahrscheinlichkeitskarte; Generieren, durch den einen oder die mehreren Prozessoren, von einem oder mehreren Fahrbefehlen für das Fahrzeug basierend auf der einen oder den mehreren vorhergesagten Trajektorien; und Betreiben, durch einen Steuerschaltkreis des Fahrzeugs, des Fahrzeugs basierend auf dem einen oder den mehreren Fahrbefehlen.
  2. Verfahren nach Anspruch 1, wobei Generieren der Wahrscheinlichkeitskarte Eingeben, durch den einen oder die mehreren Prozessoren, des verketteten Datensatzes in ein neuronales Netz umfasst.
  3. Verfahren nach Anspruch 1 oder Anspruch 2, wobei Empfangen der Trajektoriendaten aus der Vergangenheit umfasst Empfangen, durch den einen oder die mehreren Prozessoren, einer Trajektorie von jedem Objekt aus dem einen oder den mehreren Objekten für ein Zeitintervall aus der Vergangenheit.
  4. Verfahren nach einem der Ansprüche 1-3, wobei Empfangen der Ortsdaten und der Trajektoriendaten aus der Vergangenheit Empfangen, durch den einen oder die mehreren Prozessoren, eines Bildes, das die Ortsdaten für das eine oder die mehreren Objekte und die Trajektoriendaten aus der Vergangenheit für das eine oder die mehreren Objekte beinhaltet, umfasst, wobei die Trajektoriendaten aus der Vergangenheit farbcodiert sind, um eine entsprechende Trajektorie aus der Vergangenheit für jedes Objekt aus dem einen oder den mehreren Objekten anzugeben.
  5. Verfahren nach Anspruch 4, wobei Bestimmen des Satzes von Merkmalen für das eine oder die mehreren Objekte umfasst: Eingeben, durch den einen oder die mehreren Prozessoren, des Bildes in einen Klassifikator; und Empfangen, durch den einen oder die mehreren Prozessoren, einer Vielzahl von Merkmalen für das Bild aus dem Klassifikator.
  6. Verfahren nach einem der Ansprüche 1-5, wobei Generieren der Wahrscheinlichkeitskarte umfasst: Generieren, durch den einen oder die mehreren Prozessoren, einer Datenstruktur für ein Raster, das einen Detektionsbereich von einem oder mehreren Sensoren des Agenten darstellt, wobei das Raster eine Vielzahl von Orten umfasst; und Zuweisen, durch den einen oder die mehreren Prozessoren, einer Wahrscheinlichkeit an jeden Ort in dem Raster, in dem der Agent in dem Ort in dem Raster vorhanden sein wird.
  7. Verfahren nach einem der Ansprüche 1-6, wobei jeder Ort in der Wahrscheinlichkeitskarte einen Zeitpunkt für jede Wahrscheinlichkeit speichert.
  8. Verfahren nach einem der Ansprüche 1-7, wobei sich der eine oder die mehreren Prozessoren in dem Fahrzeug befinden.
  9. Verfahren nach einem der Ansprüche 1-8, wobei sich der eine oder die mehreren Prozessoren von dem Fahrzeug entfernt befinden.
  10. Verfahren nach einem der Ansprüche 1-9, ferner Folgendes umfassend: Empfangen, durch den einen oder die mehreren Prozessoren, von Trainingsortsdaten und Trainingstrajektoriendaten aus der Vergangenheit für ein oder mehrere Trainingsobj ekte; Bestimmen, durch den einen oder die mehreren Prozessoren, eines Satzes von Trainingsmerkmalen für das eine oder die mehreren Trainingsobjekte basierend auf den Trainingsortsdaten und den Trainingstrajektoriendaten aus der Vergangenheit; Kombinieren, durch den einen oder die mehreren Prozessoren, des Satzes von Trainingsmerkmalen mit Trainingsbewegungsdaten eines Agenten, um einen verketteten Trainingsdatensatz auszubilden; Generieren, basierend auf dem verketteten Trainingsdatensatz, einer Trainingswahrscheinlichkeitskarte, wobei die Trainingswahrscheinlichkeitskarte eine Vielzahl von physikalischen Orten zu Trainingszwecken umfasst und wobei jedem aus der Vielzahl der physikalischen Orte zu Trainingszwecken eine Trainingswahrscheinlichkeit, dass sich ein Trainingsagent durch diesen Ort bewegt, zugewiesen wird; Bestimmen, basierend auf der Trainingswahrscheinlichkeitskarte, von einer oder mehreren Trainingstrajektorien für den Trainingsagenten; Vergleichen der einen oder der mehreren Trainingstrajektorien mit einer bekannten Trajektorie des Trainingsagenten; und Aktualisieren von Gewichtungen eines Modells gemäß dem Vergleichen.
  11. Verfahren nach Anspruch 10, wobei Aktualisieren der Gewichtungen des Modells gemäß dem Vergleichen Propagieren eines Unterschieds zwischen jeder aus der einen oder den mehreren Trainingstrajektorien und der bekannten Trajektorie durch das Modell umfasst.
  12. 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, den einen oder die mehreren Prozessoren veranlassen zum: Empfangen von Ortsdaten und Trajektoriendaten aus der Vergangenheit für ein oder mehrere Objekte, die von einem oder mehreren Sensoren detektiert wurden; Bestimmen eines Satzes von Merkmalen für das eine oder die mehreren Objekte basierend auf den Ortsdaten und den Trajektoriendaten aus der Vergangenheit; Kombinieren des Satzes von Merkmalen mit Bewegungsdaten eines Agenten, um einen verketteten Datensatz zu bilden; Generieren einer Wahrscheinlichkeitskarte basierend auf dem verketteten Datensatz, wobei die Wahrscheinlichkeitskarte eine Vielzahl von physikalischen Orten umfasst und wobei jedem physikalischen Ort aus der Vielzahl von physikalischen Orten eine Wahrscheinlichkeit, dass sich der Agent durch diesen Ort bewegt, zugewiesen wird; Bestimmen von einer oder mehreren vorhergesagten Trajektorien für den Agenten basierend auf der Wahrscheinlichkeitskarte; Generieren von einem oder mehreren Fahrbefehlen für ein Fahrzeug basierend auf der einen oder den mehreren vorhergesagten Trajektorien; und Betreiben, durch einen Steuerschaltkreis des Fahrzeugs, des Fahrzeugs basierend auf dem einen oder den mehreren Fahrbefehlen.
  13. Nichtflüchtiges, computerlesbares Speichermedium nach Anspruch 12, wobei Generieren der Wahrscheinlichkeitskarte Eingeben des verketteten Datensatzes in ein neuronales Netz umfasst.
  14. Nichtflüchtiges, computerlesbares Speichermedium nach Anspruch 12 oder Anspruch 13, wobei Empfangen der Trajektoriendaten aus der Vergangenheit Empfangen einer Trajektorie von jedem Objekt aus dem einen oder den mehreren Objekten für ein Zeitintervall aus der Vergangenheit umfasst.
  15. Nichtflüchtiges, computerlesbares Speichermedium nach einem der Ansprüche 12-14, wobei Empfangen der Ortsdaten und der Trajektoriendaten aus der Vergangenheit Empfangen eines Bildes, das die Ortsdaten für das eine oder die mehreren Objekte und die Trajektoriendaten aus der Vergangenheit für das eine oder die mehreren Objekte beinhaltet, umfasst, wobei die Trajektoriendaten aus der Vergangenheit farbcodiert sind, um eine entsprechende Trajektorie aus der Vergangenheit für jedes Objekt aus dem einen oder den mehreren Objekten anzugeben.
  16. Nichtflüchtiges, computerlesbares Speichermedium nach Anspruch 15, wobei Bestimmen des Satzes von Merkmalen für das eine oder die mehreren Objekte umfasst: Eingeben des Bildes in einen Klassifikator; und Empfangen einer Vielzahl von Merkmalen für das Bild aus dem Klassifikator.
  17. Fahrzeug, Folgendes 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, zum: Empfangen von Ortsdaten und Trajektoriendaten aus der Vergangenheit für ein oder mehrere Objekte, die von einem oder mehreren Sensoren detektiert wurden; Bestimmen eines Satzes von Merkmalen für das eine oder die mehreren Objekte basierend auf den Ortsdaten und den Trajektoriendaten aus der Vergangenheit; Kombinieren des Satzes von Merkmalen mit Bewegungsdaten eines Agenten, um einen verketteten Datensatz zu bilden; Generieren einer Wahrscheinlichkeitskarte basierend auf dem verketteten Datensatz, wobei die Wahrscheinlichkeitskarte eine Vielzahl von physikalischen Orten umfasst und wobei jedem physikalischen Ort aus der Vielzahl von physikalischen Orten eine Wahrscheinlichkeit, dass sich der Agent durch diesen Ort bewegt, zugewiesen wird; Bestimmen von einer oder mehreren vorhergesagten Trajektorien für den Agenten basierend auf der Wahrscheinlichkeitskarte; Generieren von einem oder mehreren Fahrbefehlen für ein Fahrzeug basierend auf der einen oder den mehreren vorhergesagten Trajektorien; und Betreiben, durch einen Steuerschaltkreis des Fahrzeugs, des Fahrzeugs basierend auf dem einen oder den mehreren Fahrbefehlen.
  18. Fahrzeug nach Anspruch 17, wobei Generieren der Wahrscheinlichkeitskarte Eingeben des verketteten Datensatzes in ein neuronales Netz umfasst.
  19. Fahrzeug nach Anspruch 17 oder Anspruch 18, wobei Empfangen der Trajektoriendaten aus der Vergangenheit Empfangen einer Trajektorie jedes Objekts aus dem einen oder den mehreren Objekten für ein Zeitintervall aus der Vergangenheit umfasst.
  20. Fahrzeug nach einem der Ansprüche 17-19, wobei Empfangen der Ortsdaten und der Trajektoriendaten aus der Vergangenheit Empfangen eines Bildes, das die Ortsdaten für das eine oder die mehreren Objekte und die Trajektoriendaten aus der Vergangenheit für das eine oder die mehreren Objekte beinhaltet, umfasst, wobei die Trajektoriendaten aus der Vergangenheit farbcodiert sind, um eine entsprechende Trajektorie aus der Vergangenheit für jedes Objekt aus dem einen oder den mehreren Objekten anzugeben.
DE102020129456.5A 2019-11-07 2020-11-09 Trajektorienvorhersage aus einer vorberechneten oder dynamisch generierten bank von trajektorien Pending DE102020129456A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962932164P 2019-11-07 2019-11-07
US62/932,164 2019-11-07
US16/883,899 2020-05-26
US16/883,899 US11912271B2 (en) 2019-11-07 2020-05-26 Trajectory prediction from precomputed or dynamically generated bank of trajectories

Publications (1)

Publication Number Publication Date
DE102020129456A1 true DE102020129456A1 (de) 2021-05-12

Family

ID=74046469

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020129456.5A Pending DE102020129456A1 (de) 2019-11-07 2020-11-09 Trajektorienvorhersage aus einer vorberechneten oder dynamisch generierten bank von trajektorien

Country Status (5)

Country Link
US (3) US11912271B2 (de)
KR (2) KR102532546B1 (de)
CN (1) CN112783151A (de)
DE (1) DE102020129456A1 (de)
GB (3) GB2609783B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022004426A1 (de) 2022-11-28 2024-05-29 Mercedes-Benz Group AG Verfahren zur Prädiktion von Bewegungen von Verkehrsteilnehmern

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117521725A (zh) * 2016-11-04 2024-02-06 渊慧科技有限公司 加强学习系统
US10969789B2 (en) * 2018-11-09 2021-04-06 Waymo Llc Verifying predicted trajectories using a grid-based approach
US11348332B2 (en) * 2019-09-25 2022-05-31 Toyota Research Institute, Inc. Object location analysis
US11912271B2 (en) * 2019-11-07 2024-02-27 Motional Ad Llc Trajectory prediction from precomputed or dynamically generated bank of trajectories
JP7234967B2 (ja) * 2020-02-17 2023-03-08 トヨタ自動車株式会社 衝突回避支援装置
US11731663B2 (en) * 2020-11-17 2023-08-22 Uatc, Llc Systems and methods for actor motion forecasting within a surrounding environment of an autonomous vehicle
US11921504B1 (en) * 2020-12-29 2024-03-05 Zoox, Inc. Vehicle controller validation
US11708066B2 (en) * 2021-01-21 2023-07-25 Motional Ad Llc Road surface condition guided decision making and prediction
CN113341407B (zh) * 2021-06-02 2024-02-06 中国水产科学研究院南海水产研究所 一种基于雷达探测的渔业捕捞追踪系统及方法
US20230001953A1 (en) * 2021-06-17 2023-01-05 Toyota Research Institute, Inc. Planning-aware prediction for control-aware autonomous driving modules
CN113535861B (zh) * 2021-07-16 2023-08-11 子亥科技(成都)有限公司 一种多尺度特征融合与自适应聚类的轨迹预测方法
CN113753077A (zh) * 2021-08-17 2021-12-07 北京百度网讯科技有限公司 预测障碍物的运动轨迹的方法、装置及自动驾驶车辆
CN113554353B (zh) * 2021-08-25 2024-05-14 宁波工程学院 一种避免空间淤积的公共自行车空间调度优化方法
US11400958B1 (en) * 2021-09-20 2022-08-02 Motional Ad Llc Learning to identify safety-critical scenarios for an autonomous vehicle
US20230141801A1 (en) * 2021-11-05 2023-05-11 Toyota Research Institute, Inc. Systems and methods for maneuvering vehicles using predictive control and automated driving
WO2023148298A1 (en) * 2022-02-03 2023-08-10 Five AI Limited Trajectory generation for mobile agents
CN114460945B (zh) * 2022-02-14 2023-03-14 四川大学 移动机器人轨迹跟踪方法、装置及电子设备
US20230278593A1 (en) * 2022-03-01 2023-09-07 Mitsubishi Electric Research Laboratories, Inc. System and Method for Parking an Autonomous Ego-Vehicle in a Dynamic Environment of a Parking Area
CN115249270B (zh) * 2022-09-22 2022-12-30 广州市德赛西威智慧交通技术有限公司 一种雷视一体机自动重标注方法及系统
US11801871B1 (en) * 2022-12-28 2023-10-31 Aurora Operations, Inc. Goal-based motion forecasting
CN116841307B (zh) * 2023-09-01 2023-12-01 中国民用航空飞行学院 基于Koopman神经网络的飞行轨迹预测方法和装置
CN117077042B (zh) * 2023-10-17 2024-01-09 北京鑫贝诚科技有限公司 一种农村平交路口安全预警方法及系统
CN118158747A (zh) * 2024-04-12 2024-06-07 重庆赛力斯凤凰智创科技有限公司 车联网的边缘缓存方法、装置、电子设备及存储介质

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8670592B2 (en) 2008-04-24 2014-03-11 GM Global Technology Operations LLC Clear path detection using segmentation-based method
US8611585B2 (en) 2008-04-24 2013-12-17 GM Global Technology Operations LLC Clear path detection using patch approach
US8699754B2 (en) 2008-04-24 2014-04-15 GM Global Technology Operations LLC Clear path detection through road modeling
US8332134B2 (en) 2008-04-24 2012-12-11 GM Global Technology Operations LLC Three-dimensional LIDAR-based clear path detection
JP5252001B2 (ja) 2011-02-07 2013-07-31 トヨタ自動車株式会社 移動領域予測装置
DE102012009297A1 (de) 2012-05-03 2012-12-13 Daimler Ag Verfahren zur Unterstützung eines Fahrers beim Führen eines Fahrzeugs
CN103558856A (zh) 2013-11-21 2014-02-05 东南大学 动态环境下服务动机器人导航方法
JP6459220B2 (ja) 2014-05-26 2019-01-30 株式会社リコー 事故防止システム、事故防止装置、事故防止方法
EP3278317B1 (de) 2015-03-31 2022-11-16 Sony Group Corporation Verfahren und elektronische vorrichtung
US20170349181A1 (en) 2016-06-02 2017-12-07 Delphi Technologies, Inc. Lane management system for an automated vehicle
DE102016009760A1 (de) 2016-08-11 2018-02-15 Trw Automotive Gmbh Steuerungssystem und Steuerungsverfahren zum Führen eines Kraftfahrzeugs entlang eines Pfades
US9805595B1 (en) 2016-10-27 2017-10-31 International Business Machines Corporation Vehicle and non-vehicle traffic flow control
US10595037B2 (en) 2016-10-28 2020-03-17 Nec Corporation Dynamic scene prediction with multiple interacting agents
US10699305B2 (en) 2016-11-21 2020-06-30 Nio Usa, Inc. Smart refill assistant for electric vehicles
US10449956B2 (en) * 2017-01-18 2019-10-22 Ford Global Technologies, Llc Object tracking by unsupervised learning
DE102017204404B3 (de) 2017-03-16 2018-06-28 Audi Ag Verfahren und Vorhersagevorrichtung zum Vorhersagen eines Verhaltens eines Objekts in einer Umgebung eines Kraftfahrzeugs und Kraftfahrzeug
WO2018232680A1 (en) 2017-06-22 2018-12-27 Baidu.Com Times Technology (Beijing) Co., Ltd. EVALUATION FRAME FOR PREDICTED TRAJECTORIES IN A SELF-CONTAINING VEHICLE TRAFFIC PREDICTION
US10579063B2 (en) 2017-07-21 2020-03-03 Uatc, Llc Machine learning for predicting locations of objects perceived by autonomous vehicles
GB2564897A (en) * 2017-07-27 2019-01-30 Kompetenzzentrum Das Virtuelle Fahrzeug Method and process for motion planning in (un-)structured environments with pedestrians and use of probabilistic manifolds
US11112796B2 (en) * 2017-08-08 2021-09-07 Uatc, Llc Object motion prediction and autonomous vehicle control
US10649458B2 (en) 2017-09-07 2020-05-12 Tusimple, Inc. Data-driven prediction-based system and method for trajectory planning of autonomous vehicles
US10782694B2 (en) 2017-09-07 2020-09-22 Tusimple, Inc. Prediction-based system and method for trajectory planning of autonomous vehicles
DE102017217056B4 (de) 2017-09-26 2023-10-12 Audi Ag Verfahren und Einrichtung zum Betreiben eines Fahrerassistenzsystems sowie Fahrerassistenzsystem und Kraftfahrzeug
WO2019089591A1 (en) 2017-10-30 2019-05-09 Mobileye Vision Technologies Ltd. Vehicle navigation based on human activity
US10562538B2 (en) 2017-11-22 2020-02-18 Uatc, Llc Object interaction prediction systems and methods for autonomous vehicles
EP3495219B1 (de) * 2017-12-11 2023-07-05 Volvo Car Corporation Wegvorhersage für ein fahrzeug
WO2019136479A1 (en) * 2018-01-08 2019-07-11 The Regents On The University Of California Surround vehicle tracking and motion prediction
WO2019140042A1 (en) 2018-01-12 2019-07-18 Xtelligent, Inc. Traffic control utilizing vehicle-sources sensor data, and systems, methods, and software therefor
US11789449B2 (en) 2018-02-09 2023-10-17 Nvidia Corporation Controlling autonomous vehicles using safe arrival times
KR101951595B1 (ko) 2018-05-18 2019-02-22 한양대학교 산학협력단 모듈형 순환 신경망 구조 기반 차량 경로 예측 시스템 및 방법
US20190361454A1 (en) * 2018-05-24 2019-11-28 GM Global Technology Operations LLC Control systems, control methods and controllers for an autonomous vehicle
US10569773B2 (en) 2018-05-31 2020-02-25 Nissan North America, Inc. Predicting behaviors of oncoming vehicles
US10745011B2 (en) 2018-05-31 2020-08-18 Nissan North America, Inc. Predicting yield behaviors
CN112204633B (zh) 2018-05-31 2021-11-09 北美日产公司 概率性对象跟踪和预测框架
US10564643B2 (en) 2018-05-31 2020-02-18 Nissan North America, Inc. Time-warping for autonomous driving simulation
US10663305B2 (en) 2018-07-16 2020-05-26 Here Global B.V. Map matched aggregation for K-anonymity in trajectory data
CN109272108A (zh) 2018-08-22 2019-01-25 深圳市亚博智能科技有限公司 基于神经网络算法的移动控制方法、系统和计算机设备
JP7169832B2 (ja) 2018-09-27 2022-11-11 株式会社Subaru 車両の移動体監視装置、およびこれを用いる車両制御システム
CN111328411B (zh) 2018-09-28 2022-11-29 百度时代网络技术(北京)有限公司 用于自动驾驶车辆的行人概率预测系统
US11077878B2 (en) * 2018-11-02 2021-08-03 Zoox, Inc. Dynamic lane biasing
US10969789B2 (en) 2018-11-09 2021-04-06 Waymo Llc Verifying predicted trajectories using a grid-based approach
US10739777B2 (en) 2018-11-20 2020-08-11 Waymo Llc Trajectory representation in behavior prediction systems
US11034348B2 (en) 2018-11-20 2021-06-15 Waymo Llc Agent prioritization for autonomous vehicles
US11215997B2 (en) 2018-11-30 2022-01-04 Zoox, Inc. Probabilistic risk assessment for trajectory evaluation
US11427225B2 (en) 2018-12-26 2022-08-30 Uatc, Llc All mover priors
US11635764B2 (en) 2019-02-22 2023-04-25 Uatc, Llc. Motion prediction for autonomous devices
US11548533B2 (en) 2019-03-23 2023-01-10 Uatc, Llc Perception and motion prediction for autonomous devices
US11136023B2 (en) 2019-05-07 2021-10-05 Baidu Usa Llc Method for determining exiting intersection of moving objects for autonomous driving vehicles
US20200363800A1 (en) * 2019-05-13 2020-11-19 Great Wall Motor Company Limited Decision Making Methods and Systems for Automated Vehicle
US11574089B2 (en) 2019-06-28 2023-02-07 Zoox, Inc. Synthetic scenario generator based on attributes
US11269341B2 (en) 2019-06-28 2022-03-08 Woven Planet North America, Inc. Systems and methods for automated trajectory prediction
US11568100B2 (en) 2019-06-28 2023-01-31 Zoox, Inc. Synthetic scenario simulator based on events
WO2021003379A1 (en) 2019-07-03 2021-01-07 Waymo Llc Agent trajectory prediction using anchor trajectories
US20210035442A1 (en) 2019-07-31 2021-02-04 Nissan North America, Inc. Autonomous Vehicles and a Mobility Manager as a Traffic Monitor
US11754408B2 (en) 2019-10-09 2023-09-12 Argo AI, LLC Methods and systems for topological planning in autonomous driving
US12012127B2 (en) 2019-10-26 2024-06-18 Zoox, Inc. Top-down view object detection and tracking
US11351996B2 (en) 2019-11-01 2022-06-07 Denso International America, Inc. Trajectory prediction of surrounding vehicles using predefined routes
US11693415B2 (en) 2019-11-06 2023-07-04 Waymo Llc Predicting cut-in probabilities of surrounding agents
US11912271B2 (en) 2019-11-07 2024-02-27 Motional Ad Llc Trajectory prediction from precomputed or dynamically generated bank of trajectories
US11407431B2 (en) 2019-11-22 2022-08-09 Samsung Electronics Co., Ltd. System and method for object trajectory prediction in an autonomous scenario

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022004426A1 (de) 2022-11-28 2024-05-29 Mercedes-Benz Group AG Verfahren zur Prädiktion von Bewegungen von Verkehrsteilnehmern
WO2024114988A1 (de) 2022-11-28 2024-06-06 Mercedes-Benz Group AG Verfahren zur prädiktion von bewegungen von verkehrsteilnehmern

Also Published As

Publication number Publication date
KR102532546B1 (ko) 2023-05-12
GB202215274D0 (en) 2022-11-30
US20230111121A1 (en) 2023-04-13
GB2609783A (en) 2023-02-15
GB2606638B (en) 2023-08-02
GB202206502D0 (en) 2022-06-15
US20210139026A1 (en) 2021-05-13
KR20230070193A (ko) 2023-05-22
US20210284147A1 (en) 2021-09-16
US11858508B2 (en) 2024-01-02
GB2591330B (en) 2022-06-15
GB2606638A (en) 2022-11-16
US11535248B2 (en) 2022-12-27
GB2609783B (en) 2023-08-23
KR20210055617A (ko) 2021-05-17
CN112783151A (zh) 2021-05-11
GB202017591D0 (en) 2020-12-23
US11912271B2 (en) 2024-02-27
GB2591330A (en) 2021-07-28

Similar Documents

Publication Publication Date Title
DE102020129456A1 (de) Trajektorienvorhersage aus einer vorberechneten oder dynamisch generierten bank von trajektorien
DE102020111938A1 (de) Systeme und verfahren zum planen und aktualisieren einer fahrzeugtrajektorie
DE112020000487T5 (de) Automatisches wählen von datenproben zur annotation
DE102020210499A1 (de) Datengesteuerte regelwerke
DE102020111682A1 (de) Systeme und verfahren zum implementieren einer autonomen fahrzeugreaktion auf ein sensorversagen
DE112019004832T5 (de) Betrieb eines Fahrzeugs unter Verwendung von Bewegungsplanung mit maschinellem Lernen
DE102021101758A1 (de) Ampeldetektionssystem für ein fahrzeug
DE102020133744A1 (de) Vordergrundextraktion unter verwendung von flächenanpassung
DE112019006548T5 (de) Lenkwinkelkalibrierung
DE102021112349A1 (de) Fahrzeugbetrieb unter verwendung eines dynamischen belegungsrasters
DE112020000110T5 (de) Nutzung von in fahrzeugen erfassten fahrgastaufmerksamkeitsdaten fürlokalisierungs- und standortbezogene dienste
DE102021132850A1 (de) Homotopiebasierter planer für autonome fahrzeuge
DE102021132218A1 (de) Prädiktive Analytik für Fahrzeuggesundheitszustand
DE102021133742A1 (de) Planung einer trajektorie eines autonomen fahrzeugs mit dynamischem zustand
DE102020114306A1 (de) Schätzen von geschwindigkeitsprofilen
DE102020128433A1 (de) Simulation eines autonomen Fahrzeugs zur Verbesserung der Sicherheit und Zuverlässigkeit eines autonomen Fahrzeugs
DE112020002695T5 (de) Autonomer fahrzeugbetrieb mittels linearer temporaler logik
DE112019006282T5 (de) Betrieb eines Fahrzeugs unter Verwendung mehrerer Bewegungsbeschränkungen
DE102020127425A1 (de) Autonome Fahrzeugstationen
DE102020128155A1 (de) Bedingte bewegungsvorhersagen
DE102021127118A1 (de) Identifizieren von Objekten mit LiDAR
DE102020128154A1 (de) Trajektorieplanung für fahrzeuge unter verwendung von routeninformationen
DE102021133340A1 (de) Modalitätsübergreifendes aktives lernen zur objekterkennung
DE102021123721A1 (de) Fahrzeugbetrieb unter verwendung eines verhaltensregelmodells
DE102021132722A1 (de) Auswählen von testszenarien zum bewerten der leistung autonomer fahrzeuge

Legal Events

Date Code Title Description
R163 Identified publications notified