A method and system for fusing description languages ​​of autonomous driving simulation test scenarios

By using a modular approach and a dual-engine control method, the target scenario description language is integrated with the existing simulation testing platform, solving the problem that scenario description languages ​​cannot be directly integrated, reducing R&D costs and improving the adaptability of the simulation testing system.

CN115016318BActive Publication Date: 2025-10-28QINGKE LINGJING (ANHUI) TECHNOLOGY CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210611699.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-05-31
Publication Date
2025-10-28
Estimated Expiration
2042-05-31

AI Technical Summary

Technical Problem

The existing strongly closed scenario description language tool chain cannot be directly integrated into the existing simulation test platform, resulting in high R&D costs and a lot of repetitive work.

Method used

By setting up an object splitting module, scene information is split into vehicle information and environmental information. The first execution engine and the second execution engine are used to control the autonomous driving system and the simulator respectively, thereby realizing scene rendering and simulation testing and reducing R&D costs.

Benefits of technology

This approach achieves low-cost integration of target scenario description languages ​​into simulation testing systems, fully leveraging the capabilities of scenario description languages ​​to improve the adaptability of simulation testing systems to complex scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115016318B_ABST
    Figure CN115016318B_ABST
Patent Text Reader

Abstract

This application relates to the field of autonomous driving simulation testing technology, and provides a method and system for fusing autonomous driving simulation testing scene description languages. The method is applied to a simulation testing system, which includes a target scene description language parser, an object splitting module, a first execution engine, a second execution engine, and a simulator. The method includes: the target scene description language parser parses the input scene script into scene information and sends it to the object splitting module; the object splitting module splits the scene information into vehicle information and environmental information, converts the vehicle information into a format corresponding to the first execution engine and sends it to the first execution engine, and sends the environmental information to the second execution engine; the second execution engine controls the simulator to perform scene rendering based on the environmental information; and the first execution engine performs simulation testing on the autonomous driving system based on the vehicle information and the scene rendered in the simulator. This achieves the fusion of the target scene description language and simulation testing.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of autonomous driving simulation testing technology, and in particular relates to a method and system for integrating autonomous driving simulation testing scenario description languages. Background Technology

[0002] With the continuous development of science and technology, the research and development of autonomous driving systems based on advanced communication, computer, network, and control technologies is becoming increasingly intense. To ensure the safety of autonomous driving systems in practical applications, extensive testing is required during the research and development process. Real-world scenario testing presents technical challenges, including high costs, significant risks to human life and property, and limited richness of real-world test scenarios. Software simulation testing can effectively compensate for the shortcomings of real-world scenario testing and is therefore increasingly widely used in the testing of autonomous driving systems. Software simulation testing refers to using software to simulate application scenarios and then conducting tests within those simulated scenarios.

[0003] To describe various complex scenarios, more and more scenario description languages ​​have been developed. However, many excellent scenario description languages ​​are difficult to integrate and use directly in existing simulation testing platforms due to compatibility issues.

[0004] Therefore, how to integrate the scene description language in the strongly closed scene description language toolchain with the existing simulation testing platform has become an urgent technical problem to be solved. Summary of the Invention

[0005] This application provides a method for integrating scene description languages ​​in autonomous driving simulation testing, an autonomous driving simulation testing system, a terminal device, and a readable storage medium, which solves the technical problem that scene description languages ​​in strongly closed scene description language toolchains cannot be directly integrated into existing simulation testing platforms.

[0006] In a first aspect, embodiments of this application provide a method for fusing description languages ​​of autonomous driving simulation test scenarios, applied to a simulation test system. The simulation test system includes a target scenario description language parsing module, an object splitting module, a first execution engine, a second execution engine, and a simulator. The method includes:

[0007] The target scene description language parser parses the input scene script written in the target scene description language into scene information and sends it to the object splitting module;

[0008] The object splitting module splits the scene information into vehicle information and environment information, wherein the vehicle information is used by the autonomous driving system to control the target vehicle model in the simulator to perform simulated driving.

[0009] The object splitting module converts the vehicle information into the format corresponding to the first execution engine and sends it to the first execution engine, and sends the environmental information to the second execution engine;

[0010] The second execution engine controls the simulator to perform scene rendering according to the environmental information;

[0011] The first execution engine performs a simulation test on the autonomous driving system according to the vehicle information and the scene rendered in the simulator.

[0012] In the above embodiment, the scene information is split by the object splitting module to obtain vehicle information and environmental information; the second execution engine is the execution engine supporting in the target scene description language tool chain, which is used to control the simulator to perform scene rendering according to the environmental information, and the first execution engine is used to perform a simulation test on the autonomous driving system according to the vehicle information and the scene rendered in the simulator. If according to the conventional method, if you want to apply the target scene description language to the simulation test of the autonomous driving system, you need to specifically develop the execution engine, and the R & D cost of the execution engine is very huge. And because the target scene description language tool chain comes with an execution engine, if you re-develop it, it actually belongs to doing a lot of repetitive work. In the implementation of this application, the first execution engine and the second execution engine are cleverly set at the same time. Among them, the first execution engine basically uses all the overall control functions of the existing simulation test system execution engine except for scene rendering, and the second execution engine uses all the functions of the execution engine in the target scene description language tool chain except for target vehicle control, so as to achieve control of the R & D cost. This method splits the scene information and uses two execution engines to respectively implement scene rendering and simulation test control of the autonomous driving system, and realizes the purpose of integrating and applying the target scene description language to the simulation test system on the basis of a relatively low R & D cost. This method makes full use of the language description ability of the target scene description language, and at the same time enables the autonomous driving system to control the target vehicle, and then realizes the simulation test of the autonomous driving system.

[0013] In a possible implementation manner of the first aspect, the vehicle information includes the starting point coordinates of the target vehicle model, the ending point coordinates of the target vehicle model, the target vehicle start instruction, and the target vehicle model stop instruction.

[0014] In a possible implementation manner of the first aspect, the method further includes:

[0015] When the first execution engine detects a preset test end condition, it controls the autonomous driving system, the second execution engine, and the simulator to stop running, and restores the simulator to its initial state.

[0016] In one possible implementation of the first aspect, the test end instruction includes the target vehicle model completing the test, the target vehicle model experiencing a preset accident, or a stop test instruction being detected.

[0017] In one possible implementation of the first aspect, the object splitting module splits the scene information into vehicle information and environmental information, including:

[0018] The object splitting module extracts the vehicle information from the scene information;

[0019] The object splitting module removes the vehicle information from the scene information to obtain the environment information.

[0020] Secondly, embodiments of this application provide an autonomous driving simulation testing system, including a target scene description language parser, an object splitting module, a first execution engine, a second execution engine, and a simulator, wherein:

[0021] The target scene description language parser is used to parse the input scene script written in the target scene description language into scene information and send it to the object splitting module;

[0022] The object splitting module is used to split the scene information into vehicle information and environment information, wherein the vehicle information is used by the autonomous driving system to control the target vehicle model in the simulator to perform simulated driving.

[0023] The object splitting module is used to convert the vehicle information into a format corresponding to the first execution engine and send it to the first execution engine, and to send the environmental information to the second execution engine;

[0024] The second execution engine is used to control the simulator to perform scene rendering based on the environmental information;

[0025] The first execution engine is used to perform simulation testing on the autonomous driving system based on the vehicle information and the scene rendered in the simulator.

[0026] In one possible implementation of the second aspect, when the first execution engine detects a preset test termination condition, it is further configured to control the autonomous driving system, the second execution engine, and the simulator to stop running and restore the simulator to its initial state.

[0027] In one possible implementation of the second aspect, the object splitting module is used to split the scene information into vehicle information and environmental information, including:

[0028] The object splitting module extracts the vehicle information from the scene information;

[0029] The object splitting module removes the vehicle information from the scene information to obtain the environment information.

[0030] Thirdly, embodiments of this application provide a terminal device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the method described in any of the embodiments of the first aspect above.

[0031] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program that, when executed by a processor, implements the method described in any of the embodiments of the first aspect above.

[0032] Fifthly, embodiments of this application provide a computer program product that, when run on a server, causes the server to execute the method described in any one of the first aspects above.

[0033] It is understood that the beneficial effects of the second to fifth aspects mentioned above can be found in the relevant descriptions in the first aspect mentioned above, and will not be repeated here. Attached Figure Description

[0034] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0035] Figure 1 This is a schematic diagram of the structure of an autonomous driving simulation test system provided in one embodiment of this application;

[0036] Figure 2 This is an interactive diagram of a method for fusing description languages ​​of autonomous driving simulation test scenarios provided in an embodiment of this application;

[0037] Figure 3 This is an interactive diagram of a simulation testing process provided in one embodiment of this application;

[0038] Figure 4 This is a structural block diagram of a device for fusing description languages ​​of autonomous driving simulation test scenarios provided in an embodiment of this application;

[0039] Figure 5 This is a schematic diagram of the internal structure of a terminal device provided in an embodiment of this application. Detailed Implementation

[0040] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limitation, in order to provide a thorough understanding of the embodiments of this application. However, those skilled in the art will understand that this application may also be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, apparatuses, circuits, and methods have been omitted so as not to obscure the description of this application with unnecessary detail.

[0041] It should be understood that, when used in this application specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or a collection thereof.

[0042] It should also be understood that the term “and / or” as used in this application specification and the appended claims means any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.

[0043] As used in this application specification and the appended claims, the term "if" may be interpreted, depending on the context, as "when," "once," "in response to determination," or "in response to detection." Similarly, the phrase "if determined" or "if detected [the described condition or event]" may be interpreted, depending on the context, as meaning "once determined," "in response to determination," "once detected [the described condition or event]," or "in response to detection [the described condition or event]."

[0044] Furthermore, in the description of this application and the appended claims, the terms "first," "second," "third," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.

[0045] References to "one embodiment" or "some embodiments" as described in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.

[0046] To facilitate understanding, the terms used in the embodiments of this application will first be explained:

[0047] Scenario: In the simulation testing of autonomous driving systems, "scenario" refers to the specific situation that needs to be simulated in a certain test. The simulation test scenario generally includes static and dynamic parts. The static part includes maps, roads, weather, time, traffic lights, obstacles, etc., while the dynamic part includes moving pedestrians, vehicles, etc.

[0048] EGO vehicle: In the simulation testing of autonomous driving systems, the vehicle controlled by the autonomous driving system in the simulation environment (i.e., the vehicle to be tested).

[0049] NPC (non-player character) vehicles: In the simulation test of the autonomous driving system, other vehicles in the traffic environment that serve as EGO vehicles in the simulation environment.

[0050] Scene description language: It is a scene description language that supports probabilistic behavior, has strong scene description capabilities, and can describe many complex traffic scenarios.

[0051] Toolchain: Includes a scene description language parser and a scene description language execution engine, mainly used to help the autonomous driving simulation test platform better achieve simulation testing.

[0052] Currently, software simulation testing systems for autonomous driving systems include simulation testing platforms and autonomous driving simulators. The simulation testing platform comprises a script parser and a platform execution engine. Scene description languages ​​follow specific syntax rules, and scene scripts are written based on variables to describe the simulation test scenarios. During testing, the parser parses the input scene scripts and sends the parsed data to the platform execution engine. The platform execution engine controls the simulator to render and simulate the driving environment based on the parsed data, and simulates driving of the autonomous driving system based on the rendered driving scenario. In the software simulation testing system, the platform execution engine plays a crucial role in overall control. Besides the functions mentioned above, it also controls the start and end of the simulation test, records the data generated in the simulator during the test, analyzes the data generated in the simulator after the test to obtain test results, and transfers image data between the simulator and the web front-end.

[0053] To describe various complex scenarios, an increasing number of scene description languages ​​have been developed, such as Scenic, M-SDL, and GeoScenario. The developers of these scene description languages ​​then provide toolchains based on them. These toolchains include decoders and execution engines corresponding to the scene description languages, but their parsers and execution engines are not compatible with autonomous driving system simulation testing platforms.

[0054] The following example uses the Scenic scene description language to illustrate the technical problems existing in the current technology. Scenic is a new probabilistic programming language proposed by UC Berkeley. It has advantages such as strong scene description capabilities and ease of learning. However, Scenic appears in the form of the Scenic toolchain, which has strong closedness. Specifically, the Scenic toolchain includes Scenic's built-in decoder and execution engine. When using the Scenic toolchain, the Scenic's built-in execution engine directly connects to the simulator and controls all elements in the simulator, which makes it impossible to directly integrate with existing simulation testing platforms.

[0055] Scenic scene description language: It is a scene description language that supports probabilistic behavior and has strong scene description capabilities, capable of describing many complex traffic scenarios.

[0056] The Scenic toolchain includes the Scenic parser and the Scenic execution engine. The Scenic toolchain is a collective term for the parser and execution engine that are compatible with the Scenic scene description language.

[0057] Most popular autonomous driving system simulation testing platforms, such as Prescan and VTD, can use the cumbersome OpenScenario scene description language for scene script configuration. However, no simulation testing platform currently provides compatibility support for the concise and powerful Scenic scene description language.

[0058] The current conventional approach to applying the Scenic scene description language to existing simulation testing platforms is to treat it as a general scene description language, developing a parser compatible with both the simulation testing platform and the Scenic scene description language itself, as well as an execution engine compatible with the simulation testing platform, autonomous driving systems, and simulators. However, developing separate parsers and execution engines has significant drawbacks. First, the development of both (especially the execution engine) requires an enormous amount of work. Second, since the Scenic scene description language already has a corresponding parser and execution engine, the aforementioned development is essentially redundant and a waste of resources.

[0059] To address the aforementioned issues, this application provides a method for fusing an autonomous driving simulation test scenario description language. This method is applied to a simulation test system, which includes an object splitting module, a first execution engine, and a second execution engine. In this method, the object splitting module separates EGO vehicle information from other information. The first execution engine provides overall control of the simulation test system, including controlling the autonomous driving system based on the EGO vehicle information. The second execution engine, using an execution engine from the target scenario description language toolchain, controls elements in the simulator to generate driving scenarios based on other information. The first execution engine enables overall control of the simulation test system, while the second execution engine controls the simulator for scenario rendering, thus achieving separate control of the EGO vehicle and simulator scenario rendering. This method allows for a very simple and direct fusion of the target scenario description language toolchain with the simulation test platform.

[0060] The simulation testing method for the autonomous driving system provided in this application will be described exemplarily below with reference to specific embodiments.

[0061] See Figure 1 This application provides an autonomous driving simulation testing system. For example... Figure 1 As shown, the autonomous driving simulation testing system includes a simulation testing platform and a simulator. The simulation testing platform includes a target scene description language parser, an object splitting module, a first execution engine, and a second execution engine. This system is used to simulate and test autonomous driving systems, specifically testing the driving performance of the autonomous driving system in specific scenarios.

[0062] In this embodiment, the scene script is written using a target scene description language (DDL), and the DDL parser parses the scene script. The autonomous driving simulation test system includes an object splitting module and two execution engines. The object splitting module splits the information parsed by the DDL parser into EGO vehicle information and environmental information. This embodiment decomposes the functionality of the platform execution engine in the existing autonomous driving simulation test platform, using a first execution engine and a second execution engine to perform the functions of the existing platform execution engine. The first execution engine implements the overall control function of the existing platform execution engine, while the second execution engine from the DDL toolchain implements the function of controlling the simulator scene rendering.

[0063] In this embodiment, the first execution engine inherits most of the functionality of the platform execution engine, while the second execution engine inherits most of the functionality of the execution engine in the target scene description language toolchain. The functionality of these two mature execution engines is integrated into the simulation testing system using a simple method. This setup allows scripts to be written using the target scene description language, fully utilizing its rich scene description capabilities and improving the simulation testing system's adaptability to complex scenarios. Furthermore, it eliminates the need for significant modifications to the existing platform execution engine and the execution engine in the target scene description language toolchain, greatly reducing development costs.

[0064] like Figure 1 As shown, in this embodiment, the target scene description language parser, object splitting module, first execution engine, and second execution engine in the simulation test system run on the same server. The functional modules on this server communicate via the WebSocket protocol, and the simulation test system invokes commands to these functional modules through the WebSocket protocol.

[0065] In this embodiment, since the operation of the autonomous driving system and the simulator requires a large amount of computation and consumes a lot of computing resources, in order to ensure the smooth operation of the entire system, two servers are used to run the autonomous driving system and the simulator respectively.

[0066] In one embodiment, the target scene description language is the Scenic scene description language, the toolchain is the Scenic toolchain, the scene script is the Scenic scene script, and the Scenic toolchain includes a Scenic parser and a Scenic execution engine.

[0067] The following describes, with reference to specific embodiments, an exemplary method for fusing description languages ​​of autonomous driving simulation test scenarios provided in this application. The method is applied to... Figure 1 The autonomous driving simulation test system shown.

[0068] Figure 2 An interactive diagram is shown illustrating a method for fusing description languages ​​of autonomous driving simulation test scenarios provided in one embodiment of this application. As an example and not a limitation, the method for fusing description languages ​​of autonomous driving system simulation test scenarios includes the following steps:

[0069] Step S201: The target scene description language parser parses the input scene script written in the target scene description language into scene information and sends it to the object splitting module.

[0070] In this embodiment, the scenario script mainly describes the traffic conditions required for the test, including static traffic elements (such as roads, buildings, obstacles, etc.) and dynamic traffic scenarios (such as pedestrians, vehicles, etc.).

[0071] In this embodiment, the scene script is written using a target scene description language. For example, the target scene description language can be Scenic scene description language, in which case the scene script is written using Scenic scene description language.

[0072] Optionally, during the writing of the scenario script, in order to achieve the correspondence between the scenario script and the simulation scenario, a suitable simulator can be selected based on the required simulation scenario (i.e., the simulator includes all the models required by the simulation scenario). Of course, in some cases (such as when a suitable simulator cannot be found), the simulation scenario can also be appropriately adjusted according to the actual situation of the simulator to achieve the correspondence between the scenario script and the simulation scenario.

[0073] Scenario scripts can be input into the simulation testing system as files. The target scenario description language parser parses the scenario scripts by organizing their content into a format that can be recognized and used by the second execution engine carried by the target scenario description language toolchain. For example, the Scenic parser converts the scenario script into a data structure that the Scenic execution engine can recognize and use, thereby facilitating the Scenic execution engine's reading and use of variables.

[0074] Step S202: The object splitting module splits the scene information into vehicle information and environmental information; among which, the vehicle information is used by the autonomous driving system to control the target vehicle model in the simulator for simulated driving.

[0075] In this embodiment, the target vehicle model is the EGO vehicle. The vehicle information refers to the information related to the EGO vehicle in the scene information parsed by the target scene description language parser. For example, it may include the EGO vehicle's tag, the starting point coordinates and ending point coordinates of the EGO vehicle in the simulator, the EGO vehicle start command and the EGO vehicle stop command, etc.

[0076] In this embodiment, environmental information includes all information in the scene information except for vehicle information. Environmental information generally includes the definition and configuration parameters of traffic elements other than EGO vehicles, such as a street light and its location coordinates, the location and time of a pedestrian's appearance, and relevant information about NPC vehicles.

[0077] For example, the process of the object splitting module splitting scene information can be as follows: the object splitting module first extracts information related to EGO vehicles from the scene information to obtain vehicle information; then the vehicle information in the scene information is deleted to obtain environmental information.

[0078] Optionally, the object splitting module can also split the scene information as follows: the object splitting module cuts out the information related to the EGO vehicle from the scene information to obtain the vehicle information, and the remaining information in the scene information is the environment information.

[0079] Step S203: The object splitting module converts the vehicle information into the format corresponding to the first execution engine and sends it to the first execution engine, and sends the environmental information to the second execution engine.

[0080] In this embodiment, the scene information is parsed by the target scene description language parser, and therefore the scene information can be recognized and used by the second execution engine. The format of the environment information split by the object splitting module remains unchanged, and the second execution engine can directly recognize and use it. Therefore, the object splitting module does not need to make any modifications to the environment information and sends it directly to the second execution engine.

[0081] In this embodiment, the vehicle information split by the object splitting module is in the same format as the scene information, which the first execution engine cannot recognize and use. Therefore, the object splitting module needs to convert the vehicle information into a format that the autonomous driving system can recognize before sending it to the first execution engine.

[0082] For example, the object splitting module's conversion of vehicle information formats may include changing the label of the target vehicle model in the vehicle information to the label of the EGO vehicle in the autonomous driving system, and converting the instruction information and coordinate information in the vehicle information into the data format required by the autonomous driving system.

[0083] Step S204: The second execution engine controls the simulator to render the scene based on the environmental information.

[0084] In this embodiment, environmental information refers to information about traffic elements other than the EGO vehicle. Scene rendering refers to simulating the driving environment of the EGO vehicle in the simulator. For example, the driving environment may include the operating status of other traffic elements along the EGO vehicle's route, such as changes in traffic lights, the movement of pedestrians on the road, the movement of other NPC vehicles, and weather conditions.

[0085] In this embodiment, the simulator can be selected as needed, such as the LGSVL simulator, the Carla simulator, etc., without being specifically limited here.

[0086] Step S205: The first execution engine performs simulation testing on the autonomous driving system based on vehicle information and the scene rendered in the simulator.

[0087] In this embodiment, simulation testing is used to verify the driving performance of the autonomous driving system in scenarios rendered by the simulator. Driving performance mainly refers to the autonomous driving system's ability to cope with unexpected scenarios designed in the rendered scenario. For example, it can be judged by indicators such as whether the autonomous driving system can control the target vehicle model to safely reach the destination in the rendered scenario, and whether the target vehicle model violates the driving rules set in the rendered scenario during driving.

[0088] For ease of understanding, the simulation testing process in the embodiments of this application will be described below. Figure 3 This is an interactive diagram of the simulation testing process in one embodiment of this application, such as... Figure 3 As shown, the simulation test process mainly includes:

[0089] S301, the second execution engine controls the simulator to render the scene based on environmental information.

[0090] S302, the first execution engine sends vehicle information to the autonomous driving system, including the starting point coordinates, the ending point coordinates, and the vehicle start command.

[0091] S303 The autonomous driving system formulates an initial driving route based on the starting point coordinates and ending point coordinates in the vehicle information, and controls the EGO vehicle in the simulator to start driving from the starting point coordinates according to the initial driving route.

[0092] S304. The simulator feeds back the current environmental operating status information to the autonomous driving system; the environmental operating status information includes the operating status of various elements in the rendered scene. For example, the operating speed and direction of other vehicles, the status of traffic lights, etc.

[0093] S305. The autonomous driving system generates the EGO vehicle driving strategy for the next moment using the autonomous driving algorithm based on the current environmental operating status information and EGO vehicle driving status information, and controls the EGO vehicle to continue driving in the rendered scene according to the EGO vehicle driving strategy.

[0094] In this embodiment, the autonomous driving system controls the driving of the EGO vehicle according to its internal algorithm. Controlling the driving of the EGO vehicle may include planning the driving route of the EGO vehicle and making driving decisions based on the scene conditions during the driving process.

[0095] In this embodiment, the EGO vehicle's driving status information includes the EGO vehicle's current coordinates, speed, and direction of travel. When generating the EGO vehicle's driving strategy, the autonomous driving system references environmental operating status information, primarily including the status information of various elements near the EGO vehicle's current location.

[0096] For example, if the current location of the EGO vehicle is an intersection, the driving strategy generated by the autonomous driving system needs to pay attention to the status information of elements near the intersection, including the status of traffic lights, whether there are pedestrians at the zebra crossing, and the current speed of other NPC vehicles that may affect the passage of the EGO vehicle. The autonomous driving system judges the above information to determine the waiting time, speed, and driving direction of the EGO vehicle through the intersection.

[0097] S306 The simulator feeds back the data generated during the test to the first execution engine in real time. The data generated during the test may include environmental operating status information and EGO vehicle driving status information.

[0098] S307, the first execution engine records the data fed back by the simulator.

[0099] S308. When the first execution engine detects the test termination condition, it sends a stop operation command to the autonomous driving system, the second execution engine, and the simulator.

[0100] S309. The first execution engine analyzes the recorded data fed back by the simulator to obtain test results.

[0101] In the embodiments, the test results include whether the EGO vehicle controlled by the autonomous driving system reaches the destination, whether there are any violations, and whether a collision occurs.

[0102] Optionally, in order to make the startup time of the simulator and the autonomous driving system as close as possible, this embodiment of the application associates the time when the first execution engine starts the target vehicle model with the time when the simulator starts rendering. That is, when the first execution engine detects that the scene rendering has started in the simulator, it sends the vehicle information (including the EGO vehicle start point coordinates, the EGO vehicle end point coordinates and the EGO vehicle start command) to the autonomous driving system. The autonomous driving system starts the EGO vehicle and plans an initial driving strategy based on the start point coordinates and the end point coordinates. Based on the initial strategy, it controls the EGO vehicle to start driving from the start point coordinates in the scene rendered by the simulator.

[0103] In one embodiment, the termination of the simulation test is controlled by a first execution engine. Specifically, the process of terminating the simulation test includes: when the first execution engine detects a preset test termination condition, it controls the autonomous driving system, the second execution engine, and the simulator to stop running and restores the simulator to its initial state. Optionally, the first execution engine can simultaneously send a test termination command and stop commands to the second execution engine and the simulator.

[0104] In this embodiment, the second execution engine (e.g., the Scenic execution engine) does not automatically stop after the test run ends and continues to occupy system resources. While the simulator is no longer controlled by the second execution engine after it stops running, the rendered elements in the simulator remain in the final scene state and still consume server resources. Therefore, it is necessary to promptly control the second execution engine and the simulator to stop running. By using the first execution engine to control the autonomous driving system, the second execution engine, and the simulator to stop running, the simulation test platform maintains control over the simulation test and avoids the occupation and consumption of server resources.

[0105] In this embodiment, the simulation testing system requires an initialized simulator when performing the next simulation test. After the simulator stops running, the first execution engine is used to restore the simulator to its initial state to avoid the uninitialized simulator parameters from adversely affecting the next simulation test.

[0106] For example, the test termination condition can be obtained by the first execution engine monitoring the driving status of the EGO vehicle in the simulator. For instance, when the first execution engine detects that the EGO vehicle has reached the end coordinate position, or when the first execution engine detects that the EGO vehicle has caused a preset accident, it can be considered that the test termination condition has been detected.

[0107] Optionally, preset accidents can be set according to actual conditions, such as collisions with EGO vehicles, EGO vehicles with more than 50% of their body leaving the lane line, and EGO vehicles with acceleration greater than 9 m / s². 2 EGO vehicles running yellow / red lights or failing to reach the destination coordinates within a preset time, etc.

[0108] Optionally, the test can also end when a stop test command is detected. This stop test command is entered by the tester as needed.

[0109] In this embodiment, the simulation test system can terminate at any time when it meets the preset test termination conditions, avoiding the waste of server resources caused by the simulation test system continuously running ineffectively due to a single termination condition. Furthermore, since testers can terminate the test as needed, the testing process is more convenient.

[0110] It should be understood that the size of the serial numbers of the steps in the above embodiments does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0111] Corresponding to the simulation testing method for the autonomous driving system described in the above embodiments, Figure 4 The diagram shows a structural block diagram of a fusion device for an autonomous driving simulation test scenario description language provided in an embodiment of this application. For ease of explanation, only the parts related to the embodiments of this application are shown.

[0112] Reference Figure 4 The fusion device 400 for autonomous driving simulation test scenario description language includes a parsing unit 401, a splitting unit 402, a first execution unit 403, and a second execution unit 404.

[0113] The parsing unit 401 is used to parse the input scene script written based on the target scene description language into scene information and send it to the splitting unit 402;

[0114] The splitting unit 402 is used to split scene information into vehicle information and environmental information, wherein the vehicle information is used by the autonomous driving system to control the target vehicle model in the simulator for simulated driving.

[0115] The splitting unit 402 is also used to convert vehicle information into a format corresponding to the first execution unit 403 and send it to the first execution unit 403, and to send environmental information to the second execution unit 404;

[0116] The second execution unit 404 is used to control the simulator to perform scene rendering based on environmental information;

[0117] The first execution unit 403 is used to perform simulation testing on the autonomous driving system based on vehicle information and the scene rendered in the simulator.

[0118] Optionally, when the first execution unit 403 detects a preset test termination condition, it is also used to control the autonomous driving system, the second execution unit 404 and the simulator to stop running and restore the simulator to its initial state.

[0119] Optionally, the splitting unit 402 is used to split the scene information into vehicle information and environmental information, including:

[0120] The splitting unit 402 extracts information related to the target vehicle model from the scene information to obtain vehicle information;

[0121] The splitting unit 402 removes the vehicle information from the scene information to obtain the environmental information.

[0122] It should be noted that the information interaction and execution process between the above-mentioned devices / units are based on the same concept as the method embodiments of this application. For details on their specific functions and technical effects, please refer to the method embodiments section, and they will not be repeated here.

[0123] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0124] Based on the same inventive concept, one embodiment of this application also provides a terminal device. For example... Figure 5 As shown, the terminal device 500 of this embodiment includes: a processor 501, a memory 502, and a computer program 504 stored in the memory 502 and executable on the processor 501. The computer program 504 can be executed by the processor 501 to generate instructions 503, which the processor 501 can use to implement the steps in the simulation testing methods of the various autonomous driving systems described above. Alternatively, when the processor 501 executes the computer program 504, it implements the functions of each module / unit in the various device embodiments described above.

[0125] For example, computer program 504 may be divided into one or more modules / units, one or more of which are stored in memory 502 and executed by processor 501 to complete this application. One or more modules / units may be a series of computer program instruction segments capable of performing a specific function, which describe the execution process of computer program 504 in terminal device 500.

[0126] Processor 501 can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor can be a microprocessor or any conventional processor.

[0127] The memory 502 can be an internal storage unit of the terminal device 500, such as a hard disk or RAM of the terminal device 500. The memory 502 can also be an external storage device of the terminal device 500, such as a plug-in hard disk, Smart Media Card (SMC), Secure Digital (SD) card, or FlashCard equipped on the terminal device 500. Furthermore, the memory 502 can include both internal and external storage units of the terminal device 500. The memory 502 is used to store computer programs and other programs and data required by the terminal device 500. The memory 502 can also be used to temporarily store data that has been output or will be output.

[0128] This application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps in the above-described method embodiments.

[0129] This application provides a computer program product that, when run on a server, enables the server to implement the steps described in the various method embodiments above.

[0130] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable medium can include at least: any entity or device capable of carrying computer program code to a device / server, a recording medium, a computer memory, a read-only memory (ROM), a random access memory (RAM), an electrical carrier signal, a telecommunication signal, and a software distribution medium. Examples include USB flash drives, portable hard drives, magnetic disks, or optical disks. In some jurisdictions, according to legislation and patent practice, computer-readable media cannot be electrical carrier signals or telecommunication signals.

[0131] In the above embodiments, the description of each embodiment has its own focus. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant description of other embodiments.

[0132] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0133] In the embodiments provided in this application, it should be understood that the disclosed apparatus / network devices and methods can be implemented in other ways. For example, the apparatus / server embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0134] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0135] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.

Claims

1. A method for fusing description languages ​​of autonomous driving simulation test scenarios, characterized in that, Applied to a simulation testing system, the simulation testing system includes a target scene description language parser, an object splitting module, a first execution engine, a second execution engine, and a simulator; the method includes: The target scene description language parser parses the input scene script written in the target scene description language into scene information and sends it to the object splitting module; The object splitting module splits the scene information into vehicle information and environment information, wherein the vehicle information is used by the autonomous driving system to control the target vehicle model in the simulator to perform simulated driving. The object splitting module converts the vehicle information into a format corresponding to the first execution engine and sends it to the first execution engine, and sends the environmental information to the second execution engine; The second execution engine controls the simulator to render a scene based on the environmental information; wherein, the second execution engine uses all the functions of the execution engine in the target scene description language toolchain except for the target vehicle control; the first execution engine performs simulation testing on the autonomous driving system based on the vehicle information and the scene rendered in the simulator.

2. The method as described in claim 1, characterized in that, The method further includes: When the first execution engine detects a preset test termination condition, it controls the autonomous driving system, the second execution engine, and the simulator to stop running and restores the simulator to its initial state.

3. The method as described in claim 2, characterized in that, The test termination conditions include the target vehicle model completing the test, the target vehicle model experiencing a preset accident, or a stop test command being detected.

4. The method according to any one of claims 1 to 3, characterized in that, The object splitting module splits the scene information into vehicle information and environmental information, including: The object splitting module extracts the vehicle information from the scene information; The object splitting module removes the vehicle information from the scene information to obtain the environment information.

5. The method according to any one of claims 1 to 3, characterized in that, The vehicle information includes the starting point coordinates of the target vehicle model, the ending point coordinates of the target vehicle model, the start command of the target vehicle model, and the stop command of the target vehicle model.

6. An autonomous driving simulation testing system, characterized in that, It includes a target scene description language parser, an object splitting module, a first execution engine, a second execution engine, and a simulator, wherein: The target scene description language parser is used to parse the input scene script written in the target scene description language into scene information and send it to the object splitting module; The object splitting module is used to split the scene information into vehicle information and environment information, wherein the vehicle information is used by the autonomous driving system to control the target vehicle model in the simulator to perform simulated driving. The object splitting module is used to convert the vehicle information into a format corresponding to the first execution engine and send it to the first execution engine, and to send the environmental information to the second execution engine; The second execution engine is used to control the simulator to perform scene rendering based on the environmental information; wherein, the second execution engine adopts all the functions of the execution engine in the target scene description language toolchain except for the target vehicle control; The first execution engine is used to perform simulation testing on the autonomous driving system based on the vehicle information and the scene rendered in the simulator.

7. The system as described in claim 6, characterized in that, When the first execution engine detects a preset test termination condition, it is also used to control the autonomous driving system, the second execution engine, and the simulator to stop running and restore the simulator to its initial state.

8. The system as described in claim 6 or 7, characterized in that, The object splitting module is used to split the scene information into vehicle information and environmental information, including: The object splitting module extracts the vehicle information from the scene information; The object splitting module removes the vehicle information from the scene information to obtain the environment information.

9. A terminal device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the method as described in any one of claims 1 to 5.

10. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • Simulation test method and device, electronic equipment and storage medium

    CN113687600A