Autonomous driving simulation test system, method, device and storage medium
By using a lightweight autonomous driving simulation testing system, which combines virtual modules and simulation core modules to simulate vehicle control processes, the system solves the problems of complexity and high hardware requirements of existing platforms, and achieves flexible and efficient testing of autonomous driving systems.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHANGHAI WESTWELL INFORMATION & TECH CO LTD
- Filing Date
- 2022-12-06
- Publication Date
- 2026-05-05
AI Technical Summary
Existing autonomous driving simulation platforms are complex to use, have high hardware requirements, rigid simulation environment settings, are difficult to adjust flexibly, and are difficult to efficiently identify the specific aspects in which technical problems occur.
This paper presents a lightweight and flexible autonomous driving simulation test system. By combining virtual module components and simulation core modules, it simulates the vehicle control process, obtains the state information of the simulation model, evaluates the test results, and supports the testing of some functional modules of the autonomous driving system.
It enables efficient testing of one or more functional modules of an autonomous driving system without requiring testing the entire system, thereby improving testing efficiency, reducing costs, and adapting to various testing needs.
Smart Images

Figure CN115981271B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of vehicle testing technology, and in particular to an autonomous driving simulation testing system, method, equipment, and storage medium. Background Technology
[0002] In the field of autonomous driving, environmental perception, vehicle control, path planning, and other technologies all require extensive algorithmic support. Algorithm development is inherently an iterative process. When algorithms are still immature, a simulation environment capable of providing performance testing is essential to support the functional and performance development of autonomous vehicles, as well as to ensure the safety and stability of the autonomous driving system. This environment is crucial before the algorithm is deployed in real-world vehicles. A high-quality simulator can help identify problems in algorithm development before implementation in real vehicles, improving development efficiency and saving unnecessary testing costs.
[0003] Most existing autonomous driving simulation platforms on the market are designed for civilian vehicle road use scenarios. They often provide physics engines, high-precision maps, and visualized virtual environments, and can be connected to various vehicle autonomous driving systems (such as ADAS systems) for simulation. However, such simulators have the following problems: the entire simulator is very complex to use, specifically in terms of high hardware requirements; the related algorithm logic of the simulation environment is relatively complex, and since it is connected to the entire autonomous driving system, it is difficult to efficiently identify whether the technical problem occurs in the simulator or in a specific part of the system when problems are encountered during testing; and the conditions of the simulator are relatively rigid and cannot be flexibly adjusted for different testing needs.
[0004] It should be noted that the information disclosed in the background section above is only used to enhance the understanding of the background of the present invention, and therefore may include information that does not constitute prior art known to those skilled in the art. Summary of the Invention
[0005] To address the problems in the prior art, the present invention aims to provide an autonomous driving simulation testing system, method, device, and storage medium. Through a lightweight and flexible autonomous driving simulation testing system, the testing method can be flexibly adjusted according to testing requirements.
[0006] This invention provides an autonomous driving simulation testing method, comprising the following steps:
[0007] The virtual module component includes multiple virtual modules, each virtual module corresponding to a functional module of the autonomous driving system under test.
[0008] The virtual control module is used to combine a specified virtual module in the virtual module component with the functional module under test of the autonomous driving system under test, simulate the control flow of the autonomous driving system under test, and obtain the vehicle control commands output by the specified virtual module and / or the functional module under test.
[0009] The simulation core module is used to receive externally input simulation data and vehicle control commands, update the simulation model, and publish the state information observed from the simulation model.
[0010] In some embodiments, the simulation model includes a vehicle model, an object model, and a traffic signal model;
[0011] The core simulation module includes:
[0012] The vehicle model management unit is used to receive externally input simulation data and vehicle control commands, and to update the vehicle model.
[0013] The object model management unit is used to receive externally input simulation data and update the object model.
[0014] The traffic signal model management unit is used to receive externally input simulation data and update the traffic signal model.
[0015] In some embodiments, the simulation data includes one or more of simulation control commands, vehicle trajectory data, object trajectory data, and environmental change data.
[0016] In some embodiments, the simulation core module includes:
[0017] The vehicle state observer is used to observe and publish the state information of the vehicle model;
[0018] Point cloud observer, used to observe and publish point cloud data;
[0019] The positioning observer is used to observe and publish the positioning information of the vehicle model;
[0020] An object observer is used to observe and publish object information about an object model.
[0021] In some embodiments, each virtual module in the virtual module component is provided with an enable control switch, and the virtual control module enables the selection of a specified virtual module to participate in the simulation by controlling the enable control switch of the specified virtual module.
[0022] In some embodiments, the designated virtual module is combined with the functional module under test of the autonomous driving system to obtain all the modules required for the control flow of the autonomous driving system. The designated virtual module and the functional module under test correspond to each node of the control flow of the autonomous driving system.
[0023] In some embodiments, the virtual control module is used to combine a specified virtual module with the functional module under test of the autonomous driving system under test. When simulating the control function of the autonomous driving system under test, the virtual control module controls the data flow direction of the specified virtual module and the functional module under test according to the control flow of the autonomous driving system. For each module, the output data of the module corresponding to the previous node is used as the input data of the current module, and the input data of the current module is output to the module corresponding to the next node. The output data of the module corresponding to the last node of the control flow is used as the vehicle control command.
[0024] In some embodiments, the virtual control module is configured as follows:
[0025] If the module corresponding to the last node of the control flow is a designated virtual module, the output data of the designated virtual module corresponding to the last node is obtained as the vehicle control command.
[0026] If the module corresponding to the last node of the control flow is a functional module under test, the output data of the functional module under test corresponding to the last node is obtained from the autonomous driving system under test as the vehicle control command.
[0027] In some embodiments, a test evaluation module is further included, which is used to generate test evaluation results based on the state information observed from the simulation model published by the simulation core module and preset test evaluation indicators.
[0028] This invention also provides an autonomous driving simulation testing method, which uses the aforementioned autonomous driving simulation testing system. The method includes the following steps:
[0029] In each simulation cycle, the virtual control module combines the specified virtual module in the virtual module component with the tested functional module of the autonomous driving system under test to simulate the control flow of the autonomous driving system under test.
[0030] The virtual control module sends the vehicle control commands acquired during the simulation control process to the simulation core module;
[0031] The simulation core module acquires externally input simulation data and vehicle control commands, updates the simulation model, and publishes the state information observed from the simulation model.
[0032] In some embodiments, the virtual control module combines a specified virtual module in the virtual module component with the functional module under test of the autonomous driving system under test to simulate the control flow of the autonomous driving system under test, including the following steps:
[0033] The virtual control module controls the data flow direction of the specified virtual module and the functional module under test according to the control process of the autonomous driving system. For each module, the output data of the module corresponding to the previous node is used as the input data of the current module, and the input data of the current module is output to the module corresponding to the next node.
[0034] The virtual control module uses the output data of the module corresponding to the last node of the control process as the vehicle control command.
[0035] In some embodiments, before the virtual control module combines the specified virtual module in the virtual module component with the functional module under test of the autonomous driving system under test, the following steps are further included:
[0036] The virtual module component will enable the control module of the selected virtual module.
[0037] In some embodiments, before the virtual module component enables the control module of the selected virtual module, the following steps are further included:
[0038] The virtual modules corresponding to the functional modules of the autonomous driving system under test are determined according to the type of the autonomous driving system under test, and are used as alternative virtual modules;
[0039] Based on the tested functional module of the autonomous driving system under test, a virtual module corresponding to the non-tested functional module is selected from the candidate virtual modules as the designated virtual module.
[0040] This invention also provides an autonomous driving simulation device, comprising:
[0041] processor;
[0042] A memory in which executable instructions of the processor are stored;
[0043] The processor is configured to execute the steps of the autonomous driving simulation test method by executing the executable instructions.
[0044] This invention also provides a computer-readable storage medium for storing a program, which, when executed by a processor, implements the steps of the autonomous driving simulation test method.
[0045] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure.
[0046] The autonomous driving simulation testing system, method, equipment, and storage medium of the present invention have the following beneficial effects:
[0047] By employing this invention, a simulator is obtained by combining virtual module components and a simulation core module. A virtual control module controls the combination of the virtual module components with the functional modules under test in an autonomous driving system, simulating the vehicle control process. The simulation core module updates the simulation model based on vehicle control commands, and the test results can be evaluated by acquiring the observation state information published by the simulation core module. This allows for the testing of one or more functional modules of the autonomous driving system without having to test the entire system each time. This simulator is lightweight and flexible, and can be applied to various testing needs. Attached Figure Description
[0048] Other features, objects, and advantages of the invention will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings.
[0049] Figure 1 This is a schematic diagram of the structure of an autonomous driving simulation test system according to an embodiment of the present invention;
[0050] Figure 2 This is a schematic diagram of a simulator according to a specific embodiment of the present invention;
[0051] Figure 3 This is a flowchart of an embodiment of the autonomous driving simulation test method of the present invention;
[0052] Figure 4 This is a flowchart illustrating the selection of a specified virtual module according to an embodiment of the present invention;
[0053] Figure 5 This is a schematic diagram of the structure of an autonomous driving simulation device according to an embodiment of the present invention;
[0054] Figure 6 This is a schematic diagram of the structure of a computer-readable storage medium according to an embodiment of the present invention. Detailed Implementation
[0055] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, these exemplary embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein; rather, they are provided so that this disclosure will be more comprehensive and complete, and will fully convey the concept of the exemplary embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0056] Furthermore, the accompanying drawings are merely illustrative of this disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and therefore repeated descriptions of them will be omitted. Some block diagrams shown in the drawings are functional entities and do not necessarily correspond to physically or logically independent entities. These functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.
[0057] The flowchart shown in the attached diagram is merely an illustrative example and does not necessarily include all steps. For example, some steps may be broken down, while others may be combined or partially combined. Therefore, the actual execution order may change depending on the specific circumstances.
[0058] like Figure 1 As shown, an embodiment of the present invention provides an autonomous driving simulation test system, comprising:
[0059] The virtual module component M100 includes multiple virtual modules, each corresponding to a functional module of the autonomous driving system under test. Therefore, each virtual module simulates the functions implemented by the functional modules of the autonomous driving system under test. When only some functional modules of the autonomous driving system are selected for testing, the functions of other functional modules not included in the test can be executed by the corresponding virtual modules. The relationship between the virtual modules and the functional modules of the autonomous driving system can be one-to-one, many-to-one, one-to-many, or many-to-many. For example, multiple virtual modules can jointly implement the function of a certain functional module of the autonomous driving system.
[0060] The virtual control module M200 is used to combine a specified virtual module in the virtual module component with the function module under test of the autonomous driving system under test, simulate the control flow of the autonomous driving system under test, and obtain the vehicle control commands output by the specified virtual module and / or the function module under test.
[0061] The simulation core module M300 is used to receive externally input simulation data and vehicle control commands, update the simulation model, and publish the state information observed from the simulation model. The simulation core module M300 is equivalent to a simulation world containing simulation models to simulate situations that occur when the vehicle is actually driven, and observes the state information through an observer. The simulation data received by the simulation core module M300 can be transmitted from external devices via a network or input through a preset script. The vehicle control commands received by the simulation core module M300 can be vehicle control commands output by a specified virtual module in the virtual module component and / or the tested functional module of the autonomous driving system under test.
[0062] The simulator is composed of a virtual module component M100 and a simulation core module M300. A virtual control module M200 controls the virtual module component M100 to combine with the functional modules under test (DUT) of the autonomous driving system, simulating the vehicle control process. The simulation core module M300 updates the simulation model based on vehicle control commands. By acquiring the observation status information published by the simulation core module M300, the test results can be evaluated. This allows for the testing of one or more DUT functional modules of the autonomous driving system without having to test the entire system each time. This simulator is lightweight and flexible, and can be applied to various testing needs.
[0063] In this embodiment, the functional module of the autonomous vehicle under test refers to a module that implements a specific function. For example, the functional module may include a path generation module, an interaction module, a control module, a perception module, a planning and control module, etc. Correspondingly, the virtual modules in the virtual module component M100 may include a virtual path generation module, a virtual interaction module, a virtual control module, a virtual perception module, a virtual planning and control module, etc. For example, when testing the path generation module, the path generation module of the autonomous driving system is combined with the virtual interaction module, virtual control module, virtual perception module, virtual planning and control module, etc., to jointly realize a complete autonomous driving control process. When testing the planning and control module, the planning and control module of the autonomous driving system is combined with the virtual path generation module, virtual interaction module, virtual control module, and virtual perception module to jointly realize a complete autonomous driving control process. Therefore, by using the simulator of this invention, one or more modules of an autonomous driving system can be freely intervened, and different scenarios and different vehicle models can be selected to equip the autonomous driving system. Additional functions required for testing can also be added to easily and efficiently complete the testing of the corresponding algorithm development work of the functional module under test.
[0064] Figure 2 The structure of a simulator according to a specific embodiment of the present invention is shown. In this embodiment, the simulator includes a simulation core module and virtual module components. The simulator employs a framework with a distributed communication mechanism to support information interaction with an autonomous driving system.
[0065] The simulation core module serves as the core of the simulator. It handles the functions required for simulation in a conventional sense, creating a simulated world internally. The core module primarily updates the vehicle, other objects, and the simulation environment based on received vehicle control commands and simulation data. It then publishes relevant state information observed by an observer, providing it to the autonomous driving system or for external observation. Figure 2As shown, the simulation model includes a vehicle model, an object model, and a traffic signal model. The vehicle model is used to simulate vehicle movement. The object model is used to simulate the position, movement, and state of objects other than vehicles. In this invention, objects refer to objects other than vehicles, including but not limited to other vehicles, pedestrians, rocks, fences, etc. The traffic signal model is used to simulate changes in traffic lights.
[0066] Correspondingly, the simulation core module includes: a vehicle model management unit, used to receive externally input simulation data and vehicle control commands, and update the vehicle model; an object model management unit, used to receive externally input simulation data, and update the object model; and a traffic signal model management unit, used to receive externally input simulation data, and update the traffic signal model. The traffic signal model can perform time-series simulation of traffic signals according to pre-set traffic signal rules, or it can extract new traffic signal rules from external simulation data and perform time-series simulation of traffic signals based on these new rules. Vehicle control commands include, for example, braking commands, acceleration commands, steering commands, and deceleration commands generated by the autonomous driving system or the virtual module. The simulation data includes, for example, one or more of the following: simulation control commands, vehicle trajectory data, object trajectory data, and environmental change data. Simulation control commands include, for example, simulation start commands, simulation pause commands, and vehicle stop commands. Environmental change data can include, for example, adding a competitor vehicle into the simulation world and modifying traffic signal rules. The simulation data can be manually input or added to the simulation world by writing scripts.
[0067] In this embodiment, the simulation core module further includes multiple observers to observe the state data within the simulated world. The observers include:
[0068] The vehicle state observer is used to observe and publish the state information of the vehicle model, which includes, for example, the speed, acceleration, and odometer data of the simulated vehicle during its movement.
[0069] Point cloud observers are used to observe and publish point cloud data, such as point cloud data collected by lidar during the simulation of a vehicle's movement.
[0070] The positioning observer is used to observe and publish the positioning information of the vehicle model. The positioning information may include the vehicle's position coordinates in one or more preset coordinate systems.
[0071] An object observer is used to observe and publish object information of an object model. Object information includes, for example, the position, size, and type of static objects, and the position, size, type, speed, and trajectory of dynamic objects.
[0072] In this embodiment, only a few examples of simulation models and observers are provided as examples. In other embodiments, other types of simulation models can be used to simulate other states, and other types of observers can be used to observe other required state data.
[0073] In this embodiment, each virtual module in the virtual module component is equipped with an enable control switch. The virtual control module selects the designated virtual module to participate in the simulation by enabling the enable control switch of the designated virtual module. For designated virtual modules that do not need to participate in the simulation, the enable control switch is set to off. For example, when testing the path generation module, the path generation module of the autonomous driving system is combined with the virtual interaction module, virtual control module, virtual perception module, and virtual planning control module to jointly realize a complete autonomous driving control process. In this case, the enable control switches of the corresponding virtual interaction module, virtual control module, virtual perception module, and virtual planning control module need to be set to on, and the enable control switch of the virtual path generation module needs to be set to off. When multiple models of autonomous driving system functional modules are deployed in the virtual module component, the required virtual module corresponding to the autonomous driving system under test is enabled, while the virtual modules corresponding to other models of autonomous driving systems are set to off. Each virtual module in the virtual module component can be implemented as a virtual server, virtual client, or virtual processor. For example, a positioning server can simulate the function of a positioning module, an emergency stop server can simulate the function of an emergency stop module, a gear control server can simulate the function of a gear control module, and a planning server, planning processor, and control processor can simulate a planning and control module. These virtual servers, virtual clients, or virtual processors can replace the most basic functions of a module in an autonomous driving system and output standardized or ideal results. Such virtual modules do not affect the test results when replacing unnecessary functional modules of an autonomous driving system, allowing developers to focus on the testing performance of the functional module under test, significantly improving testing efficiency and reducing testing costs. Figure 2 The examples shown are only a few illustrative examples of servers and clients / processors. In practical applications, different virtual modules can be added according to different testing needs.
[0074] In this embodiment, the overall architecture and performance of the simulator can be adjusted based on the initially provided parameters. For example, different models of autonomous driving systems can be selected to apply different planning and control strategies, different types of objects can be added to the virtual world, virtual modules that need to intervene can be selected to take over some functions of the autonomous driving system, and key parameters can be adjusted to improve the robustness of the test system. In addition, some additional functions that facilitate performance testing can be deployed in the simulator. For example, accelerators that speed up virtual world time, and performance evaluation tools for generating graphs and reports for performance testing.
[0075] Therefore, in this embodiment, the simulation core module further includes a time accelerator for controlling the simulation time speed of each simulation model within the simulation core module. By adjusting the simulation time speed of the time accelerator, the efficiency of simulation testing can be improved, allowing for more simulation tests to be performed within a limited time. The autonomous driving simulation testing system also includes a test evaluation module for generating test evaluation results based on the state information observed from the simulation model published by the simulation core module and preset test evaluation indicators. These test evaluation results can indicate whether a test has passed or failed. For example, the preset test evaluation indicators include normal range values for multiple state parameters; if the observed state parameter values are all within their corresponding normal range values, the test passes; otherwise, the test fails. These test evaluation results can also be a performance rating of the autonomous driving system or the creation of necessary charts, etc.
[0076] In this embodiment, the designated virtual module is combined with the tested functional module of the autonomous driving system to obtain all the modules required for the control flow of the autonomous driving system. The designated virtual module and the tested functional module correspond to each node of the control flow of the autonomous driving system. The virtual control module is used to combine the designated virtual module with the tested functional module of the autonomous driving system. When simulating the control function of the autonomous driving system, it controls the data flow direction of the designated virtual module and the tested functional module according to the control flow of the autonomous driving system. For each module, the output data of the module corresponding to the previous node is used as the input data of the current module, and the input data of the current module is output to the module corresponding to the next node. The output data of the module corresponding to the last node of the control flow is used as the vehicle control command. For example, the control flow includes an interaction node, a path generation node, and a planning control node. Each node corresponds to the interaction module, the path generation module, and the planning control module, respectively. The output data of the interaction module corresponding to the interaction node is input to the path generation module corresponding to the path generation node, and the output data of the path generation module corresponding to the path generation node is input to the planning control module corresponding to the planning control node.
[0077] In this embodiment, the virtual control module is configured as follows:
[0078] If the module corresponding to the last node of the control flow is a designated virtual module, the output data of the designated virtual module corresponding to the last node is obtained as the vehicle control command.
[0079] If the module corresponding to the last node of the control flow is a functional module under test, the output data of the functional module under test corresponding to the last node is obtained from the autonomous driving system under test as the vehicle control command.
[0080] Taking the control flow above, which includes interaction nodes, path generation nodes, and planning control nodes, as an example, during testing, the tested functional modules are the interaction module and the path generation module, which are then combined with the virtual planning control module. After the simulator starts, within each set simulation cycle, the interaction module and the path generation module of the autonomous vehicle work, obtaining the path instructions input by the path generation module. The virtual planning control module inside the simulator completes the most standard path planning and control calculation based on the path instructions and issues planning and control instructions to the simulation core module. The simulation core module then performs simulation, updating and iterating the internal simulation model based on the planning and control instructions. Finally, after observation through multiple observers, the observed state information is published to the information interaction platform so that the autonomous driving system and the virtual module inside the simulator can receive and process it. Therefore, in this example, the vehicle control instructions are obtained from the virtual module component.
[0081] In another example, if the module under test is a planning and control module, it is combined with a virtual interaction module and a virtual path generation module. After the simulator starts, within each set simulation cycle, the virtual interaction module and the virtual path generation module output path instructions to the external autonomous driving system. Then, the planning and control instructions output by the autonomous driving system's planning and control module are sent to the simulation core module, which performs the simulation. Therefore, in this example, the vehicle control instructions are obtained from the autonomous driving system, not from the virtual module components.
[0082] like Figure 3 As shown, this embodiment of the invention also provides an autonomous driving simulation testing method, which uses the aforementioned autonomous driving simulation testing system. The method includes the following steps:
[0083] S100: In each simulation cycle, the virtual control module combines the specified virtual module in the virtual module component with the tested functional module of the autonomous driving system under test to simulate the control flow of the autonomous driving system under test.
[0084] S200: The virtual control module sends the vehicle control command obtained during the simulation control process to the simulation core module; the vehicle control command is the output data of the module corresponding to the last node of the simulation control process. The module corresponding to the last node may be a virtual module or a functional module, depending on the type of the functional module being tested.
[0085] S300: The simulation core module acquires externally input simulation data and vehicle control commands, updates the simulation model, and publishes the state information observed from the simulation model.
[0086] After the simulation core module publishes the state information observed from the simulation model, the autonomous driving simulation test method further includes: the virtual control module inputs the state information into the corresponding virtual module of the autonomous driving system and the virtual module component, and then continues to step S100, that is, continues to perform the test for the next simulation cycle.
[0087] In this embodiment, step S100: the virtual control module combines the specified virtual module in the virtual module component with the functional module under test of the autonomous driving system under test to simulate the control flow of the autonomous driving system under test, including the following steps:
[0088] The virtual control module controls the data flow direction of the specified virtual module and the functional module under test according to the control process of the autonomous driving system. For each module, the output data of the module corresponding to the previous node is used as the input data of the current module, and the input data of the current module is output to the module corresponding to the next node.
[0089] The virtual control module uses the output data of the module corresponding to the last node of the control process as the vehicle control command.
[0090] like Figure 4 As shown, in this embodiment, before step S100: the virtual control module combines the specified virtual module in the virtual module component with the tested functional module of the autonomous driving system under test, the following steps are also included:
[0091] S030: The virtual module component enables the control module of the selected virtual module. For designated virtual modules that do not need to participate in the simulation, the enable control switch is set to off. For example, when testing the path generation module, the path generation module of the autonomous driving system is combined with the virtual interaction module, virtual control module, virtual perception module, and virtual planning control module to jointly realize a complete autonomous driving control process. In this case, the enable control switches of the corresponding virtual interaction module, virtual control module, virtual perception module, and virtual planning control module need to be set to on, and the enable control switch of the virtual path generation module needs to be set to off. When multiple models of autonomous driving system functional modules are deployed in the virtual module component, the required virtual module corresponding to the autonomous driving system under test is enabled, while the virtual modules corresponding to other models of autonomous driving systems are set to off.
[0092] like Figure 4 As shown, in this embodiment, before the virtual module component sets the control module of the selected virtual module to enable, step S030 further includes the following steps:
[0093] S010: Determine the virtual modules corresponding to the functional modules of the autonomous driving system under test based on the type of the autonomous driving system under test, and use them as alternative virtual modules;
[0094] S020: Based on the tested functional module of the autonomous driving system under test, select the virtual module corresponding to the non-tested functional module from the candidate virtual modules and use it as the selected designated virtual module.
[0095] This invention also provides an autonomous driving simulation device, including a processor; a memory storing executable instructions of the processor; wherein the processor is configured to execute the steps of the autonomous driving simulation test method by executing the executable instructions.
[0096] Those skilled in the art will understand that various aspects of the present invention can be implemented as systems, methods, or program products. Therefore, various aspects of the present invention can be specifically implemented in the following forms: a completely hardware implementation, a completely software implementation (including firmware, microcode, etc.), or a combination of hardware and software aspects, collectively referred to herein as a "circuit," "module," or "platform."
[0097] The following reference Figure 5 To describe an electronic device 600 according to this embodiment of the present invention. Figure 5 The electronic device 600 shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of the present invention.
[0098] like Figure 5 As shown, the electronic device 600 is presented in the form of a general-purpose computing device. The components of the electronic device 600 may include, but are not limited to: at least one processing unit 610, at least one storage unit 620, a bus 630 connecting different system components (including storage unit 620 and processing unit 610), a display unit 640, etc.
[0099] The storage unit stores program code that can be executed by the processing unit 610, causing the processing unit 610 to perform the steps described in the above-described autonomous driving simulation test method section of this specification, according to various exemplary embodiments of the present invention. For example, the processing unit 610 can perform, as follows: Figure 1 The steps are shown in the figure.
[0100] The storage unit 620 may include a readable medium in the form of a volatile storage unit, such as a random access memory unit (RAM) 6201 and / or a cache storage unit 6202, and may further include a read-only memory unit (ROM) 6203.
[0101] The storage unit 620 may also include a program / utility 6204 having a set (at least one) program module 6205, such program module 6205 including but not limited to: an operating system, one or more application programs, other program modules and program data, each or some combination of these examples may include an implementation of a network environment.
[0102] Bus 630 can represent one or more of several types of bus structures, including a memory cell bus or memory cell controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local bus using any of the various bus structures.
[0103] Electronic device 600 can also communicate with one or more external devices 700 (e.g., keyboard, pointing device, Bluetooth device, etc.), and with one or more devices that enable a user to interact with electronic device 600, and / or with any device that enables electronic device 600 to communicate with one or more other computing devices (e.g., router, modem, etc.). This communication can be performed via input / output (I / O) interface 650. Furthermore, electronic device 600 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 660. Network adapter 660 can communicate with other modules of electronic device 600 via bus 630. It should be understood that, although not shown in the figures, other hardware and / or software modules can be used in conjunction with electronic device 600, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0104] In the autonomous driving simulation device, when the program in the memory is executed by the processor, it implements the steps of the autonomous driving simulation test method. Therefore, the device can also achieve the technical effects of the above-mentioned autonomous driving simulation test method.
[0105] This invention also provides a computer-readable storage medium for storing a program that, when executed by a processor, implements the steps of the autonomous driving simulation test method. In some possible implementations, various aspects of the invention can also be implemented as a program product comprising program code that, when executed on a terminal device, causes the terminal device to perform the steps described in the above-described autonomous driving simulation test method section of this specification according to various exemplary embodiments of the invention.
[0106] refer to Figure 6 As shown, a program product 800 for implementing the above-described method according to an embodiment of the present invention is described. It may employ a portable compact disc read-only memory (CD-ROM) and include program code, and may be executed on a terminal device, such as a personal computer. However, the program product of the present invention is not limited thereto. In this document, the readable storage medium may be any tangible medium containing or storing a program that may be used by or in conjunction with an instruction execution system, apparatus, or device.
[0107] The program product may employ any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0108] The computer-readable storage medium may include data signals propagated in baseband or as part of a carrier wave, carrying readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. The readable storage medium may also be any readable medium other than a readable storage medium, capable of transmitting, propagating, or transmitting programs for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the readable storage medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination thereof.
[0109] Program code for performing the operations of this invention can be written in any combination of one or more programming languages, including object-oriented programming languages such as Java and C++, and conventional procedural programming languages such as C or similar languages. The program code can execute entirely on the user's computing device, partially on the user's device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0110] When the program in the computer storage medium is executed by the processor, it implements the steps of the autonomous driving simulation test method. Therefore, the computer storage medium can also achieve the technical effects of the above-mentioned autonomous driving simulation test method.
[0111] The above description, in conjunction with specific preferred embodiments, provides a further detailed explanation of the present invention. It should not be construed that the specific implementation of the present invention is limited to these descriptions. For those skilled in the art, various simple deductions or substitutions can be made without departing from the concept of the present invention, and all such modifications and substitutions should be considered within the scope of protection of the present invention.
Claims
1. An autonomous driving simulation testing system, characterized in that, include: The virtual module component includes multiple virtual modules, each virtual module corresponding to a functional module of the autonomous driving system under test. A virtual control module is used to combine a designated virtual module in the virtual module component with the functional module under test of the autonomous driving system to obtain all the modules required for the control flow of the autonomous driving system. The designated virtual module and the functional module under test correspond to each node of the control flow of the autonomous driving system. The module simulates the control flow of the autonomous driving system under test and controls the data flow direction of the designated virtual module and the functional module under test according to the control flow of the autonomous driving system. For each module, the output data of the module corresponding to the previous node is used as the input data of the current module, and the input data of the current module is output to the module corresponding to the next node. The output data of the module corresponding to the last node of the control flow is used as the vehicle control command. The module obtains the vehicle control command output by the designated virtual module and / or the functional module under test. Each virtual module is provided with an enable control switch. The virtual control module enables the designated virtual module participating in the simulation by controlling the enable control switch of the designated virtual module. During the test, the enable control switch of the virtual module with the same function as the functional module under test is set to off. The simulation core module is used to receive externally input simulation data and vehicle control commands, update the simulation model, and publish the state information observed from the simulation model. The simulation core module also includes a time accelerator, which is used to control the simulation time speed of each simulation model in the simulation core module.
2. The autonomous driving simulation testing system according to claim 1, characterized in that, The simulation model includes a vehicle model, an object model, and a traffic signal model; The core simulation module includes: The vehicle model management unit is used to receive externally input simulation data and vehicle control commands, and to update the vehicle model. The object model management unit is used to receive externally input simulation data and update the object model. The traffic signal model management unit is used to receive externally input simulation data and update the traffic signal model.
3. The autonomous driving simulation testing system according to claim 2, characterized in that, The simulation data includes one or more of the following: simulation control commands, vehicle trajectory data, object trajectory data, and environmental change data.
4. The autonomous driving simulation testing system according to claim 1, characterized in that, The core simulation module includes: The vehicle state observer is used to observe and publish the state information of the vehicle model; Point cloud observer, used to observe and publish point cloud data; The positioning observer is used to observe and publish the positioning information of the vehicle model; An object observer is used to observe and publish object information about an object model.
5. The autonomous driving simulation testing system according to claim 1, characterized in that, The virtual control module is configured as follows: If the module corresponding to the last node of the control flow is a designated virtual module, the output data of the designated virtual module corresponding to the last node is obtained as the vehicle control command. If the module corresponding to the last node of the control flow is a functional module under test, the output data of the functional module under test corresponding to the last node is obtained from the autonomous driving system under test as the vehicle control command.
6. The autonomous driving simulation testing system according to claim 1, characterized in that, It also includes a test evaluation module, which generates test evaluation results based on the state information observed from the simulation model published by the simulation core module and preset test evaluation indicators.
7. An autonomous driving simulation testing method, characterized in that, The autonomous driving simulation test system according to any one of claims 1 to 6, the method comprising the following steps: In each simulation cycle, the virtual control module combines the specified virtual module in the virtual module component with the tested functional module of the autonomous driving system under test to simulate the control flow of the autonomous driving system under test. The virtual control module sends the vehicle control commands acquired during the simulation control process to the simulation core module; The simulation core module acquires externally input simulation data and vehicle control commands, updates the simulation model, and publishes the state information observed from the simulation model. The virtual control module combines a specified virtual module in the virtual module component with the functional module under test of the autonomous driving system under test to simulate the control flow of the autonomous driving system under test, including the following steps: The virtual control module controls the data flow direction of the specified virtual module and the functional module under test according to the control process of the autonomous driving system. For each module, the output data of the module corresponding to the previous node is used as the input data of the current module, and the input data of the current module is output to the module corresponding to the next node. The virtual control module uses the output data of the module corresponding to the last node of the control process as the vehicle control command.
8. The autonomous driving simulation testing method according to claim 7, characterized in that, Before the virtual control module combines the specified virtual module in the virtual module component with the functional module under test of the autonomous driving system under test, the following steps are also included: The virtual module component will enable the control module of the selected virtual module.
9. The autonomous driving simulation testing method according to claim 7, characterized in that, Before the virtual module component enables the control module of the selected virtual module, the following steps are also included: The virtual modules corresponding to the functional modules of the autonomous driving system under test are determined according to the type of the autonomous driving system under test, and are used as alternative virtual modules; Based on the tested functional module of the autonomous driving system under test, a virtual module corresponding to the non-tested functional module is selected from the candidate virtual modules as the designated virtual module.
10. An autonomous driving simulation device, characterized in that, include: processor; A memory in which executable instructions of the processor are stored; The processor is configured to execute the steps of the autonomous driving simulation test method according to any one of claims 7 to 9 by executing the executable instructions.
11. A computer-readable storage medium for storing a program, characterized in that, When the program is executed by the processor, it implements the steps of the autonomous driving simulation test method according to any one of claims 7 to 9.
Citation Information
Patent Citations
Simulation test method of numerical control system functional module
CN102541725A
Simulation test system and method for automatic driving
CN115016323A