Method and system for influence-based action of autonomous agents - Patents.com

The influence-based operation system for autonomous vehicles predicts and optimizes interactions with other agents on the road, addressing the challenge of negative impacts by selecting policies that minimize energy and work, thereby enhancing road safety and tolerability.

JP2024545617AActive Publication Date: 2024-12-10MAY MOBILITY INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2024532183
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2021-12-01
Filing Date
2022-12-01
Publication Date
2024-12-10
Estimated Expiration
2042-12-01

AI Technical Summary

Technical Problem

Existing autonomous vehicle systems lack the ability to effectively assess and mitigate the impact of their driving behavior on other agents on the road, leading to potential negative interactions and reduced tolerability.

Method used

An influence-based operation system for autonomous agents that predicts future scenarios, evaluates the impact on other agents using closed-loop simulations, and selects policies to minimize negative interactions by considering energy and work metrics.

Benefits of technology

Enhances the tolerability of autonomous agents by optimizing their behavior to encourage positive interactions with other road users, reducing the risk of negative reactions and improving overall road safety.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2024545617000001_ABST
    Figure 2024545617000001_ABST
Patent Text Reader

Abstract

A system for influence-based action of an autonomous agent (also referred to herein equivalently as an ego agent and an autonomous vehicle) includes and / or interfaces with a computing subsystem (also referred to herein equivalently as a computer and / or a set of computers). A method for influence-based action of an autonomous agent includes receiving a set of inputs, predicting a set of future scenarios, and determining a set of metrics based on the set of future scenarios. Additionally or alternatively, the method can include operating the autonomous agent based on the set of metrics and / or any other process.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates generally to the field of autonomous vehicles, and more particularly to novel and useful systems and methods for influence-based operation of autonomous agents in the field of autonomous vehicles.

[0002] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of U.S. Provisional Application No. 63 / 285,024, filed December 1, 2021, which is incorporated herein by reference in its entirety. [Brief description of the drawings]

[0003] [Figure 1] FIG. 1 is a schematic diagram of a system for influence-based action of autonomous agents. [Diagram 2] FIG. 2 is a schematic diagram of a method for influence-based action of an autonomous agent. [Diagram 3] 3A and 3B illustrate one embodiment of a method for influence-based operation of an autonomous agent. [Figure 4] FIG. 4 illustrates one embodiment of a method for influence-based operation of an autonomous agent. [Diagram 5] FIG. 5 illustrates a specific example of a method for influence-based action of an autonomous agent that includes right-of-way analysis. [Figure 6] FIG. 6 illustrates a particular example of a method for influence-based operation of autonomous agents, including subsequent environmental agents. [Figure 7] FIG. 7 illustrates one embodiment of evaluating the influence of an autonomous agent on an environmental agent. [Figure 8] FIG. 8 illustrates one aspect of the calculation of a set of metrics used in selecting a policy for an autonomous agent to execute. [Figure 9] 9A and 9B illustrate one embodiment of a method for influence-based operation of an autonomous agent. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0004] The following description of preferred embodiments of the invention is not intended to limit the invention to those preferred embodiments, but rather to enable any person skilled in the art to make and use the invention.

[0005] 1. Overview 1, a system 100 for influence-based operation of an autonomous agent (also equivalently referred to herein as an ego agent and an autonomous vehicle) includes and / or interfaces with a computing subsystem (also equivalently referred to herein as a computer and / or a set of computers). Additionally or alternatively, system 100 may include and / or interface with an autonomous agent (also equivalently referred to herein as an ego agent), one or more sets of sensors (e.g., onboard the ego agent, onboard a set of infrastructure devices, etc.), and / or any other components. Further, additionally or alternatively, the system may be configured to incorporate a method and system configuration as disclosed in U.S. Application No. 16 / 514,624, filed July 17, 2019, U.S. Application No. 16 / 505,372, filed July 8, 2019, U.S. Application No. 16 / 540,836, filed August 14, 2019, U.S. Application No. 16 / 792,780, filed February 17, 2020, U.S. Application No. 17 / 365,538, filed July 1, 2021, U.S. Application No. 17 / 365,538, filed December 14 ... No. 17 / 550,461, filed on December 17, 2021, U.S. Application No. 17 / 554,619, filed on April 4, 2022, and / or U.S. Application No. 17 / 826,655, filed on May 27, 2022 (each of which applications is incorporated by reference in its entirety).

[0006] 2, a method 200 for influence-based action of an autonomous agent includes steps S100 of receiving a set of inputs, S200 of predicting a set of future scenarios, and S300 of determining a set of metrics based on the set of future scenarios. Additionally or alternatively, method 200 may include step S400 of acting on the ego agent based on the set of metrics and / or any other process. Further, additionally or alternatively, the method 200 may be performed using any of U.S. Application No. 16 / 514,624, filed July 17, 2019, U.S. Application No. 16 / 505,372, filed July 8, 2019, U.S. Application No. 16 / 540,836, filed August 14, 2019, U.S. Application No. 16 / 792,780, filed February 17, 2020, U.S. Application No. 17 / 365,538, filed July 1, 2021, U.S. Application No. 17 / 550,461, filed December 14, 2021, U.S. Application No. 17 / 560,361, filed December 17, 2021, U.S. Application No. 17 / 570,361, filed December 14, 2021, U.S. Application No. 17 / 59 ... No. 17 / 554,619, filed on April 4, 2022, and / or U.S. Application No. 17 / 712,757, filed on May 27, 2022, and / or U.S. Application No. 17 / 826,655, filed on May 27, 2022 (each of which applications is incorporated by reference in its entirety, or any other suitable process may be performed in any suitable order).

[0007] The method 200 may be performed by the system 100 as described above, and / or by any other suitable system.

[0008] 2. Advantages Systems and methods for influence-based operation of autonomous agents can provide several advantages over current systems and methods.

[0009] In a first aspect, the present technology provides the advantage that by assessing the potential impacts of the ego agent's driving behavior on other agents sharing the road with the ego agent, a policy (e.g., behavior, action, movement, operation, etc.) can be selected for the ego agent that takes those impacts into account and promotes considerate driving by the ego agent. This can prevent the ego agent from performing actions that may cause trouble to other agents or provoke negative (or dangerous) reactions from other agents toward the ego agent, thereby increasing the acceptability of the ego agent on the road.

[0010] In a second aspect, in addition to or instead of the first aspect, the technique provides the advantage of enabling prediction of how other agents on the road are driving and how they are likely to react to the ego agent's future actions, in a particular example through a set of closed-loop simulations that forward-simulate the driving behavior of those other agents along with the ego agent.

[0011] In some examples, at least two types and / or categories of simulations are performed, where the types of simulations differ with respect to which objects are simulated and / or which objects are not simulated. In a particular example, in a first type of simulation, the ego agent is present along with the environmental agent, while in a second type of simulation, only the environmental agent is simulated (the ego agent is removed from the scene), this combination of simulation types providing the advantage of allowing for identifying differences in the progress of the environmental agent that are directly attributable to the ego agent (e.g., reduction, hindrance, etc.).

[0012] In a third aspect, in addition to or instead of those described above, the technique confers the advantage of predicting the influence of ego agents through metrics that are particularly suited for easy use, such as metrics configured for comparison between multiple different types of agents, linear scaling of another metric in determining the reward function, representing a common goal between agents, and / or any other advantage.

[0013] In a first set of aspects, the metrics used to assess the impact include the difference in modified energy and / or work associated with a scene and its environmental agents, which can meaningfully reflect how much energy and work will be required by the environmental agents in response to a particular behavior of the ego agent. These metrics can also be easily aggregated (e.g., summed, aggregating them together since work and energy share the same units), evaluated, compared, and / or otherwise used efficiently.

[0014] In a second set of aspects, in addition to or instead of those described above, the metrics used to evaluate the impact include the difference and / or ratio between the distance the environment agent could progress if the ego agent does not execute the proposed policy and the distance the environment agent could progress if the ego agent executes the proposed policy, which can be applied to all agents (e.g., vehicles, pedestrians, etc.) and can be used to scale a reward function related to the ego agent's progress towards a goal.

[0015] Additionally or alternatively, the systems and methods may provide any other advantages.

[0016] 3. System 1, a system 100 for autonomous agent influence-based action includes and / or interfaces with a computing subsystem (equivalently, also referred to herein as a computer), which includes and / or interfaces with a simulator subsystem (e.g., a simulator module, a simulation program, a simulator, etc.), and / or is otherwise configured to execute and / or trigger the execution of a set of simulations (e.g., as described below). System 100 further preferably includes and / or interfaces with an autonomous agent (equivalently, also referred to herein as an ego agent and / or an autonomous vehicle and / or an ego vehicle), one or more sets of sensors (e.g., onboard the ego agent, onboard a set of infrastructure devices, etc.), and / or any other components. Additionally or alternatively, the system may be configured to incorporate a method and system configuration as disclosed in U.S. Application No. 16 / 514,624, filed July 17, 2019, U.S. Application No. 16 / 505,372, filed July 8, 2019, U.S. Application No. 16 / 540,836, filed August 14, 2019, U.S. Application No. 16 / 792,780, filed February 17, 2020, U.S. Application No. 17 / 365,538, filed July 1, 2021, U.S. Application No. 17 / 365,538, filed December 14 ... No. 17 / 550,461, filed on December 17, 2021, U.S. Application No. 17 / 554,619, filed on April 4, 2022, and / or U.S. Application No. 17 / 826,655, filed on May 27, 2022 (each of which applications is incorporated by reference in its entirety).

[0017] System 100 preferably includes and / or cooperates with (e.g., is integrated within) an autonomous vehicle (equivalently referred to herein as an autonomous agent, agent, and / or ego agent). The autonomous agent is preferably an autonomous vehicle, and more preferably a fully autonomous vehicle and / or a vehicle capable of operating as a fully autonomous vehicle, but may additionally or alternatively be a semi-autonomous vehicle and / or any other vehicle.

[0018] In a preferred embodiment, the autonomous vehicle is a motor vehicle (e.g., a car, a driverless vehicle, a bus, a shuttle, a taxi, a ride-share vehicle, a truck, a semi-truck, etc.). Additionally or alternatively, the autonomous vehicle can include any or all of a watercraft (e.g., a boat, a water taxi, etc.), an air vehicle (e.g., an airplane, a helicopter, a drone, etc.), a ground vehicle (e.g., a two-wheeler, a motorcycle, a motor cycle, a scooter, etc.), and / or any other suitable vehicle and / or transportation device, an autonomous machine, an autonomous device, an autonomous robot, and / or any other suitable device.

[0019] The autonomous agent preferably includes and / or interfaces with a computing subsystem that functions to process information (e.g., sensor inputs) and perform processing and decision-making for the operation of the ego agent. This may include, for example, determining any or all of a set of policies (e.g., behaviors, actions, high-level behaviors and / or plans, etc.) for the ego agent to execute, behaviors and / or actions for the vehicle to execute, a trajectory for the ego agent to execute, a set of control commands for the vehicle (e.g., actuation subsystem, steering subsystem, braking subsystem, acceleration subsystem, etc.) to execute, and / or other information. Additionally or alternatively, the computing subsystem may function to execute any or all of processes involved in any or all of perception, prediction, localization, planning, and / or any other processes involved in the operation of the autonomous agent.

[0020] The computing system preferably includes an on-board computing subsystem located onboard (e.g., integrated within) the ego agent. Additionally or alternatively, the computing system may include any or all of a remote computing system (e.g., a cloud computing system in lieu of an on-board computing system, a remote computing system in communication with an on-board computing system, etc.), a computing subsystem integrated into an auxiliary device (e.g., a mobile device, a user device, etc.), an edge device including a mobile computing device, and / or any other suitable computing subsystem and device. In an aspect, for example, the ego agent is operable to communicate with a remote or distributed computing system, which may include a user device (e.g., a mobile phone, a laptop, etc.), a remote server, a cloud server, or any other suitable local and / or distributed computing system off the vehicle. The remote computing subsystem may be connected to one or more systems of the autonomous agent through one or more data connections (e.g., channels), but may alternatively communicate with the vehicle systems in any suitable manner.

[0021] The computing subsystem may include and / or may cooperate with a processing subsystem (e.g., a processor or set of processors, a graphics processing unit or GPU, a central processing unit or CPU, or any suitable processing circuitry) and memory, but may additionally or alternatively include any other suitable components. Memory may be short-term (e.g., volatile, non-volatile, random access memory or RAM, etc.) and / or long-term (e.g., flash memory, hard disk, etc.) memory.

[0022] In an aspect, for example, the on-board computing subsystem functions to interact with and / or operably control one or more of the identified components or modules described herein. In a preferred aspect, for example, the on-board computing subsystem executes computer instructions to implement a multi-policy decision module. In a particular example, the processing system and memory collectively function to dynamically manage a set of policies available to an autonomous agent within the framework of a multi-policy decision-making framework, such as those described in any or all of U.S. Application No. 16 / 514,624, filed July 17, 2019, and U.S. Application No. 17 / 365,538, filed July 1, 2021, each of which is incorporated herein by reference in its entirety. Additionally or alternatively, the processing system and memory and / or any other suitable components may be used for any other suitable functions.

[0023] The computing subsystem preferably includes an interface with and / or is configured to perform processing in conjunction with a simulator subsystem (equivalently referred to herein as a simulation subsystem) of the system, which functions to execute a set of simulations (e.g., as described below) that function to predict future scenarios associated with the ego agent and environmental agents (e.g., other vehicles, pedestrians, dynamic and / or static objects, etc.) in its environment (e.g., around the ego agent, within the field of view of the ego agent's sensors, within a preset radius about the ego agent, etc.). Additionally or alternatively, the simulator subsystem may perform any other functionality.

[0024] The simulator subsystem preferably includes a simulation program (e.g., a simulation module, simulation software, a programming language, a software script, and / or program commands, etc.) executable by the computing subsystem, but may additionally or alternatively include and / or be executed by any other components.

[0025] The simulator subsystem is preferably configured to perform forward simulations, which function to predict and analyze how the ego agent's environment will unfold in the future (e.g., by a preset time in the future) based on the ego agent's current and / or past understanding of its environment (e.g., current positions of the ego agent and the environment agent, past positions of the ego agent and the environment agent, current and / or past motion information associated with the ego agent and / or the environment agent). In a set of preferred embodiments, for example, a set of simulations are performed throughout the operation of the autonomous vehicle (e.g., continuously, at a preset frequency (e.g., every 0.1 to 1 second, at least every 1 second, at least every 5 seconds, every 1 millisecond to 1 second, etc.), at a preset set of intervals, upon collection of new sensor information, etc.), which forward simulate the vehicle's environment into the future (e.g., to a preset time in the future, at each of a set of preset time intervals to a preset time in the future, 1 to 10 seconds into the future, less than 1 second into the future, more than 10 seconds into the future, 0.1 to 30 seconds into the future, 2 to 8 seconds into the future, etc.).

[0026] Additionally or alternatively, the simulator subsystem may perform any other simulation and / or type of simulation.

[0027] In a particular example, the multi-policy decision-making module includes and / or implements a simulator module or similar machine or system that functions to estimate future (i.e., steps ahead in time) action policies (motions or movements) for each of the environmental agents (e.g., other vehicles in the ego agent's environment) and / or objects (e.g., pedestrians) identified in the autonomous agent's operating environment (real or virtual), including potential action policies that may be executed by the ego agent. The simulation may be based on each agent's current state (e.g., current assumptions) and / or each agent's past movements or past behaviors derived from a historical data buffer (preferably including data up to the present time). The simulation may provide data related to the mutual relationships (e.g., relative positions, relative velocities, relative accelerations, etc.) between each agent's predicted action policy and one or more potential action policies that may be executed by the autonomous agent.

[0028] Additionally or alternatively, the simulation subsystem may operate independently and / or externally from the multi-policy decision-making module.

[0029] System 100 optionally includes a communications interface for communicating with the computing system, the communications interface functioning to allow for receiving information (e.g., from an infrastructure device, from a remote computing system and / or remote server, from a teleoperator platform, another autonomous agent or other vehicle, etc.) and transmitting information from the computing system (e.g., to a remote computing system and / or remote server, to a teleoperator platform, to an infrastructure device, another autonomous agent or other vehicle, etc.). The communications interface preferably includes a wireless communication system (e.g., Wi-Fi, Bluetooth, Cellular 3G, Cellular 4G, Cellular 5G, Multiple Input Multiple Output or MIMO, one or more radios, or any other suitable wireless communication system or protocol), but may additionally or alternatively include any or all of a wired communication system (e.g., modulated power line data transmission, Ethernet, or any other suitable wired data communication system or protocol), a data transmission bus (e.g., CAN, FlexRay), and / or any other suitable components.

[0030] System 100 may optionally include and / or interface with (e.g., receive information from) a set of infrastructure devices, also referred to herein equivalently as roadside units (e.g., FIG. 1), that individually and / or collectively function to observe and collect observational data regarding one or more aspects and / or characteristics of the environment. The set of infrastructure devices preferably communicate with the autonomous agent's on-board computing system, but may additionally or alternatively communicate with the teleassist platform, any other components, and / or any combination.

[0031] The infrastructure devices preferably include devices in the immediate vicinity and / or within close or short-range communication proximity of the autonomous agent's operating location and may function to collect data regarding the environment surrounding the autonomous agent and within areas proximate to the autonomous agent's operating zone. In an embodiment, the roadside units include one or more of off-board sensing devices including flash LIDAR, thermal imaging devices (thermal cameras), still or video capture devices (e.g., imaging cameras and / or video cameras, etc.), global positioning systems, radar systems, microwave systems, inertial measurement units (IMUs), and / or any other suitable sensing device or combination of sensing devices.

[0032] The system preferably includes and / or is in conjunction with a sensor suite (e.g., computer vision system, LIDAR, RADAR, wheel speed sensors, GPS, cameras, etc.) that communicates with the on-board computing system and functions to gather information for determining one or more trajectories of the autonomous agent. Additionally or alternatively, the sensor suite may function to enable operation of the autonomous agent (e.g., autonomous driving), obtaining data regarding the environment surrounding the autonomous agent, obtaining data regarding the operation of the autonomous agent, detecting the need for maintenance of the autonomous agent (e.g., via engine diagnostic sensors, external pressure sensor strips, sensor health sensors, etc.), detecting cleanliness standards within the autonomous agent (e.g., internal cameras, ammonia sensors, methane sensors, alcohol vapor sensors), and / or any other suitable functionality.

[0033] The sensor suite preferably includes sensors onboard the autonomous vehicle (e.g., RADAR and / or LIDAR sensors and / or cameras coupled to an exterior surface of the agent, IMUs and / or encoders coupled to and / or located within the agent, audio sensors, proximity sensors, temperature sensors, etc.), but may additionally or alternatively include sensors located remotely from the agent (e.g., part of one or more infrastructure devices, sensors in communication with the agent, etc.), and / or any suitable sensors in any suitable location.

[0034] The sensors may include any or all of cameras (e.g., visible range, multispectral, hyperspectral, IR, stereo vision, etc.), LiDAR sensors, RADAR sensors, orientation sensors (e.g., accelerometers, gyroscopes, altimeters), acoustic sensors (e.g., microphones), other optical sensors (e.g., photodiodes, etc.), temperature sensors, pressure sensors, flow sensors, vibration sensors, proximity sensors, chemical sensors, electromagnetic sensors, force sensors, or any other suitable type of sensor.

[0035] In a preferred set of embodiments, the sensors include at least a set of optical sensors (e.g., cameras, LiDAR, etc.), and optionally any or all of RADAR sensors, vehicle sensors (e.g., speedometers, orientation sensors, accelerometers, etc.), and / or other sensors.

[0036] The system may optionally include a vehicle control subsystem including one or more controllers and / or control systems and / or may be in communication with a vehicle control system including any suitable software and / or hardware components (e.g., processors and computer-readable storage devices) utilized to generate routing goals for the autonomous agent and control signals for controlling the autonomous agent in accordance with a selected behavioral policy and / or selected trajectory of the autonomous agent.

[0037] In a preferred embodiment, the vehicle control system includes, interfaces with, and / or implements a drive-by-wire system of the vehicle. Additionally or alternatively, the vehicle may operate according to the actuation of one or more mechanical components and / or may be otherwise implemented.

[0038] Additionally or alternatively, system 100 may include and / or cooperate with any other suitable components.

[0039] 4. Method 2, a method 200 for influence-based action of an autonomous agent includes steps S100 of receiving a set of inputs, S200 of predicting a set of future scenarios, and S300 of determining a set of metrics based on the set of future scenarios. Additionally or alternatively, method 200 may include step S400 of acting on the ego agent based on the set of metrics and / or any other process. Further, additionally or alternatively, the method 200 may be performed using any of U.S. Application No. 16 / 514,624, filed July 17, 2019, U.S. Application No. 16 / 505,372, filed July 8, 2019, U.S. Application No. 16 / 540,836, filed August 14, 2019, U.S. Application No. 16 / 792,780, filed February 17, 2020, U.S. Application No. 17 / 365,538, filed July 1, 2021, U.S. Application No. 17 / 550,461, filed December 14, 2021, U.S. Application No. 17 / 560,361, filed December 17, 2021, U.S. Application No. 17 / 570,361, filed December 14, 2021, U.S. Application No. 17 / 59 ... No. 17 / 554,619, filed on April 4, 2022, and / or U.S. Application No. 17 / 712,757, filed on May 27, 2022, and / or U.S. Application No. 17 / 826,655, filed on May 27, 2022 (each of which applications is incorporated by reference in its entirety, or any other suitable process may be performed in any suitable order).

[0040] Method 200 functions to determine and take into account one or more potential (e.g., predicted) effects that an ego agent executing a particular policy (e.g., behavior, action, set of control commands, etc.) may have on other agents (equivalently referred to herein as environmental agents and tracked agents) in the ego agent's environment (e.g., including but not limited to other vehicles, bicycles, pedestrians, and / or any other dynamic or static objects, etc.). This may function to cause the ego agent to operate in a manner that is friendly to other drivers, pedestrians, and / or other agents on or near the roadway. Environmental agents preferably include vehicles (e.g., human-driven vehicles, autonomous vehicles, bicycles, scooters, etc.) and pedestrians, but may additionally or alternatively include any other entities or objects.

[0041] In a preferred set of embodiments, method 200 functions to continually determine (e.g., through simulation) how the ego agent's current and / or future behavior (e.g., policies) may impede and / or adversely affect the progress of other vehicles, pedestrians, bicyclists and / or other objects in proximity to the ego agent, and to incorporate this knowledge into the vehicle's decision-making (e.g., policy selection).

[0042] Additionally or alternatively, the method 200 may perform any other functions.

[0043] 4.1 Method - S100 receives a set of inputs Method 200 includes a step S100 of receiving a set of inputs, which functions to receive information for predicting a set of future scenarios (e.g., running a set of simulations) in S200. Additionally or alternatively, the set of inputs S100 can be used to determine a set of policy options (e.g., multiple potential policies) to be simulated for the ego agent, a set of policy options (e.g., simulated together with the ego agent's policy options) to be simulated for the environment agent, and / or any other information for any other process of method 200.

[0044] S100 is preferably executed initially in method 200, and more preferably multiple times during operation of the autonomous agent (e.g., continuously, at a preset frequency, at a set of preset intervals, at dynamically determined intervals, etc.). In some aspects, S100 is executed according to a selection cycle (e.g., a preset selection cycle, a preset frequency, etc.) during operation (e.g., while moving) of the ego agent. The selection cycle is preferably associated with a preset frequency (e.g., once every 1-10 seconds, more than once every second, less than once every 10 seconds, etc.), but may additionally or alternatively be associated with a variable frequency and / or random interval, executed in response to a trigger, and / or executed in other manners. Additionally or alternatively, S100 may be executed without a selection cycle (e.g., in response to a trigger) and / or at any other time during method 200.

[0045] The input preferably includes information that can be used to detect a set of environmental objects located within the ego agent's environment (e.g., within the field of view of the ego agent's sensor, within a preset distance of the ego agent, within the ego agent's planning range, etc.).

[0046] Further, the inputs, optionally along with any or all of this information about the ego agent, can be used to identify characteristics of the environmental agents being tracked by the system, such as location, classification (e.g., vehicle, pedestrian, etc.), movement, and / or any other characteristics. Additionally or alternatively, the set of inputs can include information characterizing road or other landmark / infrastructure features (e.g., where the lane lines are, where the edges of the road are, where the traffic signals are, what type they are, where the agent is located relative to those landmarks, etc.), and / or any other information. The set of inputs can additionally or alternatively include any historical inputs and / or historical information (e.g., previous state estimates).

[0047] The inputs preferably include sensor inputs received from a sensor suite onboard the ego agent (e.g., camera streams, LiDAR data, RADAR data, etc.), but may additionally or alternatively include historical information related to the ego agent (e.g., a historical state estimate for the ego agent) and / or historical information related to the environmental agent (e.g., a historical state estimate for the environmental agent), sensor inputs, information and / or any other inputs from sensor systems external to the ego agent (e.g., those onboard other ego agents or environmental agents, those onboard a set of infrastructure devices, etc.).

[0048] In a preferred set of embodiments, the set of inputs for S100 includes information for identifying state estimates (e.g., position, velocity, and azimuth) of the ego agent and each tracked environmental agent, and, optionally, a classification label associated with each agent (e.g., indicating whether the agent is a vehicle, pedestrian, or other object). Additionally or alternatively, the set of inputs can be used to identify a subset of this information and / or any other information (e.g., acceleration information, geometric properties of the agent, historical information, etc.).

[0049] S100 may optionally include pre-processing (e.g., fusing, aggregating, etc.) any or all of the set of inputs, which serves to prepare the set of inputs for analysis in subsequent processes of method 200.

[0050] Additionally or alternatively, S100 may include any other process.

[0051] 4.2 Methodology – Projecting a set of future scenarios S200 Method 200 preferably includes a step S200 of predicting a set of future scenarios, which serves to predict the effect (also equivalently referred to herein as the impact) that an ego agent enforcing a particular policy will have on other agents on the road, thereby enabling appropriate selection of an optimal policy for the ego agent to implement. Additionally or alternatively, S200 may serve to enable evaluation of any other metrics (e.g., as described in S300).

[0052] S200 is preferably performed in response to S100 and based on a set of inputs received in S100, but may additionally or alternatively be performed based on any processing of the inputs received in S100 and / or any other information (e.g., a route network, road infrastructure information, a set of maps, etc.), based on data received in a previous iteration of S100 (e.g., to form a corpus of aggregated historical data), and / or based on any other information. Additionally or alternatively, S200 may be performed multiple times during method 200 and / or at any other time during method 200, omitting S100.

[0053] S200 is preferably performed on and / or using a computing subsystem (more preferably a computing subsystem on-board the ego agent), but may additionally or alternatively be performed on a remote computing system not on-board the ego agent, a combination of computing systems, and / or any other computing subsystem or subsystems.

[0054] The set of future scenarios preferably refers to the predicted environment (e.g., surroundings) that the ego vehicle will encounter at one or more future times. This may include and / or reflect, for example, where (e.g., at what position) the environmental agent will be at some future time, where the ego vehicle will be at some future time, what motion characteristics (e.g., motion parameters) (e.g., speed, acceleration, etc.) the environmental agent and / or ego agent will have at some future time, orientation characteristics (e.g., azimuth angle, heading angle, etc.) the environmental agent and / or ego agent will have at some future time, behaviors and / or actions and / or policies that the environmental agent and / or ego agent will execute at some future time, control commands (e.g., braking, steering, etc.) that the environmental agent and / or ego agent will execute in the future, and / or any other features may be used to define one or more future scenarios.

[0055] In some sets of aspects, for example, the future scenario indicates at least positions associated with environmental agents (e.g., vehicles, pedestrians, other objects, etc.) and the ego agent, and optionally further indicates any or all of the agent's orientation, the agent's motion and / or movement parameters (e.g., velocity, acceleration, etc.), any derived parameters (e.g., energy, work, etc.), and / or any other information.

[0056] Determining the set of future scenarios preferably includes running a set of simulations, the set of simulations representing potential future scenarios associated with the ego agent's environment. In a preferred embodiment, the set of future scenarios represents potential future scenarios that would result from the ego agent implementing a particular policy or a particular set of policies, allowing the ego agent to determine and evaluate the impact of implementing those policies in order to select which policy (e.g., behavior, action, etc.) to implement moving forward. Additionally or alternatively, the set of future scenarios may include those that may result from any or all of maintaining current policies, implementing a particular set of control commands, updating the ego agent's destination, updating the ego agent's set of goals or objectives, encountering a particular set and / or change in environmental conditions (e.g., traffic conditions, weather conditions, etc.), and / or evaluating any other scenarios.

[0057] The simulation preferably includes a closed-loop, forward simulation, but may additionally or alternatively include a backward simulation, an open-loop simulation, and / or any combination of simulations. In a preferred set of embodiments, the simulation includes a closed-loop forward simulation, which predicts the future positions (and / or any other state estimate information or other information) of the environmental agent and optionally the ego agent, and optionally any other information (e.g., movement information), based on a set of inputs received in S100 (e.g., currently observed state estimates, current classification labels, past state estimates and / or past classification labels, etc.). Additionally or alternatively, any other simulation may be performed.

[0058] The agent is preferably simulated over multiple time steps (e.g., t1, t2, ... t3) for the total time represented by the simulation (e.g., 1-5 seconds, 1 second, 2 seconds, 3 seconds, 4 seconds, 5 seconds, 1-10 seconds, 5-10 seconds, more than 10 seconds, etc.) so that a greater granularity of the agent's movements can be provided for analysis. n ) Alternatively, the simulation may relate to a single time step and / or any combination.

[0059] In the simulation, the ego agent is preferably assigned a single policy from a potential set of policies, and the action of implementing this particular policy is evaluated. Here, a policy refers to a behavior / action (and / or associated control command) that the agent can perform (e.g., go straight, change lanes, turn right, turn left, stop, etc.). The environmental agents are further preferably each assigned a single policy, which allows intention estimation of the agents to be performed in the simulation. Additionally or alternatively, the simulation of the agents can include any or all of the processes described in U.S. Application No. 16 / 514,624, filed July 17, 2019, and U.S. Application No. 17 / 365,538, filed July 1, 2021, which are incorporated by reference in their entirety. Furthermore, additionally or alternatively, any other assignment can be made to any agent in the simulation (e.g., as described above).

[0060] Running the set of simulations preferably includes running a first subset of simulations and a second subset of simulations for each ego-agent policy, where the representation (e.g., presence, behavior, etc.) of the ego-agent differs between the first and second subsets of simulations (e.g., the ego-agent is present in the first subset of simulations and the ego-agent is absent in the second subset of simulations), and based on this difference, the ego-agent's action on the environmental agents can be determined. In aspects where multiple time steps are represented in the simulations, the first and second subsets are preferably substantially paired (e.g., as shown in Figures 3A, 3B, 4, 5, and 6) such that each subset represents the same time step for comparison. Additionally or alternatively, the subsets of simulations may be configured and / or compared in other manners.

[0061] Additionally or alternatively, S200 may include running any number of other sets of simulations and / or types of simulations. For example, the simulations may differ based on any or all of whether environmental agents are present, which environmental agents are present (e.g., so that the effects of the behavior of the environmental agents on one another can be determined), and / or other environmental scenarios.

[0062] In a first set of embodiments (e.g., as shown in Figures 3A and 3B, as shown in Figure 5, as shown in Figure 6), a first subset of simulations includes an environmental agent along with the ego agent, where the ego agent executes a proposed future policy, while a second subset of simulations does not include the ego agent. The movement / position of the environmental agent is determined in a first scenario where the ego agent executes its policy, and can then be compared to a scenario where the ego agent is not present at all.

[0063] In a second set of embodiments (e.g., as shown in FIG. 4 ), a first subset of simulations includes an environmental agent along with an ego agent, where the ego agent executes a proposed future policy, and a second subset of simulations also includes an environmental agent and an ego agent, where the ego agent continues to execute (e.g., maintain) a current policy.

[0064] Additionally or alternatively, the agents can be configured in other ways in the subsets of the simulation (e.g., the ego agent executes different future policy options in each subset, and the ego agent executes a minimum risk policy such as going straight and / or stopping in the second subset).

[0065] S200 may additionally or alternatively include any other suitable processes.

[0066] 4.3 Methodology - Determine a set of metrics based on a set of future scenarios S300 Method 200 includes a step S300 of determining a set of metrics based on a set of future scenarios, which functions to evaluate the potential impact of the ego agent on any or all of the environmental agents. Additionally or alternatively, S300 may function to perform any other analysis, such as determining the risk of executing a particular policy (e.g., collision risk), determining the extent to which executing a particular policy will progress the ego agent toward a particular goal, determining an overall score used in selecting a policy and / or any other decision-making in the ego agent's operation, and / or identifying any other metrics that play a role in selecting a policy for the ego agent to execute.

[0067] S300 is preferably executed in response to and / or during (e.g., in parallel with, as part of) S200, and the set of metrics is further preferably determined according to (e.g., during, in response to) the performance of the set of simulations (e.g., based on characteristics of the future scenarios). Additionally or alternatively, S300 may be executed multiple times during method 200 and / or at any other time.

[0068] The set of metrics preferably includes a score (e.g., cost function, loss function, etc.) associated with each proposed ego-agent policy based on a set of simulations performed on the proposed policies, and / or a score is collectively determined (e.g., by aggregating any or all of the set of metrics described below). The policy that is ultimately selected for implementation by the ego-agent is then determined, at least in part, based on the score (e.g., based on a comparison of scores associated with multiple policy options). Additionally or alternatively, the set of metrics described below can be determined and / or analyzed individually, other metrics can be determined, the metrics can be aggregated in other suitable ways, and / or the metrics can be configured in other ways. Further, additionally or alternatively, a policy can be selected based on the individual metrics and / or based on any other information.

[0069] S300 preferably includes a step S310 of determining (e.g., calculating) a reward metric and / or set of reward metrics (e.g., that can be used to calculate an overall score), the reward metrics functioning to identify how (and / or to what extent) the ego agent's and / or environment agent's goals will be affected (e.g., advanced, hindered, etc.) in the future by the ego agent's implementation of a particular action (e.g., policy). Additionally or alternatively, S300 can be performed without calculating reward metrics.

[0070] Determining the reward metrics preferably includes a step S314 of determining (e.g., calculating) environmental agent goal metrics (equivalently referred to herein as influence metrics and / or environmental agent reward metrics and / or benevolence metrics) and / or a set of environmental goal metrics (e.g., one for each tracked environmental agent, one for each environmental agent detected by the ego agent's sensors, etc.), where the environmental agent goal metrics indicate the progress of one or more environmental agents toward a goal (or conversely, lack of progress toward a goal). The environmental agent goal metrics are further preferably indicative of and / or determined based on the impact that an ego executing a particular policy has on the environmental agent. In a preferred set of aspects, for example, the environmental agent goal metrics quantify the predicted impact that an ego agent's execution of a particular policy is expected to have on the environmental agent. Additionally or alternatively, the environmental agent goal metrics may consider and / or represent any other information.

[0071] In a preferred embodiment, for example, the ego-agent's influence on the environmental agent is evaluated (e.g., quantified and characterized as negative vs. positive vs. neutral) based on whether and / or the extent to which the ego-agent is predicted to prevent the environmental agent from reaching one or more goals (e.g., predicted goals, assigned goals, etc.). In a preferred example, this influence is determined at least in part based on a comparison of metrics between a first subset and a second subset of simulations, but may additionally or alternatively be determined based on a comparison of metrics from only the first subset, only the second subset, from other simulation types, and / or from any combination of simulations.

[0072] The goal or goals may be the same for all environmental agents or may vary between environmental agents, and / or an environmental agent may be associated with any other goal and / or combination of goals.

[0073] Each environmental agent may be associated with a single goal, multiple goals, and / or any number or combination of goals.

[0074] The environmental agent's goal is preferably related to (e.g., characterized by, including its progress) the environmental agent's progress toward a predicted and / or recognized destination, such as the environmental agent's progress along roads on which and / or which the environmental agent may travel (e.g., in the direction currently traveled, in any direction, etc.). In some example sets, this may be quantified (e.g., partially, completely) by the distance the environmental agent can travel within a particular period into the future (e.g., as indicated by a forward simulation).

[0075] Additionally or alternatively, any other position-based metrics and / or derivatives of position-based metrics and / or modified position-based metrics (e.g., scaled distance) may be used in determining the environmental agent goal metrics.

[0076] In some aspects, for example, an environmental agent's goal (and associated environmental agent goal metric) may be associated with a distance traveled by the agent within a simulation time frame, which may correspond to a goal of progressing toward a destination. Additionally or alternatively, the goals may include collision avoidance goals (e.g., including "close calls" events), distance maintenance goals (e.g., distance between self and other agents), and / or any other goal.

[0077] Additionally or alternatively, the environmental agent goal metrics may include and / or may be determined based on one or more motion parameters including, but not limited to, speed (e.g., for goals such as maintaining a constant speed, not slowing down, not slowing down below a pre-set threshold and / or speed, refraining from speed changes beyond a pre-set speed, not stopping, etc.), acceleration (e.g., maintaining a constant acceleration, preventing deceleration, preventing acceleration and / or deceleration beyond a pre-set speed and / or magnitude, etc.), jerk, and / or any other motion parameter.

[0078] The environmental agent goal metrics may additionally or alternatively be determined based on derived motion parameters (e.g., derivatives of the motion parameters), modified motion parameters (e.g., scaled derivatives of the motion parameters), aggregated motion parameters, and / or any other parameters.

[0079] As such, the motion-based environmental goal metrics may include and / or be determined based on any or all of velocity-based parameters (e.g., velocity, derivatives of velocity, scaled velocity, etc.), acceleration-based parameters (e.g., acceleration, derivatives of acceleration, jerk, scaled acceleration, etc.), energy and / or modified energy parameters (e.g., kinetic energy, modified / scaled kinetic energy, potential energy, modified / scaled potential energy, motion and / or dynamic parameters, etc.), work and / or modified work parameters, power, and / or any other parameters.

[0080] In some aspects, for example, the first and second subset simulations may allow for a difference in energy (e.g., corrected kinetic energy, velocity squared, etc.) and / or work (e.g., work the environmental agent is required to perform to reach the future scenario, work the environmental agent is required to perform to avoid collisions in the future scenario, etc.) that reflects how much energy and / or work the agent is required to expend (e.g., in slowing down, stopping, avoiding a collision, etc.) based on the ego agent's behavior. For example, if the ego agent's proposed policy requires the environmental agent to hit the brakes to avoid colliding with the ego agent or another object, the amount of work required to stop can be calculated and used to quantify the ego agent's inhibition of the environmental agent from reaching a goal (e.g., minimizing energy and / or work expenditure).

[0081] Additionally or alternatively, the environmental agent goal metric may include and / or be determined based on one or more orientation parameters, including, but not limited to, the direction the environmental agent is facing (e.g., in the case of a goal to minimize change in heading, in the case of a goal to minimize the difference between the agent's azimuth angle and the direction of traffic (e.g., the direction of lane lines) (as a large angle may indicate the environmental agent has turned the steering wheel)) and / or any other metric.

[0082] Additionally or alternatively, the environmental agent goal metrics may include and / or may be determined based on one or more position parameters, such as position parameters indicative of the vehicle's position (e.g., distance) relative to other agents and / or road geometry and / or other environmental features (e.g., static objects). In some aspects, for example, the location of an environmental agent in a road shoulder or other undesirable area may indicate that the environmental agent is obstructed (e.g., decreasing / downweighting its environmental agent goal metric value). Other locations that may be checked may include, but are not limited to, locations other than the roadway (e.g., sidewalks, grass, etc.), locations that coincide with other objects, and / or any other locations.

[0083] Additionally or alternatively, the environmental agent goal metric may include and / or be determined based on a predicted level of compliance of the environmental agent with any or all of the traffic rules, traffic manners, and / or any other characteristics. For example, if the ego agent's actions cause the environmental agent to violate the traffic rules and / or traffic manners, the value of the environmental agent goal metric may be decreased and / or the ego agent's proposed policy may be otherwise disadvantaged. Additionally or alternatively, the environmental agent goal metric may be determined based on any combination of parameters and / or metrics (e.g., as described above), such as by averaging, summing, and / or otherwise combining according to an equation, weighted and / or scaled equation.

[0084] In a first set of aspects, the environmental agent goal metrics are associated with (e.g., determined based on or quantified based on) a distance traveled parameter associated with each tracked environmental agent, which may have any or all of the following advantages: being comparable between different agents and / or different types of agents, linearly scaling other metrics, and / or any other advantages. The distance traveled parameter is preferably calculated (e.g., as shown by D1 and D2 in Figures 3A, 3B, 4, 5, and 6) based on the difference between the distance the environmental agent may travel in a first subset of simulations and the distance the environmental agent may travel in a second subset of simulations. The parameter may be calculated for each set of time steps represented in the simulations, may be aggregated across all time steps, may be used to determine the average of the difference (or maximum difference, median difference, etc.), and / or may be calculated in other ways. The parameter may optionally include a ratio of the distance in the first subset of simulations to the distance in the second subset of simulations, and / or the inverse of this ratio, which may act as a weight for scaling other metrics (e.g., as described below for reward metrics). Additionally or alternatively, the parameter may be the difference between those distances and / or any parameter determined based on those distances.

[0085] In certain examples, the distance traveled parameter is a scaling factor for other metrics and / or collective sets of metrics (e.g., when determining a cost function, when determining a loss function, when determining a policy score, etc.) and may be applied to multiple different types of agents (such as vehicles, pedestrians, and optionally other agents). In such an aspect, for example, if a simulated pedestrian is moving and then stops (which may occur due to an ego agent or due to various unrelated circumstances), the distance traveled will be relatively small (even if it comes to a complete stop), and therefore its contribution to the overall metric will be relatively low (e.g., compared to a vehicle that comes to a complete stop).

[0086] In addition to or instead of distance traveled parameters, environmental agent goal metrics may be determined based on any or all of other distance parameters, motion parameters (e.g., change in acceleration between subsets of simulations, change in speed between subsets of simulations, etc.), and / or any other parameters. In aspects including motion parameters and / or any other parameters, the parameters may optionally be scaled or otherwise adjusted based on the type of agent (e.g., pedestrian vs. automobile).

[0087] In a second set of aspects, the environmental agent goal metric is determined (e.g., equal to or calculated based on) an analysis of changes in energy and / or work consumption associated with the environmental agent in response to the ego agent (e.g., when the ego agent executes a particular policy). For example, the difference in the environmental agent's modified kinetic energy (e.g., velocity squared) between the first and second subsets of simulations is used to calculate (e.g., form) the environmental agent goal metric. For example, if the change in the environmental agent's modified kinetic energy over time is significantly different between the first and second subsets of simulations (e.g., indicates that the environmental agent has suddenly slowed down, indicates that the environmental agent is involved in a collision, etc.), the environmental agent goal metric can reflect this. In additional or alternative examples, for example, the difference in the work that the environmental agent is required to exert to reach its future state between the first and second subsets of simulations can be determined and used as (and / or to determine) the environmental agent goal metric. For example, if a proposed policy for the ego agent results in the environment agent having to do a lot of work in reaction (e.g., to avoid colliding with the ego agent, to avoid colliding with another object, to maintain a pre-set distance to other agents), the environment agent goal metrics can reflect this.

[0088] Any or all of the environmental agent goal metrics (and / or other metrics, aggregated metrics, overall scores, etc.) may optionally be determined (e.g., scaled) based on any or all of the environmental agent's classification label (e.g., pedestrian vs. vehicle, vehicle vs. bicycle, etc.), the environmental agent's proximity to the ego agent (e.g., objects closest to the vehicle are associated with higher potential impact) and / or other agents, and / or other characteristics.

[0089] In some aspects, for example, determining the environmental agent goal metrics may optionally include scaling the environmental agent goal metrics based on any number of environmental characteristics, agent characteristics, and / or conditions.

[0090] In some instances where the ego agent is removed from the second subset of simulations, a scaling factor may be applied to parameters (e.g., distance traveled parameters) associated with environmental agents behind the ego agent (e.g., directly behind, in a different lane but with the intent of changing lanes behind the ego agent) (also referred to herein as trailing agents). This may serve, for example, to reduce artificially increased gains in trailing agent distance traveled that result from the ability of the simulated trailing agents to occupy the ego agent's spot in the second subset of simulations.

[0091] In additional or alternative examples, in situations where the ego agent has the right of way, a scaling factor can be applied to the parameters associated with the environmental agent, thereby minimizing or eliminating the impact on the environmental agent. Alternatively, the parameters can be not calculated, can be equal to a constant (e.g., ratio of 1, distance traveled difference between subsets of simulations of 0, etc.), and / or can be adjusted in other ways. In the particular example where the ego agent has the right of way at an all-way stop crossroads (e.g., as shown in FIG. 5), the impact on other environmental agents waiting to proceed can be eliminated and / or mitigated. This can serve, for example, to prevent the ego agent from stopping for long periods of time and / or causing confusion to other agents.

[0092] In additional or alternative examples, a scaling factor can be applied that takes into account time information, such as the time since the ego agent last moved and / or any other time (e.g., the time since the ego agent last implemented a new policy). This can function to help the ego agent still drive with a human-like level of aggression and / or spontaneity, thereby allowing the ego agent to best mimic human driving and / or progress toward its destination. In a particular set of examples, the ego agent stops at a crosswalk, for example, when a large crowd (e.g., just emerging from a concert) continues to cross slowly. As the ego agent waits longer and longer (e.g., as subsequent selection cycles pass), the parameters associated with the pedestrians can be continuously scaled to give less of a high penalty for adversely affecting the pedestrian's progress (e.g., thereby allowing the ego agent to move forward slowly to signal to the crowd that it is about to cross).

[0093] The parameters associated with the tracked environmental agents in each simulation and used to determine the environmental agent goal metrics can optionally be aggregated across multiple environmental agents (e.g., aggregated for all environmental agents in a particular forecast scenario) to determine overall environmental agent goal metrics associated with a particular set of simulations. Aggregating the parameters preferably includes determining a maximum parameter among the tracked environmental agents, which can indicate the greatest impact the ego agent has on its environment. Additionally or alternatively, the parameters can be aggregated in other ways (e.g., by calculating as an average of the impacts, calculating as a median of the impacts, etc.). Additionally or alternatively, the environmental agent goal metrics can be calculated for each environmental agent (e.g., can be used to calculate a reward metric and / or a cost function for each environmental agent) and / or can be determined in other ways as appropriate.

[0094] Determining the reward metrics may further include a step S312 of determining ego-agent goal metrics (also equivalently referred to herein as ego-progress metrics and / or ego-reward metrics) that function to indicate the ego-agent's progress toward the goal.

[0095] The ego agent goal metrics may be the same types of metrics used for the environmental agent goal metrics (e.g., for easy aggregation in determining an overall policy score), different metrics than those used for the environmental agents (e.g., to reflect different goals of the ego agents), and / or any combination of metrics.

[0096] In some aspects, for example, because the ego agent may have greater awareness of its own goals (e.g., the particular destination it is heading for, the particular time metrics it is trying to achieve for transporting users and / or goods, the traffic rules and thresholds it is constrained to follow, the performance metrics it is trying to achieve, collision avoidance, etc.), the ego agent's goals and / or ego agent goal metrics may be more directly and / or deterministically determined (e.g., associated with a higher degree of confidence) compared to any or all of the environmental agent's goals and / or associated environmental agent goal metrics. In some aspects, for example, in cases where the destination is determined by the ego agent's planning and / or routing subsystems (e.g., where the destination is received directly from those subsystems), the ego agent goal metrics indicate progress toward the destination.

[0097] In a first set of aspects, the ego-agent's goals are related to progress toward a destination (e.g., distance traveled, time to reach, etc.), but may additionally or alternatively include and / or represent any other type of goal. The ego-agent goal metrics may be calculated based on a set of simulations (e.g., based on only a first subset of simulations in the same or similar manner as the environmental-agent goal metrics), based on other simulations, and / or based on any other information.

[0098] In a second set of aspects, the ego agent's goals are additionally or alternatively associated with the amount of energy and / or work that is required to be exerted by the ego agent in carrying out a particular policy.

[0099] In some examples, for example, the ego agent goal metrics indicate the amount of energy and / or work expended by the ego agent in reaching the destination. The ego agent goal metrics can function to penalize (e.g., in the overall score) policies that increase this amount of energy and / or work, for example. Additionally, the ego agent goal metrics can be scaled and / or otherwise calculated based on various heuristics (e.g., effectively applying a force to the ego agent), such as a repulsive force (e.g., increasing the energy / work required) if the ego agent crosses a lane line (e.g., a double solid yellow line line) and / or violates other traffic rules, courtesy or other standards.

[0100] In a third set of aspects, the ego agent's goals may additionally or alternatively be associated with one or more comfort criteria (e.g., in the case of an ego agent acting as a shuttle in a use case in which the ego agent is transporting passengers), such as, but not limited to, minimizing sudden acceleration and / or deceleration (e.g., keeping them below a pre-set threshold), minimizing and / or avoiding jerks, and / or others.

[0101] The environmental agent goal metrics (e.g., individual environmental agent goal metrics, aggregated environmental agent goal metrics, etc.) are preferably aggregated (e.g., used to scale) with the ego agent goal metrics, the combination of which determines an overall reward metric (e.g., if an environmental agent is adversely affected, decrease the ego agent goal metric). Additionally or alternatively, the reward metric may be suitably determined in other manners.

[0102] S300 may optionally include a step S320 of determining a success metric, which preferably reflects (e.g., quantifies) the likelihood (e.g., probability) that the ego agent can successfully execute a particular proposed policy (e.g., a simulated policy). The success metric is preferably determined based on (and / or equal to) the collision metric, and successful execution of a particular proposed policy may be defined based on any or all of: avoidance of a collision and / or collision risk, avoidance of a collision exceeding a particular severity threshold (e.g., a pre-set energy threshold, a pre-set modified kinetic energy threshold, a pre-set work threshold corresponding to the work required to prevent the collision, etc.), maintaining the collision risk below a pre-set threshold (e.g., 5% likelihood, 10% likelihood, 20% likelihood, 0-10% likelihood, etc.), and / or any other collision characteristic. The step S322 of determining the conflict metrics is preferably performed based on a first subset of simulations in which the ego agent is simulated together with the environmental agents (e.g., to detect conflicts between any or all of those agents), but may additionally or alternatively be determined based on any other simulations and / or information.

[0103] Additionally or alternatively, the success metrics may reflect any other performance criteria, such as, but not limited to, comfort criteria (e.g., maintaining acceleration changes below a preset threshold, maintaining jerk below a preset threshold, maintaining speed changes below a preset threshold, maintaining braking speed below a preset threshold, etc.), traffic regulation criteria, and / or any other criteria.

[0104] In a preferred set of embodiments, the success metric may be based on (eg, equal to) the probability that a collision will occur if the ego agent executes a particular policy.

[0105] In another set of aspects, the success metric is additionally or alternatively determined based on the predicted severity of the collision (e.g., in terms of modified kinetic energy, in terms of kinetic energy, based on whether the environmental agent is a pedestrian, a vehicle, or a static object).

[0106] S300 may optionally include aggregating any or all of the set of metrics (e.g., for each set of simulations), which serves to determine an overall score (e.g., cost function, loss function, etc.) associated with each proposed policy for the ego agent. In a preferred set of aspects, a reward metric is determined that combines the environment agent goal metrics and the ego agent goal metrics, which may be further aggregated (e.g., multiplied) with the probability of success metric to determine an overall score (e.g., the cost function is the inverse of the loss function, and the cost function is calculated by subtracting the loss metric from 1). In some aspects, for example, the success metric effectively serves to scale down the reward metric so that policies with high rewards but also high risks are not automatically executed. Additionally or alternatively, the metrics may be aggregated and / or used in other ways to determine any suitable metric.

[0107] Additionally or alternatively, S300 may include any other suitable processes.

[0108] 4.4 Method - Making an ego agent act based on a set of metrics S400 Method 200 may optionally include operating an ego agent based on the set of metrics, which functions to operate the ego agent according to an optimal policy determined based on the set of metrics in S300. Additionally or alternatively, S400 may perform any other suitable function.

[0109] S400 may optionally include comparing aggregated metrics (e.g., cost functions as shown in FIG. 8) between different sets of simulations, each of which corresponds to a particular proposed policy for the ego agent, such that an optimal policy for the ego agent to implement (e.g., the policy associated with the smallest cost function) is selected.

[0110] In a preferred set of embodiments, for example, S400 includes selecting and implementing the policy associated with the highest overall score.

[0111] In another set of aspects, S400 includes selecting and implementing the policy associated with the smallest cost.

[0112] Additionally or alternatively, the ego agent may be suitably manipulated (eg, steered) in other ways.

[0113] Additionally or alternatively, the policy for the ego agent may be selected in other manners and / or S400 may include any other suitable process.

[0114] 5. Variations In a first set of variations of the method 200 (e.g., as shown in FIG. 7), an environmental agent goal metric (also equivalently referred to herein as an influence score) is determined based on a set of distance differences between a first and second subset of simulations. As shown in FIG. 7, for example, a metric D1 indicating the difference in final future position with and without the ego agent can be used to determine the extent to which the ego agent enforcing the proposed policy will impede the environmental agent from progressing along the road. For example, the environmental agent goal metric is equal to D1 and / or a scaled version of D1 (e.g., to indicate that the environmental agent is following the ego agent) and / or a metric determined based on D1 (e.g., the ratio of D1 to d1, the ratio of (D1+d1) to d1, etc.). In a particular example, for example, d1 indicates the distance the environmental agent is expected to travel in the presence of the ego agent, and D1 can be aggregated with d1 to determine the environmental agent goal metric.

[0115] The environmental agent goal metric (equivalently, also referred to herein as an influence score) can optionally be used to effectively scale down the overall reward metric (e.g., aggregated environmental agent goal metric and ego agent goal metric), such as when the environmental agent goal metric indicates a predicted negative influence that the ego agent will have on the environmental agent. Additionally or alternatively, the environmental agent goal metric can increase the value of the reward metric when the ego agent has a positive influence on the environmental agent (e.g., paving the way for the environmental agent).

[0116] In some examples, the distance and / or velocity associated with the environmental agent may be further used in calculating an energy metric (e.g., modified kinetic energy, velocity squared calculation, etc.) and / or work metric for the environmental agent, and an environmental agent goal metric (equivalently, also referred to herein as an impact score) is calculated based on the energy metric and / or work metric.

[0117] In a second set of variations of method 200 (e.g., as shown in Figures 9A and 9B), environmental agent goal metrics are calculated based on a set of energy metrics and / or work metrics that quantify how much energy and / or work needs to be expended by the environmental agent in response to the ego agent executing a particular policy (e.g., compared to what would occur if the ego agent were not present).

[0118] Additionally or alternatively, method 200 may be performed in other suitable manners.

[0119] Although omitted for simplicity, preferred embodiments include any combinations and permutations of the various system components and various method processes, which may be performed sequentially or simultaneously, in any suitable order.

[0120] Embodiments of the systems and / or methods may include any combination and permutation of the various system components and various method processes, and one or more instances of the methods and / or processes described herein may be performed asynchronously (e.g., serially), contemporaneously (e.g., simultaneously, in parallel, etc.), or in any other suitable order and / or by and / or using one or more instances of the systems, elements and / or entities described herein. The following system and / or method components and / or processes may be used with, in addition to, instead of, or otherwise integrated with all or a portion of the systems and / or methods disclosed in the applications listed above, each of which is incorporated by reference in its entirety.

[0121] Additional or alternative embodiments implement the above methods and / or processing modules in a non-transitory computer-readable medium that stores computer-readable instructions. The instructions may be executed by computer-executable components integrated with the computer-readable medium and / or processing system. The computer-readable medium may include any suitable computer-readable medium, such as RAM, ROM, flash memory, EEPROM, optical devices (CD or DVD), hard drives, floppy drives, non-transitory computer-readable media, or any suitable device. The computer-executable components may include a computing system and / or processing system (e.g., including one or more co-located or distributed, remote or local processors) connected to the non-transitory computer-readable medium, such as a CPU, GPU, TPUS, microprocessor, or ASIC, although the instructions may alternatively or additionally be executed by any suitable dedicated hardware device.

[0122] Those skilled in the art will recognize from the foregoing detailed description and drawings and claims that modifications and variations can be made to the preferred embodiments of the invention without departing from the scope of the invention as defined in the following claims.

Claims

1. 1. A method for influence-based operation of an autonomous vehicle, comprising: Collecting data from a set of sensors associated with an autonomous vehicle; - detecting a set of environmental objects in an environment of the autonomous vehicle based on said data; - executing a set of forward simulations including a representation of the set of environmental objects, the set of forward simulations comprising: a first subset of the simulations, in which a representation of an autonomous vehicle is present; and a second subset of simulations, where the second subset of simulations does not include a representation of an autonomous vehicle; - determining an impact score of the ego vehicle on the environment, Calculating a first set of metric values ​​based on a first subset of the simulations; - calculating a second set of second metric values ​​based on a second subset of the simulations; comparing the first set of metric values ​​to a second set of metric values; and determining an impact score based on said comparison; and - operating the ego vehicle based on the influence score.

2. 10. The method of claim 1 , wherein comparing the first set of metric values ​​to the second set of metric values ​​includes calculating a difference between the first set of metric values ​​and the second set of metric values, the difference being indicative of a quantified impairment of progress of an environmental object caused by an autonomous vehicle.

3. 3. The method of claim 2, The method, wherein each of the first and second sets of metric values ​​is determined based on a derivative of a velocity of an environmental object in a forward simulation set.

4. 3. The method of claim 2, The method, wherein each of the first and second sets of metric values ​​is determined based on a distance traveled by an environmental object in a forward simulation set.

5. 3. The method of claim 2, The method, further comprising applying a scaling factor to the difference based on a set of features associated with the set of environmental objects.

6. 6. The method of claim 5, The method, wherein the set of characteristics includes at least one of a determination that an environmental object of the set of environmental objects does not have the right-of-way in a scenario present in the set of forward simulations, a determination that an environmental object is located behind an autonomous vehicle, and a determination that an environmental vehicle is located beyond a preset distance threshold from the autonomous vehicle.

7. 7. The method of claim 6, The method of claim 1, wherein the scaling factor reduces the value of the difference.

8. 10. The method of claim 1 , determining a set of a plurality of influence scores, the set of a plurality of influence scores including the influence score; 20. The method of claim 1, wherein operating an autonomous vehicle based on the impact score includes selecting a policy from among a set of policy options for the autonomous vehicle based on the set of impact scores.

9. 9. The method of claim 8, The method, wherein the policy is selected further based on a reward score associated with the autonomous vehicle, the reward score indicative of the autonomous vehicle's progress toward a goal of the autonomous vehicle.

10. 9. The method of claim 8, 11. The method of claim 10, wherein the autonomous vehicle goal comprises a distance to a destination of the autonomous vehicle.

11. 9. The method of claim 8, 11. The method of claim 10, wherein a goal of the autonomous vehicle includes a work amount exerted by the autonomous vehicle to reach a destination associated with the autonomous vehicle.

12. 10. The method of claim 1 , The method, wherein the environmental objects include a set of vehicles and a set of pedestrians located within the field of view of the set of sensors.

13. 1. A system for influence-based operation of an autonomous vehicle, comprising: A data acquisition subsystem including a set of sensors; a computing subsystem in communication with the data collection subsystem, - collecting data from said data collection subsystem; a computing subsystem for processing the data to detect a set of environmental objects within an environment of the autonomous vehicle; A simulator subsystem for running a set of forward simulations, the set of forward simulations comprising: a first subset of the simulations, in which a representation of an autonomous vehicle is present; and a simulator subsystem including a second subset of simulations, where the second subset of simulations is free of a representation of an autonomous vehicle; a controller configured to operate an autonomous vehicle based on a set of instructions received from the computing subsystem; The computing subsystem determines a set of instructions based on an impact that the autonomous vehicle has on the set of environmental objects, and determining the impact includes: Calculating a first set of metric values ​​based on a first subset of the simulations; - calculating a second set of second metric values ​​based on a second subset of the simulations; comparing the first set of metric values ​​to a second set of metric values; and determining the impact based on the comparison.

14. 14. The system of claim 13, The system, wherein the simulator subsystem is part of the computing subsystem.

15. 15. The system of claim 14, The system, wherein the computing subsystem is onboard an autonomous vehicle.

16. 14. The system of claim 13, The system, wherein the simulator subsystem executes the set of forward simulations throughout an autonomous vehicle movement.

17. 17. The system of claim 16, The system, wherein the set of forward simulations are performed according to a preset frequency.

18. 14. The system of claim 13, wherein comparing the first set of metric values ​​to the second set of metric values ​​includes calculating a difference between the first set of metric values ​​and the second set of metric values, the difference being indicative of a quantified impairment of progress of an environmental object caused by the autonomous vehicle.

19. 20. The system of claim 18, The system, wherein each of the first and second sets of metric values ​​is determined based on a derivative of a velocity of an environmental object in a forward simulation set.

20. 20. The system of claim 18, The system, wherein each of the first and second sets of metric values ​​is determined based on a distance traveled by an environmental object in a forward simulation set.

Citation Information

Patent Citations

  • Vehicle traveling control system

    JP1998105239A

  • Decision method, device, equipment in a lane changing process and storage medium

    US20200262448A1

  • Cost-based path determination

    US20210046924A1