Prediction and Planning for Mobile Robots
By using multiple agent models to generate and weight candidate future behaviors, the method addresses the limitations of existing prediction techniques for autonomous vehicles, enabling a broader range of behavior modeling and improving decision-making accuracy in complex environments.
Patent Information
- Application Number
- JP2023552134
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-02-26
- Filing Date
- 2022-02-25
- Publication Date
- 2025-04-09
- Estimated Expiration
- 2042-02-25
AI Technical Summary
Existing methods for predicting the behavior of autonomous vehicles and mobile robots are limited in their ability to infer a wide range of agent behaviors, including irrational and error-prone actions, which are essential for safe and effective operation in complex environments.
The proposed solution involves generating candidate future pairs using multiple agent models for each actor agent, applying weighting functions to assess relevance, and selecting candidate future groups that include both rational goal-oriented behavior and alternative, non-inferred behaviors. This approach allows for a broader range of agent behaviors to be modeled, including driver errors and irrational actions.
This method enhances the ability of autonomous vehicles to predict and plan their operations by encompassing a wider variety of agent behaviors, leading to more accurate and robust decision-making in complex scenarios.
Smart Images

Figure 0007659645000001 
Figure 0007659645000002
Abstract
Description
[Technical field]
[0001] This disclosure relates to planning and prediction for autonomous vehicles and other mobile robots. [Background technology]
[0002] An emerging technology is autonomous vehicles (AVs) that can navigate urban roads by themselves. Not only do such vehicles have to perform complex maneuvers among people and other vehicles, but they often must do so while ensuring strict constraints on the probability of adverse events, such as colliding with those agents in the environment. An autonomous vehicle, also known as a self-driving car, refers to a vehicle that has a sensor system for monitoring its external environment and a control system that can make and implement driving decisions automatically using those sensors. This includes, among other things, the ability to automatically adapt the speed and direction of the vehicle based on cognitive input from the sensor system. A fully autonomous vehicle, or a "driverless" vehicle, has sufficient decision-making capabilities to operate without any input from a human driver. However, the term "autonomous vehicle" as used herein also applies to semi-autonomous vehicles that have more limited autonomy decision-making capabilities and therefore still require some supervision from a human driver. Other mobile robots have been developed, for example, to transport goods in industrial areas both in and outside the country. Such mobile robots would not have people on board and would belong to a class of mobile robots called UAVs (unmanned autonomous vehicles). Autonomous aerial mobile robots (drones) are also being developed.
[0003] A core problem facing such AVs or mobile robots is to predict the behavior of other agents in the environment, so that possible actions to be taken by the autonomous vehicle (self-behavior) can be evaluated. This allows the self-behavior to be planned taking into account predictions about other vehicles.
[0004] Publication WO2020079066, entitled "Autonomous Vehicle Planning and Prediction," describes a form of prediction based on "inverse planning." Inverse planning refers to a class of prediction methods that assume that an agent plans its decisions in a predictable manner. Inverse planning can be performed across possible maneuvers or behaviors to infer the agent's current maneuver / behavior based on relevant observations (a form of maneuver detection). Inverse planning can also be performed across possible targets to infer the agent's possible targets (a form of target recognition). Summary of the Invention [Problem to be solved by the invention]
[0005] The inventors recognise that the approach described in WO2020079066 has limitations in the nature of the agent's goals that can be inferred.
[0006] Aspects of the present invention address these limitations by providing a method for performing predictions of agent behavior that encompasses multiple types of agent behaviors, not just rational goal-directed behaviors as described in WO2020079066. Aspects of the present invention allow a diverse range of agent behaviors to be modeled, including the range of behaviors that real drivers may actually follow. Such behaviors may extend beyond rational goal-directed behaviors and include driver errors and irrational behaviors. [Means for solving the problem]
[0007] According to one aspect of the invention, there is provided a method for predicting behavior of one or more actor-agents in a scenario, the method being implemented by a self-agent in the scenario, comprising: generating a set of candidate futures for each actor-agent using a plurality of agent models, each candidate future providing a predicted behavior of the actor-agent; applying a weighting function to each candidate future to indicate its relevance in the scenario; and selecting a candidate future group based on the indicated relevance for each actor-agent, wherein the plurality of agent models comprises a first model representing rational goal-directed behavior inferable from the vehicular scene and at least one second model representing alternative behavior not inferable from the vehicular scene.
[0008] In some embodiments, generating each candidate future is performed by a prediction component of the self-agent, which provides each expected behavior at a prediction time step. The candidate futures may be transmitted to a planner of the self-agent. The prediction time step may be a predetermined time ahead of the current time for which the candidate future is generated. The candidate futures may be generated in a given time window.
[0009] In another embodiment, the candidate futures are generated by a joint planner / predictive exploration method.
[0010] In some embodiments, generating candidate futures using the agent models comprises furnishing each agent model with the current states of all actor-agents in the scenario.
[0011] In some embodiments, the history of one or more actor-agents in a scenario is provided to each agent model prior to generating candidate futures.
[0012] Sensor-derived data of the current scenario may be provided to each agent model prior to generating candidate futures. The data may be derived from sensor systems onboard the AVs that compose the self-agent.
[0013] At least one second model is An agent model type that represents rational goal-directed behavior based on inadequate or inaccurate information about the scenario; An agent model type that represents the unexpected behavior of actor agents, Agent model types that model known or observed driver errors and is selected from one or more of:
[0014] In some embodiments, each candidate future is defined as one or more trajectories for the actor-agent, while in other embodiments, each candidate future is defined as a raster probability density function.
[0015] The step of selecting the candidate futures may comprise using at least one of a probability score indicating the likelihood of an event occurring and an importance factor indicating the importance of the self-agent to the resulting outcome.
[0016] Using at least one of a probability score indicating the likelihood that the candidate future will be implemented by the actor-agent and an importance factor indicating the importance of the self-agent to the candidate future.
[0017] In another aspect, the present invention provides a computing device comprising one or more hardware processors and a computer memory storing computer executable instructions which, when executed by the one or more hardware processors, perform the method defined above.
[0018] In another aspect, the present invention provides a computer program product comprising computer-executable instructions stored in a computer memory, the computer-executable instructions being executable by one or more hardware processors to perform the method defined above.
[0019] The computing device may be embodied in an on-board computer system of an autonomous vehicle, the autonomous vehicle including an on-board sensor system for acquiring data comprising information about the environment of the scenario and the state of actor agents within the environment.
[0020] The computing device may include a data processing component configured to perform at least one of localization, object detection, and object tracking to provide a representation of the environment of the scenario.
[0021] In another aspect, the present disclosure provides a method of training a computer-implemented behavior model for predicting a behavior of an actor vehicle agent within a vehicular scene, the behavior model being configured to recognize very low probability events occurring within the vehicular scene, the method comprising: The present invention provides a method comprising: providing input training data to a computer-implemented machine learning system, the training data being sourced from a dataset collected in a situation where such very low probability events are the only source of the dataset of collected data, the computer-implemented machine learning system being configured as a classifier, whereby the trained model recognizes such very low probability events within a vehicle scene.
[0022] The present disclosure further provides, in another aspect, a computing device comprising one or more hardware processors and a computer memory storing computer-executable instructions that, when executed by the one or more hardware processors, perform the aforementioned method.
[0023] The present disclosure further provides, in another aspect, a computer program product comprising computer-executable instructions stored in a computer memory, the computer-executable instructions being executable by one or more hardware processors to perform the aforementioned methods.
[0024] For a better understanding of the present invention, and to show how the same may be carried into effect, reference will now be made, by way of example, to the accompanying drawings in which: [Brief description of the drawings]
[0025] [Figure 1] This is a schematic functional diagram of the computer system installed in the AV. [Diagram 2] FIG. 1 illustrates a two-way lane change scenario. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0026] The present disclosure relates to a method and system for performing prediction of agent behavior in interactive scenarios where a self-agent is required to predict and plan its maneuvers. The present disclosure requires bidirectional prediction based on multiple types of agent behavior, including both rational goal-directed behavior and non-ideal behavior such as mistakes, to generate an estimate of the future state in the interactive scenario. Bidirectional prediction requires the prediction of several possible future states, each including the future location or trajectory of each agent in the scene, as well as an estimate of the probability that each state may occur. These predictive future states require a consistent prediction of each agent's presence in the future states, for example by considering how the agent will react to the self-vehicle.
[0027] Reference is now made to Figure 1, which illustrates a schematic functional block diagram of certain functional components embodied in an on-board computer system 100 of an autonomous vehicle (ego vehicle) as part of an AV runtime stack. These components include a data processing component 102, a prediction component 104, and a planning component (AV planner) 106. The computer system 100 comprises a computing device having one or more hardware processors and a computer memory that stores computer executable instructions that, when executed by the one or more hardware processors, implement the functions of the functional components. The computer executable instructions may be provided in a transitory or non-transitory computer program product in the form of stored instructions or transmittable instructions.
[0028] The data processing component 102 receives sensor data from an on-board sensor system 108 on the AV. The on-board sensor system 108 can take different forms, but generally comprises a variety of sensors such as image capture devices (cameras), LIDAR units, etc., satellite positioning sensors (GPS, etc.), motion sensors (accelerometers, gyroscopes, etc.), etc., which together provide a wealth of sensor data from which detailed information can be extracted about the surrounding environment and the state of the AV and other actors (vehicles, pedestrians, etc.) within that environment.
[0029] In Figure 1, three example actors are shown, named actor Vehicle (AV)1, AV2, and AV3, respectively.
[0030] It should be noted that the technique is not limited to using image data and similar data acquisition using the AV's own on-board optical sensors (image capture devices, LIDAR, etc.). The method may alternatively or additionally be applied using externally acquired sensor data, such as CCTV images acquired by an external image acquisition unit in the vicinity of the AV. In that case, at least a portion of the sensor inputs may be received by the AV from an external sensor data source via one or more wireless communication links.
[0031] The data processing component 102 processes the sensor data to extract information from it. A set of functional components is responsible for recording comprehensive information about the scene and the actors within the scene. These functional components include a localization block 110, an object detection block 112, and an object tracking block 114.
[0032] Localization is performed to inform the surrounding environment and the position of the AV therein. Various localization techniques may be used for objection, including visual localization and map-based localization. By way of example, reference is made to UK Patent Application No. 1812658.1 entitled "Vehicle Localisation", which is incorporated herein by reference in its entirety. This discloses a suitable localization method using a combination of visual detection and predefined map data. Segmentation is applied to the visual (image) data to detect surrounding road structures, which are then matched with predefined mapped data, such as high-resolution maps, regarding roads and / or other structures of the surrounding environment to determine an accurate and robust estimate of the AV's position in a map frame of reference, which is then determined via a combination of visual detection and map-based guesswork by merging the visual and map data. To determine a position estimate, the individual position estimate determined by structure matching is combined with other position estimates (such as GPS) using particle filtering or the like to provide an accurate position estimate for the AV in the map frame of reference that is robust to variations in the accuracy of the individual position estimates. Upon accurately determining the AV's position on the map, the visually detected road structure is merged with predefined map data to provide a comprehensive view of the vehicle's current and historical surroundings in the form of a live map to provide an accurate and robust estimate of the AV's position in the map frame of reference. The term "map data" in this context includes map data of a live map derived by merging visual (or other sensor-based) detections with predefined map data, but also includes map data derived from predefined map data or visual / sensor detections alone.
[0033] Object detection is applied to sensor data to detect and locate external actors in the environment, such as vehicles, pedestrians, and other external actors whose behaviors the AV must be able to safely react to. This may comprise, for example, a form of 3D bounding box detection, where the position, orientation, or size of an object within the environment and / or relative to the ego-vehicle is estimated. This can be applied to 3D image data, for example RGBD (red green blue depth), LIDAR, point clouds, etc. This allows the location and other physical properties of such external actors to be determined on a map.
[0034] Object tracking is used to track any movement of objects detected in the environment. The result is an observation trail for each actor determined over time using object tracking. A round of observation trails is the history of the moving object, capturing the path of the moving object over time, as well as possibly other information such as the historical velocity, acceleration, etc. of the object at different points in time.
[0035] An agent history component 113 is provided that maintains the history of agents. Each agent has an identifier by which the ego vehicle identifies the agent in the scene, and is associated with its history in the agent history table 113.
[0036] A bidirectional prediction system according to an embodiment of the present invention comprises a set of agent models AMa, AMb, AMc... each of which takes into account the current states of all agents, their history and the input details of the current scenario, and generates a predictive set of future actions for a given agent.
[0037] The localization, object detection, and object tracking performed by the data processing component 102 provides a comprehensive view of the ego-vehicle's surrounding environment, the current state of any external actors within that environment, and the historical traces of such actors that the AV has been able to track. This is continuously updated in real-time to give the latest location and environment.
[0038] As mentioned, this information is provided to the agent model to generate a predicted set of future actions for a given agent.
[0039] The prediction component 104 uses this information as the basis for predictive analysis, in which it makes predictions about future behavior of external actors in the vicinity of the AV. The prediction component 104 comprises computer-executable instructions that, when executed by one or more hardware processors of a computing device within the computer system 100, implement a method for making such predictions. The computer-executable instructions may be provided in a transitory or non-transitory computer program product in the form of stored instructions or transmittable instructions.
[0040] To create predictions, the prediction component uses a future exploration system FES105 that uses the agent model to discover possible futures for each agent in a given state, performs selective exploration of possible future states and actions due to those states, and generates a set of predicted futures consisting of future states of the agents in the scene.
[0041] If a prediction is required for a given time window, such as 5 seconds ahead, from the current observed state of the world and the agents therein, generating the prediction requires selecting a reduced set from all possible futures, for example by selecting the set of futures that are deemed most likely, or their consistency with a particular model of agent behavior. In some embodiments, futures that are important for generating good decisions for the ego-vehicle may be selected. For example, some futures may have a lower probability but are those that will lead to collisions, or simply inconvenience to the ego-driver or other drivers, and these will be considered as well.
[0042] In one embodiment, the AV planning component 106 (sometimes referred to herein as an AV planner) uses the extracted information about its surrounding environment and external agents therein along with the behavior predictions provided by the prediction component 104 as the basis for AV planning. That is, the predictive analysis by the prediction component 104 adds a layer of predicted information on top of the information extracted from the sensor data by the data processing component, which is then used by the AV planning component 106 as the basis for AV planning decisions. It should be noted that in other embodiments, planning and prediction may be performed together in a joint exploration of future routes. The planning component 106 comprises computer-executable instructions that, when executed by one or more hardware processors of a computing device of the computer system 100, implement the planning method. The computer-executable instructions may be provided in a transitory or non-transitory computer program product in the form of stored instructions or transmittable instructions.
[0043] The system implements a hierarchical planning process, where the AV planning component 106 makes various high-level decisions and, in turn, makes lower-level decisions that require the implementation of the higher-level decisions. For example, as described further herein, the AV planner may infer specific goals attributed to specific actors and then determine specific paths associated with those goals. The lower-level decisions may be based on actions to be taken in light of those paths. The end result is a series of real-time low-level action decisions. To implement those decisions, the AV planning component 106 generates control signals that are input, at least in part, to the AV's driving mechanisms 116 to control the behavior of the AV. For example, this may control steering, braking, acceleration, gear changes, etc. Control signals may also be generated to perform secondary actions, such as issuing signals.
[0044] The range of possible harmful behaviors can be very broad, ranging from relatively common behaviors, such as failing to observe another agent, to very rare actions, such as an agent steering or accelerating into the location of the ego vehicle. An expert system for harmful behaviors needs to include both a set of possible behaviors and an estimate of their probabilities. Rare events, implying a probability close to zero, may be coded with a low probability or excluded from the model. In this way, an expert system for harmful agent behaviors will require a form of probabilistic model, where estimates are generated from data and integrated with a planning system based on probability predictions.
[0045] The encoding of the output of the probabilistic model is established based on the requirements of the chosen representation of the system and the chosen planning system. One possible candidate encoding and interface may be to provide a set of futures, each including the trajectory of each agent in the scene and associated with a probability estimate, for a given time window. This is a low bandwidth encoding that may be appropriate when the prediction and planning systems are fairly independent, and a small amount of data is used to generate the encoding exchange between the systems. A variation of this approach is to encode each future as a raster probability density map for each agent, which provides more information.
[0046] As mentioned above, one mode of determining likely behavior is joint future exploration. This is a tightly coupled method in which future exploration performed by the prediction system operates in parallel with the planning system such that the selection of futures to explore is informed by the importance of futures provided by the planner. The proposed self-trajectory may unfold in parallel with the future exploration performed by the planner and may evolve over time as prediction is occurring. The planner chooses which futures to explore based on probability or importance (and potentially other parameters), and the prediction component 104 estimates, for each state, the distribution of actions that each agent in the scene may take. In this disclosure, the role of the prediction component is to estimate the probability distribution of actions or maneuvers for each agent in the scene given the state (and the history of previous states).
[0047] As the plan is modified, information is derived about the future, i.e., certain joint future states may remain relevant while others are less relevant, so each change implies that additional future states must be explored and evaluated. With an efficient representation of predictions, only agents participating in the interaction may request evaluation, while predictions of independent agents may be preserved. The predictive component 104 uses agent models AMa, AMb, ... in conjunction with the planner to predict the behavior of external actors in the driving area. The manner in which the reduced set of all possible futures is selected has implications for the planning component 106 and normal planning in the AV stack. How this may be performed and the purpose of the component using the reduced set of futures are considerations to be evaluated in a particular embodiment.
[0048] Agent models may be of different types. As discussed herein, the aim of the system is to model a diverse range of behaviors that may not be rational behaviors. As defined herein, a rational model moves along an optimal path towards a rationally chosen goal. The AV may exhibit other behaviors that do not necessarily move along an optimal path, in other words, these behaviors may have some variability in the path the AV takes and the speed at which the AV moves. Another class of behavior is collision avoidance. An agent may take rational steps to avoid a collision in a situation where it is fully informed about all aspects of the scene that are required to make an optimal choice. However, an agent may exhibit imperfect behaviors. An agent may take rational steps to avoid a collision but may not be fully informed due to poor cognition, etc. Due to planning failure / cognitive failure or any other reason, the agent may not act at all to avoid a collision.
[0049] In some embodiments, these behaviors may be modeled from observed behaviors.
[0050] The first type of agent model is the so-called rational model. According to the rational model, all agents in the scene are assumed to behave rationally, i.e., they are assumed to move along optimal paths towards specific goals. The agents will act to avoid collisions on informed rational grounds. Prediction methods using the rational model type predict trajectories based on a given planning model and do not consider other behaviors, such as non-rational behaviors or behaviors based on observations mistaken by the agent. As a result, this type of model generates a set of predicted futures that does not include adverse possibilities, even if these possibilities may be crucial in guiding the behavior of the self-vehicle. If the self-plan were generated using only such a model, the self-plan may be overly optimistic in assuming that other agents will make a way for the self-vehicle. One example of such a rational type model is described in our earlier application PCT / EP2020 / 061232, the contents of which are incorporated herein by reference in their entirety.
[0051] A second type of agent model may be to accommodate rational behavior based on imprecise information, such as not observing the presence of another agent. For example, such a model may be useful when the environment is determined by sensors to be one of limited perception. This may be due to external environmental conditions such as poor weather or imperfect sensors.
[0052] A third type of model may be unexpected or irrational behavior, such as movement toward an unknown goal or movement that is unexpected given the circumstances. For example, an agent that is apparently following a straight path may turn into a private road or make a U-turn in a way that cannot be reasonably inferred from the map or the environment itself. One possible way to recognize such behavior is described later.
[0053] Certain imperfect behaviors can be modeled as described below by using specialized data sets to generate models. For example, models of collision avoidance behaviors with inappropriate scene indications or not avoiding collisions at all can be extracted from accident records.
[0054] The future exploration system 105 performs selective exploration of the futures given by one or more of the models to select a set of informative futures that can be used as a basis for planning and forecasting. A tree of candidate futures is constructed and its branches are explored to determine which futures should be selected by the planning and forecasting systems. For example, the system may use a Monte Carlo tree search.
[0055] At each time step, running each one of the models AMa, AMb, ... presents a set of actions for each agent in the scene. These are used to build a branched tree of possible future actions.
[0056] The set of subsequent futures following a given state depends on the representation used for each agent model. Each model generates a set of proposed (candidate) actions that are defined according to a particular representation. For example, they may be defined as a set of trajectories or as a raster probability density function depending on the nature of the system. In some embodiments, the exploration of possible futures may require a weighting function to indicate the relevance of each candidate branch. Some factors that may affect the weighting include the expected probability that the future will occur and the importance of that future. In embodiments using separate planning and prediction, the importance is inferred by feedback from the plan, e.g., the planner may indicate its own path to be considered, and a weighting of the importance of future states, to inform the relevant futures to explore.
[0057] Under the collaborative exploration approach, the planner chooses which future states to explore. Importance is related to the consequences of the state and may be associated with risk (although other factors such as inconvenience may be included). States with low probability but high risk of collision are considered important.
[0058] Candidate futures to be managed are determined using a score, which may be based on any suitable criteria, for example using the probability and importance factors discussed above.
[0059] The planning component 106 may perform operations that compare the probability of an event occurring and the importance of the resulting outcome. The score used to determine each future focused value for a prediction may use a homogeneous measure, but in some circumstances the prediction system may use a score based on importance feedback from the planner.
[0060] The importance measure may be provided in a number of different ways. One example of how the planner generates the importance measure is based on whether the introduction of a candidate future would alter the current selected plan of the own vehicle.
[0061] Another factor that may affect which candidate futures should be investigated is based on which futures are related to the selected path or paths of interest of the self-vehicle. Selecting the self-trajectory to constrain the possible futures is considered to place conditions on the possible futures. In other examples, the bidirectional prediction may operate based on a number of possible self-paths, or may operate iteratively with the planner instead of predicting the future based on a fixed self-path. Operating iteratively may occur, for example, by evaluating the future of a specific path and then re-evaluating additional futures after modifying the path.
[0062] As discussed, in some embodiments, joint exploration of candidate self-trajectories and future predictions is used.
[0063] One issue that arises in bidirectional prediction systems is the need to include possible adverse events in the predictions to avoid leading to overly optimistic predictions that involve the assumption that the agent will react favorably to its own actions and to other agents in the scene. This issue can be removed or ameliorated by modeling adverse agent behaviors that include adverse events such as mistakes or uncooperative behavior by other agents.
[0064] One approach is to collect large amounts of driving experience data, which includes examples of adverse events, and can be used to generate probabilistic models of these behaviors. However, because adverse events are rare, a large data set would be required to effectively identify adverse events. Even if a large data set is used, it is difficult to generalize across cases, so if a rare event is observed in one scenario, it is not clear how likely it should be considered to occur in other scenarios. The manner in which probability values are assigned to events occurring in different states may depend on the properties of the probabilistic model, and therefore what may be the correct probability estimate may not be well defined. This can create particular difficulties. For example, an event may be predicted to occur with a probability of 1E-4 (10 to the power of -4), or with a probability of 1E-7 (10 to the power of -7). Both of these probability assessments may be reasonably assessed based on the available data. For example, the two models that generated these two estimates may have the same overall accuracy when tested on observed data, but may assign different probability estimates for predicting rare events. When these estimates are used numerically in subsequent processing, they can lead to very different outcomes; for example, one system may ignore an event that is a reasonable possibility, while another system may take steps to avoid or compensate for such an event.
[0065] One approach to overcoming these difficulties is to explicitly define models of agent behavior, including adverse actions, such as agents failing to observe other agents or not reacting appropriately to avoid collisions. Such expert systems may be constructed by manually defining the manner in which these mistakes may occur. Some adverse events may be reproduced by constraining observed information, such as generating an agent plan without observing other agents. In other embodiments, actions may be defined in different manners, such as finite-state machine actions for a given agent state or planned trajectory, for example by encoding excessive acceleration or delayed braking, either randomly or based on specific surroundings. The use of such expert systems may be It allows for additional development at minimal cost and may allow fairly good performance with a fairly small amount of development; not requiring the collection of large datasets of randomly sampled driving experiences; The knowledge in the system can be expanded and improved over time, and specialized sources of information can be used to build the knowledge base. It has several advantages such as:
[0066] Nevertheless, the main challenge in generating an expert system for capturing harmful agent behaviors is to be able to identify enough behaviors that effectively cover the domain and to be able to verify the degree of coverage. An additional challenge is to be able to generate implementations that cover a sufficiently reliable range of behaviors and to be able to assign accurate probability estimates.
[0067] According to some embodiments of the present invention, the model is trained using specialized knowledge of adverse events in driving by using a training dataset that focuses on such adverse events, such as a dataset of accident reports that may be found at an insurance company. This type of data focuses on the details of the long tail of driving experiences (i.e., rare events) and is collected based on a very large amount of driving experience; for example, a dataset maintained by an automobile insurance company may be collected from the collective experience of drivers who hold such insurance, more effectively than millions of hours of driving experience. Although incorporating such datasets may require consideration of biases present in the data, such data sources can nevertheless be usefully leveraged to train the model and to validate how well the developed model targets the domain of adverse events.
[0068] Here, a possible implementation that leverages the multi-agent model described herein is described.
[0069] For an autonomous vehicle to proceed from its current location to a selected destination, it must determine how to navigate the route, taking into account both the known and fixed constraints of the road layout and other vehicles on the road. This requires hierarchical decision-making, where higher level decisions are progressively decomposed into progressively finer-grained decisions that are required to safely and effectively implement the higher level decisions.
[0070] As an example, a journey may be decomposed into a series of objectives, which are reached by executing a sequence of maneuvers, which are realized by performing actions.
[0071] These terms are used as follows in the context of the described embodiment of the present technique.
[0072] A goal is a high level aspect of the plan, such as a point the vehicle is trying to reach from its current location or state. This may be, for example, a freeway exit, a roundabout exit, or a lane point at a set distance ahead of the vehicle. Goals may be determined based on the vehicle's final destination, the route chosen for the vehicle, the environment the vehicle is in, etc.
[0073] The vehicle may reach a defined goal by executing a given maneuver or (more likely) a time sequence of such maneuvers. Some examples of maneuvers include turning right, turning left, stopping, changing lanes, overtaking, and lane following (staying in the correct lane). The maneuvers currently available to the vehicle that it can execute depend on its immediate environment. For example, at a T-junction, the vehicle cannot continue straight, but can turn left, turn right, or stop.
[0074] For example, when a lane following maneuver is selected, the AV will keep in the correct lane, at a safe speed and at a safe distance from any vehicle ahead; when an overtaking maneuver is selected, the AV will take whatever preparatory actions are needed in anticipation of the overtaking of the vehicle ahead and take whatever actions are needed to overtake when it is safe to do so; etc. At any given time, a single current maneuver is selected and the AV will take whatever actions are needed to execute that maneuver for as long as the maneuver is selected. Given the current maneuver selected, a policy is implemented that informs the vehicle what actions should be taken to execute the maneuver. Actions are low-level control actions that may include, for example, turning the steering wheel 5 degrees clockwise or increasing the accelerator pressure by 10%. The actions to be taken may be determined by considering both the state of the vehicle itself, including the current location and current speed, as well as the vehicle's environment, including the road layout and the behavior of other vehicles or agents in the environment. The term "scenario" may be used to describe a particular environment in which a number of other vehicles / agents are exhibiting a particular behavior.
[0075] A course of action for executing a given maneuver in a given scenario may be learned offline using reinforcement learning or other forms of ML training.
[0076] It will be appreciated that the given examples of objectives, maneuvers as actions are not exhaustive and others may be defined as the vehicle adapts to a given situation.
[0077] In certain embodiments, the model can help explain what is being observed. For example, the model may estimate that there are four most likely actions the driver may take, and when the driver is observed to have actually taken them, the model can help explain that. For example, the model will interpret the meaning of when the AV is observed to take a particular action as the driver is turning and slowing down so that the driver appears to be being directed to make a right turn.
[0078] FIG. 2 illustrates a bidirectional scenario of lane change, where the stars S1, S2 represent the corresponding targets. In FIG. 2, several example paths of each agent towards each target are shown. A number of paths for each agent / target pair are illustrated, in this case representing the earliest / latest paths considered sensible under the bicycle kinematic model, and one path in the middle. Consider for example the agent vehicle AV1. The earliest sensible path is named P1E, and the latest sensible path is named P1L. The middle path is named P1M. Similarly, for the agent vehicle AV2, the set of paths for that vehicle are named P2e, P2m, P2ll. The same is true for the agent vehicle AV3. The agent vehicle AV1 may be considered as an ego vehicle for the purposes of illustration. The ego vehicle AV1 has the task of planning a path based on the expected behavior of the agent vehicle AV2. The self-vehicle AV1 will use a rational goal-based model to plan that the agent vehicle AV2 will execute a sensible overtaking maneuver that may be on any of the paths P2e...P2l. The self-vehicle will plan accordingly according to comfortable and safe criteria as known.
[0079] However, in a few cases, the agent vehicle AV2 may not behave rationally, for example, the agent vehicle AV2 may suddenly steer to the right and decelerate, as shown on the dotted line mark Pr.
[0080] Conversely, the agent vehicle AV2 may behave rationally but in a condition of poor perception such that it does not see the vehicle AV3 ahead. In that case, the agent vehicle AV2 may not proceed to an overtaking maneuver at all, instead potentially causing a dangerous collision. The self-vehicle AV1 has the task of planning with certain contingencies that this may be a possible outcome. That is, the set of paths that the self-vehicle may plan may have a set of rational paths and a set of rare paths that may then be included with probabilistic weighting.
Claims
1. 1. A method for predicting behavior of one or more actor agents in a scenario, performed by a self-agent in the scenario, comprising: generating a set of candidate futures for each actor agent using a plurality of agent models, each candidate future providing a predicted behavior for said actor agent; applying a weighting function to each candidate future to indicate its relevance in said scenario; and selecting two or more candidate future groups for each actor agent based on the indicated relevance, wherein the plurality of agent models comprises a first model representing rational goal-directed behavior inferable from vehicular scenes in the scenario and at least one second model representing alternative behavior not inferable from the vehicular scenes.
2. The method of claim 1 , wherein the step of generating each candidate future is performed by a prediction component of the self-agent that provides each expected action at a prediction time step.
3. 3. A method according to claim 1 or 2, comprising transmitting said candidate futures to a planner of said self-agent.
4. The method of claim 1 or 2, wherein the candidate futures are generated by a joint planner and predictive exploration method.
5. 5. The method of claim 1, wherein the step of generating the candidate futures using the agent models comprises supplying each agent model with the current states of all actor-agents in the scenario.
6. 6. A method according to any preceding claim, comprising providing each agent model with a history of one or more actor-agents in the scenario prior to generating the candidate futures.
7. 7. A method according to any preceding claim, comprising providing each agent model with sensor-derived data of the current scenario prior to generating the candidate futures.
8. 8. A method as claimed in claim 2 or any one of claims 3 to 7 when dependent on claim 2, wherein the prediction time step is a predetermined time ahead of the current time for which the candidate future is generated.
9. The method of claim 1 , wherein the step of generating the candidate futures comprises generating the candidate futures in a given window of time.
10. The at least one second model comprises: an agent model type that represents rational goal-directed behavior based on inadequate or inaccurate information about the scenario; An agent model type that represents unexpected behavior of actor agents; and an agent model type that models known or observed driver errors.
11. The method of claim 1 , wherein each candidate future is defined as one or more trajectories for the actor agent.
12. The method of claim 1 , wherein each candidate future is defined as a raster probability density function.
13. 13. A method according to any one of claims 1 to 12, wherein the step of selecting a candidate future comprises using at least one of a probability score indicating the likelihood of an event occurring and an importance factor indicating the importance of the self-agent to the resulting outcome.
14. A computing apparatus comprising one or more hardware processors and a computer memory storing computer executable instructions which, when executed by said one or more hardware processors, perform the method of any one of claims 1 to 13.
15. 14. A computer program product comprising computer-executable instructions stored in a computer memory, said computer-executable instructions being executable by one or more hardware processors to perform the method of any one of claims 1 to 13.
16. 15. The computer device of claim 14 when embodied in an on-board computer system of an autonomous vehicle, the autonomous vehicle including an on-board sensor system for acquiring data comprising information about an environment of the scenario and a state of the actor agent within the environment.
17. 20. The computing device of claim 16, comprising a data processing component configured to perform at least one of localization, object detection, and object tracking to provide a representation of an environment of the scenario.
18. 1. A method of training a computer-implemented behavior model for predicting the behavior of an actor vehicle agent within a vehicular scene, the behavior model being configured to recognize very low probability events occurring within the vehicular scene, the method comprising:
1. A method comprising: providing input training data to a computer-implemented machine learning system, the training data being sourced from a dataset collected in a situation where such very low probability events were the only source of the dataset of collected data, the computer-implemented machine learning system being configured as a classifier, whereby the trained model recognizes such very low probability events within the vehicle scene.
19. 20. A computing apparatus comprising one or more hardware processors and a computer memory storing computer executable instructions which, when executed by said one or more hardware processors, perform the method of claim 18.
20. 20. A computer program product comprising computer-executable instructions stored in a computer memory, the computer-executable instructions being executable by one or more hardware processors to perform the method of claim 18.
Citation Information
Patent Citations
Obstacle display device for vehicle
JP2007034684A
Method and system for predicting movement behavior of a target traffic object
JP2015182764A
Autonomous Vehicle Planning and Forecasting
JP2022516382A
Method and system for predicting movement behavior of a target traffic object
US20150266477A1
System and method for real world autonomous vehicle trajectory simulation
US20190129436A1