A technique for providing concrete instances in traffic scenarios by transformation as a constraint satisfaction problem
By transforming traffic scenarios into constraint satisfaction problems, the method addresses uncertainties in autonomous vehicle testing, ensuring accurate and safe operation through precise scenario realization.
Patent Information
- Application Number
- JP2023545939
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-01-27
- Filing Date
- 2021-12-28
- Publication Date
- 2025-09-08
- Estimated Expiration
- 2041-12-28
AI Technical Summary
Existing scenario-based testing for autonomous vehicles often includes unrealized degrees of freedom, leading to uncertainties that can compromise the safe operation of the vehicles.
Representing traffic scenarios as constraint satisfaction problems (CSP) to identify specific instances, involving variables, constraints, and operators to generate accurate and safe behavior sequences for autonomous vehicles.
This approach ensures accurate and safe operation of autonomous vehicles by providing concrete instances that satisfy all defined constraints, enhancing operational accuracy and safety.
Smart Images

Figure 0007735410000001 
Figure 0007735410000002 
Figure 0007735410000003
Abstract
Description
[Technical Field]
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of U.S. Provisional Application No. 63 / 142,199, filed January 27, 2021, the contents of which are incorporated herein by reference.
[0002] The present disclosure relates generally to systems and methods for describing traffic situations, also called scenarios, and more particularly to the realization of scenarios. [Background technology]
[0003] Progress in the field of autonomous vehicles is rapid. Such vehicles are expected to increasingly appear on roads over the next decade, with experimental vehicles operating on the roads of many cities around the world. Like any sophisticated device designed by humans, autonomous vehicles both benefit from human ingenuity and experience its drawbacks. The latter manifest as undesirable, unexpected, or erroneous behavior of the autonomous vehicle, endangering the vehicle's occupants as well as other people, animals, and objects around the vehicle.
[0004] To prevent such errors from occurring, vehicles are first tested before being released onto the road, and then, when the vehicles are deployed on the road, additional precautions are installed to ensure that no accidents occur. In addition, a driver is placed in each such vehicle with the ability to override the vehicle's operation when a handling or response error occurs. This, of course, allows for the capture of such sequences and the updating of the vehicle's control system, so that such dangerous situations may be prevented in the future. However, these solutions are prone to error, as they rely heavily on the capture of such errors as a result of operator intervention or when some type of damage occurs. Errors that lead to undesirable consequences are not effectively monitored or captured when they could be prevented from occurring.
[0005] It has been determined that scenario-based testing can be used to monitor the operation of an autonomous vehicle based on predetermined expectations of proper behavior. More specifically, scenario-based testing tests and verifies a virtually infinite number of scenarios that an autonomous vehicle may encounter on the road to develop a fully tested drive control system for the autonomous vehicle. However, there is still room for improvement in that simulations of such scenarios often include unrealized degrees of freedom, also called specific instances. That is, the solutions to the tested scenarios may still contain uncertainties that may be problematic for the safe operation of the autonomous vehicle. DISCLOSURE OF THE INVENTION [Problem to be solved by the invention]
[0006] It is therefore advantageous to provide a solution that can find a suitable realization of the scenario. [Means for solving the problem]
[0007] A summary of some exemplary embodiments of the present disclosure follows. This summary is provided for the reader's convenience to provide a basic understanding of such embodiments, but does not completely define the breadth of the present disclosure. This summary is not an exhaustive overview of all contemplated embodiments, nor does it identify key or critical elements of all embodiments, nor delineate the scope of any or all aspects. Its sole purpose is to present some concepts of one or more embodiments in a simplified form as a prelude to the more detailed description that is presented later. For convenience, the terms "some embodiments" or "specific embodiments" may be used herein to refer to a single embodiment or to multiple embodiments of the present disclosure.
[0008] Certain embodiments disclosed herein include a method for determining specific instances in a traffic scenario, the method including the steps of receiving a scenario in a scenario description language, the scenario describing the behavior of at least one actor and including at least one sub-scenario, identifying at least one variable for the scenario and the at least one sub-scenario based on an analysis of the at least one actor and the received scenario, identifying at least one constraint relationship derived from the scenario and the at least one sub-scenario, generating a constraint satisfaction problem from the at least one variable and the at least one constraint, processing the constraint satisfaction problem to generate a sequence of states for the at least one variable subject to the at least one constraint, the sequence of states defining the behavior of the at least one actor, including time values, determining at least one solution including the sequence of states, and providing the at least one solution to a traffic simulator.
[0009] Some embodiments disclosed herein also include a non-transitory computer-readable medium having stored thereon instructions for causing a processor to execute a process, the process including: receiving a scenario in a scenario description language, the scenario describing the behavior of at least one actor, the scenario including at least one sub-scenario; identifying at least one variable for the scenario and the at least one sub-scenario based on an analysis of the at least one actor and the received scenario; identifying at least one constraint relationship derived from the scenario and the at least one sub-scenario; generating a constraint satisfaction problem from the at least one variable and the at least one constraint; processing the constraint satisfaction problem to generate a sequence of states for the at least one variable subject to the at least one constraint, the sequence of states defining the behavior of the at least one actor, including time values; determining at least one solution including the sequence of states; and providing the at least one solution to a traffic simulator.
[0010] Certain embodiments disclosed herein also include a system for determining specific instances in a traffic scenario, the system comprising: a database containing scenarios in a scenario description language therein; a processor; and a memory, the memory including instructions that, when executed by the processor, configure the system to perform the following steps: receive a scenario in the scenario description language from the database, the scenario describing the behavior of at least one actor, the scenario including at least one sub-scenario; identify at least one variable of the scenario and the at least one sub-scenario based on an analysis of the at least one actor and the at least one received scenario; identify at least one constraint relationship derived from the scenario and the at least one sub-scenario; generate a constraint satisfaction problem from the at least one variable and the at least one constraint; process the constraint satisfaction problem to generate a sequence of states for the at least one variable subject to the at least one constraint, the sequence of states defining the behavior of the at least one actor, including time values; determine at least one solution including the sequence of states; and provide the at least one solution to a traffic simulator. [Brief explanation of the drawings]
[0011] The subject matter disclosed herein is particularly pointed out and distinctly claimed in the claims appended hereto. The foregoing and other objects, features, and advantages of the disclosed embodiments will become apparent from the following detailed description taken in conjunction with the accompanying drawings.
[0012] [Figure 1] FIG. 1 is a schematic illustration of a first scenario and a second scenario operating under a serial operator, according to one embodiment.
[0013] [Figure 2] FIG. 2 is a schematic illustration of different variations of spanning a blend operator across a timeline, according to one embodiment.
[0014] [Figure 3] FIG. 3 is a schematic diagram of a transformation system for transforming a description of a scenario into a constraint satisfaction problem, according to one embodiment.
[0015] [Figure 4] FIG. 4 is a flowchart illustrating a method for converting a description of a scenario into a constraint satisfaction problem, according to one embodiment.
[0016] [Figure 5] FIG. 5 is a flowchart illustrating a method for converting scenarios and sub-scenarios into their respective variables and constraints, according to one embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0017] It is important to note that the embodiments disclosed herein are merely examples of the many advantageous uses of the innovative teachings herein. In general, statements made in the specification of this application do not necessarily limit any of the various claimed embodiments. Moreover, some statements may apply to some inventive features, but not to others. In general, unless otherwise specified, singular elements may be in the plural, and vice versa, without loss of generality. In the drawings, like numbers refer to like parts throughout the several views.
[0018] Various disclosed embodiments include techniques for providing multiple concrete instances of objects for the execution of a simulation based on a scenario described in a high-level scenario description language. Such a scenario may be applicable, for example, to autonomous vehicles in traffic. Thus, the concrete instances must satisfy all constraints defined in the high-level description scenario, all modifiers of the scenario, and all operators that define timing relationships between scenarios. According to one embodiment, this is performed by expressing the scenario as a constraint satisfaction problem. Autonomous vehicles may include, but are not limited to, cars, drones, etc.
[0019] The goal of constraint solving is to find efficient and practical solutions to constraint satisfaction problems. A constraint satisfaction problem (CSP) is the task of finding values for a set of variables such that the dependencies (constraints) between the variables are preserved. The variables are usually defined by a domain that can take on values (integers, ranges, real numbers, strings). Constraints are defined as Boolean expressions over these variables. For example, the dependency "x is greater than the sum of y and z" is defined by the Boolean inequality "x>z+y".
[0020] Constraint solvers typically expose a set of application programming interface (API) functions rich enough to express the constraint satisfaction problems supported by the solver. In most cases, additional API functions are also exposed to facilitate problem description and optimization of the solution process. The minimum API required to express a problem should include: a) Boolean constants; b) Boolean variables; and c) a minimum set of Boolean operations (and, negation). Other components, such as, but not limited to, integer and floating-point variables and constants, arithmetic operations (addition, subtraction, multiplication, division, modulo), additional Boolean operations (or, implication), and comparison operations (equality, inequality, greater than, less than), are typically also available. It should be appreciated that even if such components are missing from the constraint solver API, the problem can still be represented by the minimum set of operations required. For example, all arithmetic operations can be expressed using a minimum set of Boolean operations through an algorithm known as "bit-blasting."
[0021] To enable a CSP solver to use standard constraint solving methods to find a scenario realization, the scenario should be represented as a constraint satisfaction problem. A constraint satisfaction problem (CSP) includes constants, variables, and constraints that define dependencies between those variables. According to one embodiment, a scenario includes the following components: fields, constraints, actors, scenarios, and modifiers. If fields are modeled as variables, the first two components can be used directly in the resulting CSP. Actors can include, but are not limited to, vehicles, pedestrians, weather, road conditions, etc. Therefore, the main goal of modeling is to represent actors, scenarios, and modifiers using variables and constraints on these variables. Such a representation of a scenario as a CSP with variables and constraints enables efficient and accurate realization and eliminates abstract (or ambiguous) behavior of the involved actors. Accurate, concrete instances are particularly advantageous in autonomous vehicle traffic scenarios, in that errors or inaccuracies can have detrimental effects on the safety of many people. That is, accurate realization improves the operational accuracy and safety of autonomous vehicles for practical implementations.
[0022] Scenarios have a temporal nature, meaning that their behavior is defined over a time window. Within this time window, each contained sub-scenario occupies its own time slot, and the sub-scenario time slots are connected in a manner defined by operators in the scenario's description language, such as, but not limited to, those described in commonly assigned U.S. patent application Ser. No. 17 / 122,124 to Hollander et al., the contents of which are incorporated herein by reference (hereinafter the '124 patent application). Actors participating in a scenario have behavior over time. At each point in time, this behavior is described by a state, which is represented by a set of variables that describe the actor's temporal characteristics (or properties) (e.g., for a car, these characteristics might be speed, position, acceleration, light mode, etc.). For each actor, its state definition is part of its scenario description. At each point in time, the value of the actor's state field describes the actor's behavior at that point in time. An actor's behavior is represented over time as a sequence of state changes, each of which, in addition to its properties defined by using the actor's description language, includes a time label. This time label defines the point in time at which the corresponding state becomes active (i.e., the actor moves from the previous state to the current state). If an actor's state contains m variables and its behavior is represented using n state changes, then at most m*n new variables are added to the constraint satisfaction problem. Note that various optimizations to reduce the number of added variables can be applied without departing from the scope of the disclosed embodiments.
[0023] According to one embodiment, each scenario is represented by an interval [i...j] in the sequence of state changes of each actor participating in the scenario. An interval represents the start and end of a scenario within the sequence of state changes of this particular actor. Since the time labels of the state changes uniquely define when the states become active, synchronization between intervals automatically implies synchronization between the start and end times of the scenario. When a scenario is written in an appropriate description language, for each scenario call within it, two generating variables are defined that determine the start and end of the interval of this scenario. Synchronization between different sub-scenarios is then defined by operators working on these sub-scenarios and is modeled by constraints on interval bound variables, as will be further explained herein.
[0024] The operator serial defines all of the sub-scenarios, and the sub-scenarios are executed in order, i.e., when scenario "i" ends, scenario i+1 starts (where "i" is an integer greater than "1"). For example, S1,...,S n is a scenario connected by a serial operator. In this case, s i , e i are respectively, S i are defined as generative variables that represent the start and end of the interval corresponding to S1 S n The serial connection between is modeled using the following constraints: s i+1 =e i ∀i∈1..n-1
[0025] FIG. 1 is an exemplary schematic illustration 100 of a first scenario 130 and a second scenario 140 operating under a serial operator, according to one embodiment. Scenarios s1 130 and s2 140 can be spread across a timeline under the serial operator. Note that the serialization solution in FIG. 1 is only one possibility out of many. Depending on the number of states 120 selected and the context in which this example appears, a constraint solver can find many different spannings. However, each of them is consistent with a constraint that models a serial relation.
[0026] Thus, Figure 1 illustrates how scenarios under a serial operator can be spread across a timeline. Each state change 110, e.g., 110-1 through 110-8, is a path from one state 120, e.g., state 120-2, to another state 120, e.g., state 120-3. In this particular example, there are eight state changes, including the beginning 110-1 and the end 110-8 of the overall timeline. As an example, scenarios ms1, d1, and d2 are connected by a serial relationship and therefore satisfy the modeling constraints, i.e., that d1 begins at state change 110-3 and ms1 ends exactly here. Similarly, as an example, scenarios s1 and ms2 are connected by a serial relationship and therefore satisfy the modeling constraints.
[0027] Similarly, a parallel operator defines the following relationship: all its sub-scenarios are fully synchronized at the same time, starting and ending at the same point in time, i.e., S1,...,S n are scenarios connected by parallel operators, and s i , e i are respectively, S iIf S1...S are generated variables that represent the start and end of the interval corresponding to n Parallel relations between are modeled using the following constraints: s i =s j ,e i =e j ∀i,j∈1..n
[0028] A mix operator defines the following relationships between its sub-scenarios: S1...S of the mix operator n Given a sub-scenario, sub-scenario S2...S n Each of s has a non-empty overlap with S1 on S1's timeline. i , e i S i are generated variables representing the start and end of the interval corresponding to , the relationship of the blending operators is modeled using the following constraints: s i <e1,s1<e i ∀i∈2..n
[0029] 2 is an exemplary schematic illustration of different variations of the spanning of a blending operator across a timeline, according to one embodiment. In all shown variations 210, 220, and 230, including sub-scenario d1 and d2, this relationship holds for the constraints modeled by the blending operator. In example 210, d1 starts at state change 1 and ends at state change 3, while d2 starts at state change 2 and ends at state change 4. Clearly, d1 starts before the end of d2 and ends after the start of d2. Another overlap of scenarios is shown in example 220, where d1 starts at state change 2 and ends at state change 4, while d2 starts at state change 1 and ends at state change 4. Example 230 illustrates a parallel relationship between sub-scenarios, which is the private case of the blending operator, where, natively, scenario d2 exactly overlaps with scenario d1.
[0030] FIG. 3 illustrates an exemplary schematic diagram of a transformation system 300 for transforming a scenario description into a constraint satisfaction problem, according to one embodiment. A processor 310, e.g., a central processing unit (CPU), is communicatively coupled to a memory 320. The memory 320 may comprise both volatile memory, such as random access memory (RAM), and non-volatile memory, such as read-only memory (ROM) and flash memory. A portion of the memory, e.g., a code region 324, contains code therein that can be executed by the processor 310, as described further herein. The memory 320 may further include memory regions that provide temporary and transient storage of data and / or code being operated on or by the processor 310. Additionally, the memory 320 includes a memory region 322 therein that is dedicated to at least code associated with a constraint problem solver (CPS) 322. The CPS code 322, when executed by the processor 310, provides one or more solutions for a set of provided variables and constraints that satisfy the provided constraints, as described further herein. Although CPS 322 is discussed herein, other constraint solvers may be used, including but not limited to Boolean Satisfiability (SAT), Satisfiability Modulo Theory (SMT), or theorem proving solvers, without departing from the scope of the disclosed embodiments.
[0031] Database 330 is communicatively coupled to processor 310 and contains one or more scenarios 335 and their sub-scenarios used by system 300 as described herein. In one embodiment, database 330 may be directly coupled to processor 310. In another embodiment, network interface 350 provides external network connectivity to system 300, through which database 330 may be connected without departing from the scope of the present invention. In one embodiment, scenarios 335 are provided as video clips, which are processed online or offline and described in a scenario description language described herein. In one embodiment, input / output interface (I / OI / F) 340 is communicatively coupled to processor 310 for providing input from, for example, a keyboard, mouse, touchpad, camera, and similar input devices, and output from, for example, a display, loudspeaker, printer, and similar output devices.
[0032] 4 is an exemplary flowchart 400 illustrating a method for converting a description of a scenario into a constraint satisfaction problem, according to one embodiment. The method will be described with reference to the components shown in FIG.
[0033] At S410, a scenario and its sub-scenarios are received using, for example, but not limited to, system 300 of FIG. 3. Such a scenario and its sub-scenarios may be provided from a database, such as database 330. Each of the scenario and its sub-scenarios may be described in a scenario description language. In an exemplary embodiment, the scenario may be described in a high-level (HL) description language, for example, but not limited to, the scenario language described in the '124 patent application.
[0034] In S420, the received scenarios and sub-scenarios are converted into variables and constraints in a manner consistent with the requirements of CPS 322. Additionally, constraints expressing temporal relationships, such as, but not limited to, serial, parallel, or mixed, can be added. In one embodiment, the state of the start variable and / or the state of the end variable may be added. In one embodiment, S420 further includes an optimization process in which variables that do not affect a particular state are removed for that state. It should be appreciated that in S420, a vector covering all of its variables and respective constraints is generated for each state (e.g., state 120-1, FIG. 1). The process of converting scenarios and sub-scenarios into their respective variables and constraints is discussed in more detail with respect to FIG. 5 below.
[0035] At S430, a solution is generated that satisfies the provided constraints. The solution includes multiple states for the variables that comply with each constraint. In one embodiment, if at least one solution to the constraint satisfaction problem is not found, an error may be generated. In one embodiment, S430 is performed by CPS 322. In another embodiment, a constraint satisfaction problem solving engine (not shown) adapted to process constraint satisfaction problems may be used for efficiency and speed.
[0036] In S440, it is checked whether additional solutions are possible or desired, and if so, execution continues at S430, otherwise execution continues at S450. Note that CPS 322 provides all possible solutions that satisfy the constraints.
[0037] At S450, the solution or solutions are stored in memory 320 or other storage device such as database 330.
[0038] In S460, it is checked whether additional scenarios should be processed; if so, execution continues to S410; otherwise, execution terminates. According to one embodiment, cases that satisfy the constraints are provided to the simulator for execution. In one embodiment, the cases (or solutions) may be provided to a traffic simulator. It should be understood that in one embodiment, each state may contain a copy of all variables present in the scenario description language code. Furthermore, in one embodiment, states and the variables they contain are optimized so that only variables relevant to that state are copied thereto. In one embodiment, a scenario may relate to a traffic condition or traffic element or the like.
[0039] FIG. 5 is an exemplary flowchart illustrating a method for converting scenarios and sub-scenarios into respective variables and constraints S420 according to one embodiment.
[0040] At S510, at least one variable is identified for the scenario and sub-scenario. The at least one variable may be identified by analyzing the actors and scenarios, which may further be represented as abstract syntax trees. In one embodiment, at least one variable may be defined under each associated actor.
[0041] At least one constraining relationship is identified at S520, where the at least one constraining relationship is derived from the scenario and the sub-scenario.
[0042] At S530, a constraint satisfaction problem is generated from the identified at least one variable and at least one constraint relation.
[0043] The various embodiments disclosed herein may be implemented as hardware, firmware, software, or any combination thereof. Furthermore, software is preferably implemented as an application program tangibly embodied on a program storage unit or computer-readable medium, consisting of portions or specific devices and / or combinations of devices. The application program may be uploaded to and executed by a machine having any suitable architecture. Preferably, the machine is implemented on a computer platform having hardware such as one or more central processing units (“CPUs”), memory, and input / output interfaces. The computer platform may also include an operating system and microinstruction code. The various processes and functions described herein may be either part of the microinstruction code or part of the application program, or any combination thereof, that may be executed by a CPU, whether or not such a computer or processor is explicitly shown. In addition, various other peripheral units may be connected to the computer platform, such as an additional data storage unit and a printing unit. Furthermore, a non-transitory computer-readable medium is any computer-readable medium, except for a transitory, propagating signal.
[0044] All examples and conditional language recited herein are for educational purposes to aid the reader in understanding the principles of the disclosed embodiments and concepts contributed by the inventors to further the art, and should not be construed as being limited to such specifically recited examples and conditions. Moreover, all statements herein reciting principles, aspects, and embodiments of the disclosed embodiments, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof. Furthermore, such equivalents are intended to include both currently known equivalents and equivalents developed in the future, i.e., any elements developed that perform the same function, regardless of structure.
[0045] It should be understood that any reference to an element herein using a designation such as "first," "second," etc. does not generally limit the quantity or order of those elements. Rather, these designations are generally used herein as a convenient method of distinguishing between two or more elements or instances of an element. Thus, a reference to a first and a second element does not imply that only two elements may be used therein, or that the first element must precede the second element in any way. Also, unless otherwise specified, a set of elements includes one or more elements.
[0046] As used herein, the phrase "at least one of" is followed by a list of items, meaning that any of the listed items may be utilized individually, or any combination of two or more of the listed items may be utilized. For example, if a system is described as including "at least one of A, B, and C," the system may include A alone, B alone, C alone, 2A, 2B, 2C, 3A, a combination of A and B, a combination of B and C, a combination of A, B, and C, a combination of 2A and C, a combination of A, 3B, and 2C, and the like.
Claims
1. 1. A method for determining a specific instance in a traffic scenario, comprising: receiving a scenario in a scenario description language, the scenario describing the behavior of at least one actor, the scenario including at least one sub-scenario; identifying at least one variable for the scenario and the at least one sub-scenario based on an analysis of the at least one actor and the received scenario; identifying at least one constraint relationship derived from the scenario and the at least one sub-scenario; generating a constraint satisfaction problem from the at least one variable and the at least one constraint; processing the constraint satisfaction problem to generate a sequence of states for the at least one variable subject to the at least one constraint, the sequence of states defining the behavior of the at least one actor, including time values; determining at least one solution comprising said sequence of states; and providing said at least one solution to a traffic simulator.
2. storing said at least one solution in a memory; generating an error message when the at least one solution is not determined; The method of claim 1 , wherein the attempt to determine a solution is performed by a constraint satisfaction problem solver.
3. The method of claim 1 , further comprising adding a starting variable to the at least one variable.
4. The method of claim 1 , further comprising adding an end variable to the at least one variable.
5. The method of claim 1 , further comprising adding the at least one constraint that represents a temporal relationship.
6. The method of claim 5 , wherein the temporal relationship is at least one of serial, parallel, and mixed.
7. The method of claim 1 , wherein each state in the sequence of states includes a copy of the at least one variable.
8. The method of claim 7 further comprising optimizing each state of the sequence of states to include only its associated variables.
9. The method of claim 1 , wherein the scenario relates to at least one of a traffic condition and a traffic element.
10. The method of claim 9 , wherein the traffic element is an autonomous vehicle.
11. 2. The method of claim 1, wherein processing the constraint satisfaction problem uses one of a designated constraint satisfaction problem solver, a Boolean satisfiability (SAT), a satisfiability modulo theory (SMT), and a theorem proving solver.
12. A non-transitory computer-readable medium having stored thereon instructions for causing a processor to perform a process, the process comprising: receiving a scenario in a scenario description language, the scenario describing the behavior of at least one actor, the scenario including at least one sub-scenario; identifying at least one variable for the scenario and the at least one sub-scenario based on an analysis of the at least one actor and the received scenario; identifying at least one constraint relationship derived from the scenario and the at least one sub-scenario; generating a constraint satisfaction problem from the at least one variable and the at least one constraint; processing the constraint satisfaction problem to generate a sequence of states for the at least one variable subject to the at least one constraint, the sequence of states defining the behavior of the at least one actor, including time values; determining at least one solution comprising said sequence of states; and providing the at least one solution to a traffic simulator.
13. 1. A system for determining a specific instance in a traffic scenario, comprising: a database containing scenarios in a scenario description language; a processor; a memory; The memory, when executed by the processor, receiving a scenario in a scenario description language from the database, the scenario describing the behavior of at least one actor, the scenario including at least one sub-scenario; identifying at least one variable for the scenario and the at least one sub-scenario based on parsing the at least one actor and the received scenario; identifying at least one constraint relationship derived from the scenario and the at least one sub-scenario; generating a constraint satisfaction problem from the at least one variable and the at least one constraint; processing the constraint satisfaction problem to generate a sequence of states for the at least one variable subject to the at least one constraint, the sequence of states defining the behavior of the at least one actor, including time values; determining at least one solution comprising said sequence of states; providing the at least one solution to a traffic simulator.
14. The system further comprises: storing the at least one solution in a memory; The system of claim 13 , configured to generate an error message when the at least one solution is not determined by the constraint satisfaction solver.
15. The system of claim 13 , wherein the system is further configured to add a starting variable to the at least one variable.
16. The system of claim 13 , wherein the system is further configured to add an end variable to the at least one variable.
17. The system of claim 13 , wherein the system is further configured to add at least one constraint that represents a temporal relationship.
18. 20. The system of claim 17, wherein the temporal relationship is at least one of serial, parallel, and mixed.
19. The system of claim 13 , wherein each state in the sequence of states includes a copy of every variable.
20. 20. The system of claim 19, wherein the system is further configured to optimize each state of the sequence of states to include only its associated variables.
21. The system of claim 13 , wherein the scenario relates to at least one of a traffic condition and a traffic element.
22. The system of claim 21 , wherein the traffic element is an autonomous vehicle.
23. 14. The system of claim 13, wherein the system is further configured to execute any one of a specified constraint satisfaction problem solver, a Boolean satisfiability (SAT), a satisfiability modulo theory (SMT), and a theorem proving solver.
Citation Information
Patent Citations
Systems and methods for automatically generating executable system level-tests from a partially specified scenario
US8560893B1
Scenario description language for autonomous vehicle simulation
WO2018071708A1
Software validation for autonomous vehicles
WO2019136447A1
Autonomous vehicle planning
WO2020079074A2