An unmanned simulation device and an automated testing method
By using a full-stack simulation testing method based on an autonomous driving simulation device, the problem of low simulation testing efficiency in different development environments and languages was solved, and efficient optimization of autonomous driving algorithms and safety verification were achieved.
Patent Information
- Application Number
- CN202211079100.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-05
- Publication Date
- 2026-02-10
- Estimated Expiration
- 2042-09-05
AI Technical Summary
In existing autonomous driving algorithm simulation testing, the differences in various development environments and programming languages lead to low simulation testing efficiency and a lack of full-stack simulation testing capabilities, making it difficult to cover all scenario sets.
An unmanned driving simulation device is used, including a test management module, a Prescan model module, a Simulink model module, a ROS algorithm module, and a cloud control platform module. Simulation scenarios are generated through orthogonal experimental design to achieve full-stack simulation testing. Vehicle operation commands are generated through data conversion and parsing by the Simulink model module and the ROS algorithm module.
We have achieved full-stack simulation testing of autonomous driving algorithms, which has improved testing efficiency, shortened scenario testing time, enabled rapid optimization and iteration of algorithms, and ensured the safety and reliability of autonomous driving systems.
Smart Images

Figure CN115454843B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to the field of unmanned simulation, and in particular, to an unmanned device, an unmanned automated testing method, an electronic device, and a storage medium. BACKGROUND
[0002] A large amount of data testing is required for an autonomous vehicle before it is formally applied to ensure the safety of autonomous driving. Currently, about 90% of autonomous driving algorithm testing is completed through a simulation platform, 9% is completed in a test field, and 1% is completed through actual road testing. With the improvement of simulation technology level and the popularization of application, the simulation platform will bear more and more testing, and simulation testing has gradually become the main way of autonomous driving testing and verification. However, the existing control execution algorithm, as the core of traditional vehicle research, mainly relies on Matlab / Simulink tools for model-based development and simulation testing, while environment perception and planning decision algorithms are mostly developed and code-engineered using ROS (Robot Operating System) and other tools. The development stages of each algorithm are mostly carried out separately, and due to the differences in development environment and development language, the simulation testing of the entire unmanned algorithm is hindered. Existing related researches mostly focus on the joint simulation and verification of planning control algorithms, without scene perception data injection and cloud control data intervention, and cannot form a full-stack simulation test of unmanned algorithms.
[0003] In addition, a scene is a process of comprehensive interaction of a vehicle under test and static and dynamic elements in a simulation environment, and different scene sets are obtained by permutation and combination of various scene elements. In order to ensure the completeness of unmanned algorithm testing, all scene sets must be tested in theory. Therefore, how to accelerate the process of autonomous driving testing is a key problem.
[0004] Therefore, one or more methods are needed to solve the above problems.
[0005] It should be noted that the information disclosed in the above background section is only used to strengthen the understanding of the background of the present disclosure, and therefore can include information that does not constitute prior art known to those of ordinary skill in the art. SUMMARY
[0006] The purpose of the present disclosure is to provide an unmanned simulation method, device, electronic device, and computer readable storage medium, thereby at least partially overcoming one or more problems caused by the limitations and defects of the related art.
[0007] According to one aspect of the present disclosure, an unmanned simulation device is provided, comprising:
[0008] The test management module is used to generate orthogonal test tables based on test requirements through orthogonal experimental design, receive the assigned values of simulation model parameters through communication with the Prescan model module, complete the traversal of simulation scenarios and automated simulation testing, and generate test reports.
[0009] The Prescan model module is used to construct simulation scenarios based on Prescan software, assign values to simulation model parameters in the simulation scenarios, generate perception data, and realize the visualization simulation of vehicle status based on vehicle configuration simulation information from the Simulink model module.
[0010] The Simulink model module is used to generate vehicle state parameters based on vehicle configuration simulation information, and to convert, populate, and parse the vehicle state parameters, the perception data sent by the Prescan model module, and the control commands sent by the ROS algorithm module according to a preset protocol.
[0011] The ROS algorithm module is used to generate vehicle environment information from perception data, and to generate vehicle behavior decisions and local path planning based on the vehicle environment information. Based on the vehicle behavior decisions and local path planning, the vehicle's turning angle and speed are parsed to generate vehicle operation commands.
[0012] The cloud control platform module is used to receive autonomous driving task instructions and forward the autonomous driving task instructions to the ROS algorithm module, and generate and display vehicle status monitoring information and task progress.
[0013] In one exemplary embodiment of this disclosure, the test management module of the device further includes:
[0014] The test example module is used to generate an orthogonal test table based on test requirements through orthogonal experimental design, and send the orthogonal test table to the test script submodule.
[0015] The test script submodule is connected to the simulation scenario submodule of the Prescan model module based on the preset test management module API interface. It is used to receive the orthogonal test table containing test requirements sent by the test example module and the assignment of simulation model parameters sent by the simulation scenario submodule, so as to complete the traversal of the simulation scenario and automated simulation test.
[0016] The data monitoring submodule is used to collect and monitor the traversal of the simulation scenario and automated simulation testing of the test script submodule in real time, and generate test reports.
[0017] In one exemplary embodiment of this disclosure, the test example module in the test management module of the device is further configured to:
[0018] Based on the testing requirements, influencing factors for orthogonal experiments are selected, and these factors are divided into preset levels of influence. An orthogonal experiment table is then selected and determined.
[0019] The influence factors of the orthogonal experiment are mapped to the columns of the selected orthogonal experiment table to generate the orthogonal experiment design table Ln(m^k);
[0020] Where L is the orthogonal experimental table, n is the number of experiments, and n = (m-1)*k+1, k is the number of influencing factors in the orthogonal experiment, and m is the number of levels of each influencing factor in the orthogonal experiment;
[0021] The orthogonal test table is sent to the test script submodule.
[0022] In one exemplary embodiment of this disclosure, the Prescan model module of the device further includes:
[0023] The simulation scenario submodule is used to construct a simulation scenario based on Prescan software according to simulation requirements, assign values to the simulation model parameters in the simulation scenario, and send the assigned values of the simulation model parameters to the virtual sensor, the visualization submodule, and the test script submodule of the test management module.
[0024] A virtual sensor is used to receive the simulation model parameters sent by the simulation scene submodule and the vehicle state parameters sent by the vehicle model submodule of the Simulink model module. The virtual sensor generates perception data based on the preset virtual sensor and sends the perception data to the data processing submodule of the Simulink model module. The virtual sensor includes a lidar, a millimeter-wave radar, and a monocular / binocular camera.
[0025] The visualization submodule is used to visualize and simulate the vehicle state based on the vehicle configuration simulation information sent by the vehicle model submodule of the Simulink model module and the values of the simulation model parameters sent by the simulation scene submodule.
[0026] In one exemplary embodiment of this disclosure, the Simulink model module of the device further includes:
[0027] The vehicle model submodule is used to parameterize and assign values to each subsystem of the vehicle to generate vehicle configuration simulation information and generate vehicle state parameters.
[0028] The data processing submodule is used to receive vehicle status parameters sent by the vehicle model submodule, perception data sent by the virtual sensors of the Prescan model module, and control commands sent by the control execution submodule of the ROS algorithm module through the communication interface of the Simulink model module, and to convert, populate, and parse the vehicle status parameters, perception data, and control commands according to a preset protocol.
[0029] A communication interface is provided, which is used to realize data communication between the Simulink model module and the ROS algorithm module based on a preset communication interface.
[0030] In one exemplary embodiment of this disclosure, the ROS algorithm module of the device further includes:
[0031] An environmental perception submodule is used to receive perception data from the virtual sensors of the Prescan model module based on the communication interface of the Simulink model module, and to complete environmental perception and detection based on the perception data, generate vehicle environmental information and send it to the planning and decision-making submodule.
[0032] The decision planning submodule is used to receive vehicle environment information sent by the environment perception submodule, generate vehicle behavior decisions and local path planning based on the vehicle environment information, and send the vehicle behavior decisions and local path planning to the control execution submodule.
[0033] The control execution submodule is used to receive the vehicle behavior decision and local path planning, and based on the vehicle behavior decision and local path planning, parse the vehicle's turning angle and speed, and generate vehicle operation commands.
[0034] The single-vehicle cloud control submodule is used to establish data communication between the ROS algorithm module and the cloud control platform module, parse the instructions of the cloud control platform module, generate the vehicle operating status, and send it to the vehicle monitoring submodule of the cloud control platform module.
[0035] In one exemplary embodiment of this disclosure, the cloud control platform module of the device further includes:
[0036] The task management submodule is used to send unmanned driving task instructions to the vehicle monitoring submodule and the single-vehicle cloud control submodule of the ROS algorithm module based on a preset data format and a preset communication protocol. The preset data format includes JSON data format and XML data format, and the preset communication protocol includes MQTT communication protocol, WebSocket communication protocol and HTTPS communication protocol.
[0037] The vehicle monitoring submodule is used to receive vehicle operating status sent by the single-vehicle cloud control submodule of the ROS algorithm module and unmanned driving task instructions sent by the operation management submodule, and generate and display vehicle status monitoring information and task progress.
[0038] In one aspect of this disclosure, an automated testing method for unmanned driving based on an unmanned driving simulation device is provided, comprising:
[0039] The test case development steps are as follows: Based on the test management module, taking the influencing factors and factors represented by weather, number of lanes, number of lidar lines and speed as examples, an orthogonal experimental table is determined. Test cases are developed according to the test content of the orthogonal experimental table in a preset text format. The text format of the test cases is XLS, XML, TXT, or CSV.
[0040] The steps for establishing a parametric simulation model are as follows: Based on the Prescan model module, a parametric simulation scene and vehicle model are built. According to the test cases, the test cases for the steps are reserved with interfaces for reading and modifying weather, number of lanes, lidar and speed parameters, a preset simulation running time interface, and a preset readable and writable text file interface.
[0041] The communication interface configuration steps are as follows: Based on the Simulink model module, configure the feedback communication of vehicle speed and turning angle based on ROS communication; based on serial port communication, configure the integrated navigation communication; based on Ethernet communication, configure the LiDAR data communication; based on USB communication, configure the vision camera data communication; and based on CAN bus communication, configure the millimeter-wave radar communication.
[0042] The data processing steps, based on the Simulink model module, define communication protocols according to the communication method in the communication interface configuration steps, and populate and parse data members according to the communication protocol definition to ensure normal data interaction.
[0043] The simulation parameter configuration steps involve writing test scripts using MATLAB, reading XML test case files using the xmlread function, slicing and assigning variable values, and mapping variables to corresponding parameters in the Simulink model using the Data Model API to achieve automatic parameter assignment and test case traversal.
[0044] The simulation process involves a judgment step. Based on the preset evaluation indicators in the Prescan model module, the subjective evaluation indicators of whether the vehicle of the tested autonomous driving system crosses the line or collides with obstacles are used to measure the performance of the autonomous driving system in the autonomous driving simulation. Alternatively, objective indicators such as simulation time, TTC, lateral error, and speed error are selected for scoring. The autonomous driving simulation is judged to pass based on the scoring results. If the autonomous driving simulation passes, the simulation test is considered complete. If the autonomous driving simulation fails, the ROS algorithm optimization step is performed.
[0045] The ROS algorithm optimization steps involve iterating and optimizing the ROS algorithm based on the ROS algorithm module and the scoring results in the simulation pass determination step, and repeatedly executing the simulation pass determination step until the autonomous driving simulation passes.
[0046] The regression test case development steps involve the test management module selecting test items that failed the autonomous driving simulation based on the scoring results of the simulation pass / fail determination steps, and then writing regression test cases.
[0047] In one aspect of this disclosure, an electronic device is provided, comprising:
[0048] Processor; and
[0049] A memory storing computer-readable instructions that, when executed by the processor, implement the method according to any one of the preceding claims.
[0050] In one aspect of this disclosure, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the method according to any one of the preceding claims.
[0051] This disclosure includes an exemplary embodiment of an unmanned driving simulation device, an automated unmanned driving testing method, an electronic device, and a storage medium. The device comprises a test management module, a Prescan model module, a Simulink model module, a ROS algorithm module, and a cloud control platform module. This disclosure breaks down barriers between tools through full-stack simulation of the cloud control platform, ROS algorithm, and vehicle, enabling data flow interoperability and facilitating collaborative development. Automated simulation testing reduces scenario testing time, improves testing efficiency, and rapidly optimizes iterative algorithms.
[0052] 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. Attached Figure Description
[0053] The above and other features and advantages of this disclosure will become more apparent from the detailed description of exemplary embodiments thereof with reference to the accompanying drawings.
[0054] Figure 1 A schematic block diagram of an unmanned driving simulation device according to an exemplary embodiment of the present disclosure is shown;
[0055] Figures 2A-2B A flowchart of an autonomous driving simulation method according to an exemplary embodiment of the present disclosure is shown;
[0056] Figure 3 A block diagram of an electronic device according to an exemplary embodiment of the present disclosure is schematically shown; and
[0057] Figure 4 The illustration shows a schematic diagram of a computer-readable storage medium according to an exemplary embodiment of the present disclosure. Detailed Implementation
[0058] 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 embodiments set forth herein; rather, they are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the exemplary embodiments to those skilled in the art. The same reference numerals in the drawings denote the same or similar parts, and therefore repeated descriptions of them will be omitted.
[0059] Furthermore, the described features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. Numerous specific details are provided in the following description to give a thorough understanding of embodiments of this disclosure. However, those skilled in the art will recognize that the technical solutions of this disclosure can be practiced without one or more of the specific details described, or other methods, components, materials, apparatuses, steps, etc., can be employed. In other instances, well-known structures, methods, apparatuses, implementations, materials, or operations are not shown or described in detail to avoid obscuring various aspects of this disclosure.
[0060] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities can be implemented in software, or in one or more software-hardened modules, or in different network and / or processor devices and / or microcontroller devices.
[0061] In this example embodiment, an unmanned driving simulation device is first provided; Reference Figure 1 As shown, the unmanned driving simulation device includes:
[0062] The test management module 100 is used to generate orthogonal test tables based on test requirements through orthogonal experimental design, receive simulation model parameter assignments through communication with the Prescan model module 200, complete the traversal of simulation scenarios and automated simulation testing, and generate test reports.
[0063] In this example embodiment, the test management module 100 of the device further includes:
[0064] Test example module 110 is used to generate an orthogonal experimental table based on test requirements through orthogonal experimental design, and send the orthogonal experimental table to test script submodule 120.
[0065] The test script submodule 120 is connected to the simulation scenario submodule 210 of the Prescan model module 200 based on the API interface of the preset test management module 100. It is used to receive the orthogonal test table containing test requirements sent by the test example module 110 and the assignment of simulation model parameters sent by the simulation scenario submodule 210, so as to complete the traversal of the simulation scenario and automated simulation test.
[0066] The data monitoring submodule 130 is used to collect and monitor the traversal of the simulation scenario and automated simulation test of the test script submodule 120 in real time, and generate a test report.
[0067] In this example embodiment, the test example module 110 in the test management module 100 of the device is further used for:
[0068] Based on the testing requirements, influencing factors for orthogonal experiments are selected, and these factors are divided into preset levels of influence. An orthogonal experiment table is then selected and determined.
[0069] The influence factors of the orthogonal experiment are mapped to the columns of the selected orthogonal experiment table to generate the orthogonal experiment design table Ln(m^k);
[0070] Where L is the orthogonal experimental table, n is the number of experiments, and n = (m-1)*k+1, k is the number of influencing factors in the orthogonal experiment, and m is the number of levels of each influencing factor in the orthogonal experiment;
[0071] The orthogonal test table is sent to the test script submodule 120.
[0072] In this example embodiment, test management includes test cases, test scripts, and data records.
[0073] Test cases are formulated based on test requirements and can be in formats such as Excel or TXT. Considering the generalization of simulation scenario parameters and interaction relationships, in order to effectively and reasonably reduce the number of experiments, test cases are generated into orthogonal experimental tables through orthogonal experimental design based on test requirements. Test cases are formulated according to predetermined formats (XLS, XML, TXT, CSV) based on the test content determined by the orthogonal experimental tables.
[0074] Orthogonal experimental design is a design method for studying multi-factor, multi-level experiments. It selects representative points from a comprehensive experiment based on orthogonality, obtaining more information with a smaller number of trials to achieve the experimental objective. The specific design steps are as follows:
[0075] Test Scripts: Test scripts are written using MATLAB or Python based on test cases. They interact with the model by calling the DataModel API module, enabling text reading of test cases and assignment of simulation model parameters to achieve simulation scenario traversal and automated simulation testing. The DataModel API provides Prescan with a model parameter interface, allowing users to modify simulation scenarios, sensor and vehicle parameters to automate testing.
[0076] Data monitoring: The content of data monitoring can be configured as needed, collecting and recording relevant data in real time to provide conditions for judging and evaluating simulation test results. Based on the test results of automated testing and a customized report format, corresponding test reports are generated.
[0077] Prescan model module 200 is used to construct simulation scenarios based on Prescan software, assign values to simulation model parameters in the simulation scenarios, generate perception data, and realize the visualization simulation of vehicle status based on vehicle configuration simulation information from Simulink model module 300.
[0078] In this example embodiment, the Prescan model module 200 of the device further includes:
[0079] The simulation scene submodule 210 is used to construct a simulation scene based on the Prescan software according to the simulation requirements, assign values to the simulation model parameters in the simulation scene, and send the assigned values of the simulation model parameters to the virtual sensor 220, the visualization submodule 230, and the test script submodule 120 of the test management module 100.
[0080] A virtual sensor 220 is used to receive the assigned values of simulation model parameters sent by the simulation scene submodule 210 and the vehicle state parameters sent by the vehicle model submodule 310 of the Simulink model module 300. Based on the preset virtual sensor 220, perception data is generated and the perception data is sent to the data processing submodule 320 of the Simulink model module 300. The virtual sensor 220 includes a lidar, a millimeter-wave radar, and a monocular / binocular camera.
[0081] The visualization submodule 230 is used to visualize and simulate the vehicle state based on the vehicle configuration simulation information sent by the vehicle model submodule 310 of the Simulink model module 300 and the simulation model parameters sent by the simulation scene submodule 210.
[0082] In this example embodiment, the simulation scene can be customized according to actual simulation needs or a simulation scene can be reproduced from the real scene. Users can configure static elements of road elements (including materials, lane lines, speed bumps), static traffic elements (including traffic signs, street lights, stations, surrounding buildings), and dynamic elements of traffic participants (including motor vehicle behavior, non-motor vehicle behavior, pedestrian behavior, etc.), weather changes (rain, snow, fog, etc.), and time changes (mainly changes in light at different times) as needed to enrich the scene use cases.
[0083] The virtual sensors 220 include lidar, millimeter-wave radar, monocular and binocular cameras, etc. Each sensor perceives the surrounding environment of the main vehicle in the virtual scene by simulating the detection mechanism of real sensors, and the sensor parameters can be adjusted according to Table 1 to simulate the sensor types of the real vehicle. Different sensor combinations can be used to simulate the sensor configuration scheme of the real vehicle.
[0084] Table 1. Partial list of virtual sensor 220 and adjustable parameters.
[0085]
[0086] The visualization module can output the visualization effect of vehicle status based on the built-in vehicle model or the externally imported 3D model, so as to evaluate the control effect of the unmanned algorithm more intuitively through simulation results.
[0087] Simulink model module 300 is used to generate vehicle state parameters based on vehicle configuration simulation information, and to convert and populate data members and parse the vehicle state parameters, the perception data sent by the Prescan model module 200, and the control commands sent by the ROS algorithm module 400 according to a preset protocol.
[0088] In this example embodiment, the Simulink model module 300 of the device further includes:
[0089] The vehicle model submodule 310 is used to parameterize and assign values to each subsystem of the vehicle to generate vehicle configuration simulation information and generate vehicle state parameters.
[0090] The data processing submodule 320 is used to receive vehicle status parameters sent by the vehicle model submodule 310, perception data sent by the virtual sensor 220 of the Prescan model module 200, and control commands sent by the control execution submodule 430 of the ROS algorithm module 400 through the communication interface 330 of the Simulink model module 300, and converts, populates, and parses the vehicle status parameters, perception data, and control commands according to a preset protocol.
[0091] Communication interface 330 is used to realize data communication between the Simulink model module 300 and the ROS algorithm module 400 based on a preset communication interface 330.
[0092] In this example embodiment, the Simulink model includes a vehicle model, data processing, and communication interface 330.
[0093] The vehicle model mainly includes parameterized vehicle models such as the body, tires, suspension system, steering system, braking system, power system, transmission system, and hardware I / O interface. It supports different degrees of freedom configurations (such as 2, 3, 7, 14 degrees of freedom vehicle models) and meets the generalization requirements of different numbers of axles, different drive and different steering forms.
[0094] Data processing involves converting and parsing the perception data from virtual sensors 220 (integrated navigation, LiDAR, millimeter-wave radar, and vision camera), vehicle status parameters (speed, turning angle, position, heading angle, etc.), and control commands (expected speed, expected turning angle) according to a preset protocol, as well as filling and parsing data members to ensure normal data interaction.
[0095] The communication interface 330 replaces the actual interface module, enabling adjustable interface parameters and monitorable communication data. Users can modify the interface characteristics and number of interfaces according to testing needs, meeting different testing requirements and improving the flexibility and versatility of the testing platform. To simulate signal interaction in real time, the communication interface 330 may use ROS communication, such as communication of feedback quantities like vehicle speed and turning angle; or simulate actual signal routing methods, such as serial communication for integrated navigation, Ethernet communication for LiDAR, USB communication for vision cameras, and CAN bus communication for millimeter waves.
[0096] ROS algorithm module 400 is used to generate vehicle environment information from perception data, and generate vehicle behavior decisions and local path planning based on the vehicle environment information. Based on the vehicle behavior decisions and local path planning, the vehicle's turning angle and speed are parsed, and vehicle operation commands are generated.
[0097] In this example embodiment, the ROS algorithm module 400 of the device further includes:
[0098] The environmental perception submodule 410 is used to receive the perception data of the virtual sensor 220 of the Prescan model module 200 based on the communication interface 330 of the Simulink model module 300, and to complete environmental perception and detection based on the perception data, generate vehicle environmental information and send it to the planning and decision submodule.
[0099] The decision planning submodule 420 is used to receive vehicle environment information sent by the environment perception submodule 410, generate vehicle behavior decisions and local path planning based on the vehicle environment information, and send the vehicle behavior decisions and local path planning to the control execution submodule 430.
[0100] The control execution submodule 430 is used to receive the vehicle behavior decision and local path planning, and based on the vehicle behavior decision and local path planning, parse the vehicle's turning angle and speed, and generate vehicle operation commands.
[0101] The single-vehicle cloud control submodule 440 is used to establish data communication between the ROS algorithm module 400 and the cloud control platform module 500, parse the instructions of the cloud control platform module 500, generate the vehicle operating status, and send it to the vehicle monitoring submodule 520 of the cloud control platform module 500.
[0102] In this example embodiment, environmental perception is mainly achieved by processing and analyzing the perception data acquired by the sensors to perceive and detect static and dynamic elements such as lane lines, obstacles, and pedestrians.
[0103] Planning and decision-making refers to making reasonable behavioral decisions and local path planning based on vehicle positioning and surrounding environment information provided by environmental perception.
[0104] The control execution analyzes the vehicle's turning angle and speed based on the trajectory and speed output by the planning and decision-making layer, and drives the vehicle model to perform corresponding actions.
[0105] The vehicle cloud control system acts as a bridge for data interaction between the ROS algorithm and the cloud control platform, primarily used for parsing cloud control platform commands and reporting the autonomous vehicle's operational status. Parsing cloud control platform commands involves converting the data format (JSON, XML) of the task information issued by the cloud control platform into a ROS-recognizable data format (msg, srv). Reporting the autonomous vehicle's operational status involves converting messages such as vehicle ID, GPS location, task progress, task status, and vehicle status (speed, fault level) into a predetermined data format (JSON, XML) and sending it to the cloud control platform for monitoring and processing.
[0106] The cloud control platform module 500 is used to receive autonomous driving task instructions and forward the autonomous driving task instructions to the ROS algorithm module 400, and generate and display vehicle status monitoring information and task progress.
[0107] In this example embodiment, the cloud control platform module 500 of the device further includes:
[0108] The task management submodule 510 is used to send unmanned driving task instructions to the vehicle monitoring submodule 520 and the single-vehicle cloud control submodule 440 of the ROS algorithm module 400 based on a preset data format and a preset communication protocol. The preset data format includes JSON data format and XML data format, and the preset communication protocol includes MQTT communication protocol, WebSocket communication protocol and HTTPS communication protocol.
[0109] The vehicle monitoring submodule 520 is used to receive the vehicle operating status sent by the single-vehicle cloud control submodule 440 of the ROS algorithm module 400 and the unmanned driving task instructions sent by the operation management submodule 510, and generate and display vehicle status monitoring information and task progress.
[0110] In this example embodiment, the cloud control platform, as a high-performance portable data processing platform, is the remote brain of autonomous driving, mainly including operation management and vehicle monitoring.
[0111] Operation management mainly refers to the cloud control platform being responsible for issuing task instructions (tracking, turning around, following the vehicle, loading, unloading, stopping, task completion, etc.), task IDs, and global target points based on the business logic of unmanned driving production activities, user-customized data formats (JSON, XML), and communication protocols (MQTT, WebSocket, HTTPS).
[0112] The vehicle monitoring system is responsible for receiving cloud control data from individual vehicles, thereby dynamically displaying and remotely monitoring information such as vehicle status and task progress.
[0113] It should be noted that although several modules or units of an unmanned driving simulation device have been mentioned in the detailed description above, this division is not mandatory. In fact, according to embodiments of this disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.
[0114] This disclosure includes an exemplary embodiment of an unmanned driving simulation device, an automated unmanned driving testing method, an electronic device, and a storage medium. The device comprises a test management module, a Prescan model module, a Simulink model module, a ROS algorithm module, and a cloud control platform module. This disclosure breaks down barriers between tools through full-stack simulation of the cloud control platform, ROS algorithm, and vehicle, enabling data flow interoperability and facilitating collaborative development. Automated simulation testing reduces scenario testing time, improves testing efficiency, and rapidly optimizes iterative algorithms.
[0115] like Figures 2A-2B As shown, this disclosure also provides an automated testing method for unmanned driving based on an unmanned driving simulation device, the method comprising:
[0116] In the test case development step S210, based on the test management module, taking the influencing factors and influencing factors represented by weather, number of lanes, number of lidar lines and speed as examples, an orthogonal experimental table is determined. Test cases are developed according to the test content of the orthogonal experimental table in a preset text format. The text format of the test cases is XLS, XML, TXT, or CSV.
[0117] In this example embodiment, taking weather (cloudy, sunny, rainy), number of lanes (2, 4, 6 lanes), number of LiDAR lines (16, 32, 64 lines), and speed (10, 20, 30 km / h) as examples, the orthogonal experimental table L9(3^4) is determined, as shown in Table 2. Test cases are formulated according to the experimental content of the orthogonal experimental table in a preset text format, which can be XLS, XML, TXT, CSV, etc.
[0118] Table 2 Orthogonal Experiment Table
[0119]
[0120]
[0121] Step S220: Build a parameterized simulation model based on the Prescan model module to construct a parameterized simulation scene and vehicle model. According to the test case formulation steps, reserve interfaces for reading and modifying weather, lane number, lidar and speed parameters, preset simulation running time interface, and preset readable and writable text file interface.
[0122] Communication interface configuration step S230: Based on the Simulink model module, configure the feedback communication of vehicle speed and turning angle based on ROS communication; configure the integrated navigation communication based on serial port communication; configure the lidar data communication based on Ethernet communication; configure the vision camera data communication based on USB communication; and configure the millimeter-wave radar communication based on CAN bus communication.
[0123] In data processing step S240, based on the Simulink model module and the communication method customization in the communication interface configuration step, a communication protocol is defined, and data members are filled and parsed according to the communication protocol definition to ensure normal data interaction.
[0124] Simulation parameter configuration step S250: Use MATLAB to write test scripts, read XML test case files through the xmlread function, perform slicing and variable assignment, and map variables to corresponding parameters in the Simulink model through the Data Model API to achieve automatic parameter assignment and test case traversal;
[0125] The simulation is judged in step S260. Based on the preset evaluation index in the Prescan model module, the subjective evaluation index of whether the vehicle of the tested autonomous driving system crosses the line or collides with the obstacle is used to measure the autonomous driving simulation. Alternatively, objective indexes such as simulation time, TTC, lateral error, and speed error are selected for scoring. The autonomous driving simulation is judged to pass based on the scoring results. If the autonomous driving simulation passes, the simulation test is judged to be completed. If the autonomous driving simulation fails, the ROS algorithm optimization step is performed.
[0126] ROS algorithm optimization step S270: Based on the ROS algorithm module and the scoring results in the simulation pass determination step, the ROS algorithm is optimized and iterated, and the simulation pass determination step is repeatedly executed until the autonomous driving simulation passes.
[0127] In step S280, regression test cases are developed based on the scoring results of the simulation pass / fail determination step, by selecting test items that fail the autonomous driving simulation and writing regression test cases.
[0128] In this example embodiment, the simulation platform disclosed herein possesses full-stack simulation capabilities encompassing cloud control commands, environmental perception, path planning, and control execution. This enables the parallel development of different algorithms and facilitates rapid functional verification in the early stages of algorithm development, thereby achieving collaborative development and improving development efficiency. Automated simulation testing, while ensuring test coverage, shortens the simulation testing cycle, improves testing efficiency, and rapidly optimizes iterative algorithms to guarantee their safety and reliability.
[0129] The specific details of each of the above-mentioned unmanned driving simulation methods have been described in detail in the corresponding unmanned driving simulation device, so they will not be repeated here.
[0130] It should be noted that although the steps of the method in this disclosure are described in a specific order in the accompanying drawings, this does not require or imply that the steps must be performed in that specific order, or that all the steps shown must be performed to achieve the desired result. Additional or alternative steps may be omitted, multiple steps may be combined into one step, and / or a step may be broken down into multiple steps.
[0131] Furthermore, in an exemplary embodiment of this disclosure, an electronic device capable of implementing the above-described method is also provided.
[0132] 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 as entirely hardware embodiments, entirely software embodiments (including firmware, microcode, etc.), or embodiments combining hardware and software aspects, collectively referred to herein as “circuit,” “module,” or “system.”
[0133] The following reference Figure 3 To describe an electronic device 300 according to such an embodiment of the present invention. Figure 3 The electronic device 300 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.
[0134] like Figure 3 As shown, the electronic device 300 is presented in the form of a general-purpose computing device. The components of the electronic device 300 may include, but are not limited to: at least one processing unit 310, at least one storage unit 320, a bus 330 connecting different system components (including storage unit 320 and processing unit 310), and a display unit 340.
[0135] The storage unit stores program code that can be executed by the processing unit 310, causing the processing unit 310 to perform the steps described in the "Exemplary Methods" section of this specification according to various exemplary embodiments of the present invention. For example, the processing unit 310 can perform actions such as... Figure 1 Steps S110 to S130 are shown in the diagram.
[0136] Storage unit 320 may include readable media in the form of volatile storage units, such as random access memory (RAM) 3201 and / or cache memory 3202, and may further include read-only memory (ROM) 3203.
[0137] Storage unit 320 may also include a program / utility 3204 having a set (at least one) program module 3205, such program module 3205 including but not limited to: 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.
[0138] Bus 330 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.
[0139] Electronic device 300 can also communicate with one or more external devices 370 (e.g., keyboard, pointing device, Bluetooth device, etc.), and with one or more devices that enable a user to interact with electronic device 300, and / or with any device that enables electronic device 300 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 350. Furthermore, electronic device 300 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 360. As shown, network adapter 360 communicates with other modules of electronic device 300 via bus 330. 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 300, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0140] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, terminal device, or network device, etc.) to execute the methods according to the embodiments of this disclosure.
[0141] In exemplary embodiments of this disclosure, a computer-readable storage medium is also provided, on which a program product capable of implementing the methods described above is stored. In some possible embodiments, various aspects of the invention may also be implemented as a program product comprising program code that, when the program product is run on a terminal device, causes the terminal device to perform the steps of the various exemplary embodiments of the invention described in the "Exemplary Methods" section above.
[0142] refer to Figure 4 As shown, a program product 400 for implementing the above-described method according to an embodiment of the present invention is described. This product may employ a portable compact disc read-only memory (CD-ROM) and include program code, and may run 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.
[0143] 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.
[0144] Computer-readable signal media 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. A readable signal medium may also be any readable medium other than a readable storage medium, capable of sending, propagating, or transmitting programs for use by or in conjunction with an instruction execution system, apparatus, or device.
[0145] The program code contained on the readable medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination thereof.
[0146] 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).
[0147] Furthermore, the above figures are merely illustrative of the processes included in the method according to exemplary embodiments of the present invention, and are not intended to be limiting. It is readily understood that the processes shown in the above figures do not indicate or limit the temporal order of these processes. Additionally, it is readily understood that these processes may be executed synchronously or asynchronously, for example, in multiple modules.
[0148] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and embodiments are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the claims.
[0149] It should be understood that this disclosure is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this disclosure is limited only by the appended claims.
Claims
1. An unmanned driving simulation device, characterized in that, The device includes: The test management module is used to generate orthogonal test tables based on test requirements through orthogonal experimental design, receive the assigned values of simulation model parameters through communication with the Prescan model module, complete the traversal of simulation scenarios and automated simulation testing, and generate test reports. The Prescan model module is used to construct simulation scenarios based on Prescan software, assign values to simulation model parameters in the simulation scenarios, generate perception data, and realize the visualization simulation of vehicle status based on vehicle configuration simulation information from the Simulink model module. The Simulink model module is used to generate vehicle state parameters based on vehicle configuration simulation information, and to convert and populate data members and parse the vehicle state parameters, the perception data sent by the Prescan model module, and the control commands sent by the ROS algorithm module according to a preset protocol. The ROS algorithm module is used to generate vehicle environment information from perception data, and to generate vehicle behavior decisions and local path planning based on the vehicle environment information. Based on the vehicle behavior decisions and local path planning, the vehicle's turning angle and speed are parsed to generate vehicle operation commands. The cloud control platform module is used to receive autonomous driving task instructions and forward the autonomous driving task instructions to the ROS algorithm module, and generate and display vehicle status monitoring information and task progress.
2. The apparatus as claimed in claim 1, characterized in that, The test management module of the device also includes: The test example module is used to generate an orthogonal test table based on test requirements through orthogonal experimental design, and send the orthogonal test table to the test script submodule. The test script submodule is connected to the simulation scenario submodule of the Prescan model module based on the preset test management module API interface. It is used to receive the orthogonal test table containing test requirements sent by the test example module and the assignment of simulation model parameters sent by the simulation scenario submodule, so as to complete the traversal of the simulation scenario and automated simulation test. The data monitoring submodule is used to collect and monitor the traversal of the simulation scenario and automated simulation testing of the test script submodule in real time, and generate test reports.
3. The apparatus as described in claim 2, characterized in that, The test example module in the test management module of the device is also used for: Based on the testing requirements, influencing factors for orthogonal experiments are selected, and these factors are divided into preset levels of influence. An orthogonal experiment table is then selected and determined. The influence factors of the orthogonal experiment are mapped to the columns of the selected orthogonal experiment table to generate the orthogonal experiment design table Ln(m^k); Where L is the orthogonal experimental table, n is the number of experiments, and n = (m-1)*k+1, k is the number of influencing factors in the orthogonal experiment, and m is the number of levels of each influencing factor in the orthogonal experiment; The orthogonal test table is sent to the test script submodule.
4. The apparatus as claimed in claim 1, characterized in that, The Prescan model module of the device also includes: The simulation scenario submodule is used to construct a simulation scenario based on Prescan software according to simulation requirements, assign values to the simulation model parameters in the simulation scenario, and send the assigned values of the simulation model parameters to the virtual sensor, the visualization submodule, and the test script submodule of the test management module. A virtual sensor is used to receive the simulation model parameters sent by the simulation scene submodule and the vehicle state parameters sent by the vehicle model submodule of the Simulink model module. The virtual sensor generates perception data based on the preset virtual sensor and sends the perception data to the data processing submodule of the Simulink model module. The virtual sensor includes a lidar, a millimeter-wave radar, and a monocular / binocular camera. The visualization submodule is used to visualize and simulate the vehicle state based on the vehicle configuration simulation information sent by the vehicle model submodule of the Simulink model module and the values of the simulation model parameters sent by the simulation scene submodule.
5. The apparatus as claimed in claim 1, characterized in that, The Simulink model module of the device also includes: The vehicle model submodule is used to parameterize and assign values to each subsystem of the vehicle to generate vehicle configuration simulation information and generate vehicle state parameters. The data processing submodule is used to receive vehicle status parameters sent by the vehicle model submodule, perception data sent by the virtual sensors of the Prescan model module, and control commands sent by the control execution submodule of the ROS algorithm module through the communication interface of the Simulink model module, and to convert, populate, and parse the vehicle status parameters, perception data, and control commands according to a preset protocol. A communication interface is provided, which is used to realize data communication between the Simulink model module and the ROS algorithm module based on a preset communication interface.
6. The apparatus as claimed in claim 1, characterized in that, The ROS algorithm module of the device also includes: An environmental perception submodule is used to receive perception data from the virtual sensors of the Prescan model module based on the communication interface of the Simulink model module, and to complete environmental perception and detection based on the perception data, generate vehicle environmental information and send it to the decision planning submodule. The decision planning submodule is used to receive vehicle environment information sent by the environment perception submodule, generate vehicle behavior decisions and local path planning based on the vehicle environment information, and send the vehicle behavior decisions and local path planning to the control execution submodule. The control execution submodule is used to receive the vehicle behavior decision and local path planning, and based on the vehicle behavior decision and local path planning, parse the vehicle's turning angle and speed, and generate vehicle operation commands. The single-vehicle cloud control submodule is used to establish data communication between the ROS algorithm module and the cloud control platform module, parse the instructions of the cloud control platform module, generate the vehicle operating status, and send it to the vehicle monitoring submodule of the cloud control platform module.
7. The apparatus as claimed in claim 1, characterized in that, The cloud control platform module of the device also includes: The task management submodule is used to send unmanned driving task instructions to the vehicle monitoring submodule and the single-vehicle cloud control submodule of the ROS algorithm module based on a preset data format and a preset communication protocol. The preset data format includes JSON data format and XML data format, and the preset communication protocol includes MQTT communication protocol, WebSocket communication protocol and HTTPS communication protocol. The vehicle monitoring submodule is used to receive vehicle operating status sent by the single-vehicle cloud control submodule of the ROS algorithm module and unmanned driving task instructions sent by the operation management submodule, and generate and display vehicle status monitoring information and task progress.
8. An automated testing method for unmanned driving based on an unmanned driving simulation device, characterized in that, Based on the unmanned driving simulation device as described in claim 1, the method includes: The test case development steps are as follows: Based on the test management module, taking the influencing factors and factors represented by weather, number of lanes, number of lidar lines and speed as examples, an orthogonal experimental table is determined. Test cases are developed according to the test content of the orthogonal experimental table in a preset text format. The text format of the test cases is XLS, XML, TXT, or CSV. The steps for establishing a parametric simulation model are as follows: Based on the Prescan model module, a parametric simulation scene and vehicle model are built. According to the test cases, the test cases for the steps are reserved with interfaces for reading and modifying weather, number of lanes, lidar and speed parameters, a preset simulation running time interface, and a preset readable and writable text file interface. The communication interface configuration steps are as follows: Based on the Simulink model module, configure the feedback communication of vehicle speed and turning angle based on ROS communication; based on serial port communication, configure the integrated navigation communication; based on Ethernet communication, configure the LiDAR data communication; based on USB communication, configure the vision camera data communication; and based on CAN bus communication, configure the millimeter-wave radar communication. The data processing steps, based on the Simulink model module, define communication protocols according to the communication method in the communication interface configuration steps, and populate and parse data members according to the communication protocol definition to ensure normal data interaction. The simulation parameter configuration steps involve writing test scripts using MATLAB, reading XML test case files using the xmlread function, slicing and assigning variable values, and mapping variables to corresponding parameters in the Simulink model using the Data Model API to achieve automatic parameter assignment and test case traversal. The simulation process involves a judgment step. Based on the preset evaluation indicators in the Prescan model module, the subjective evaluation indicators of whether the vehicle of the tested autonomous driving system crosses the line or collides with obstacles are used to measure the performance of the autonomous driving system in the autonomous driving simulation. Alternatively, objective indicators such as simulation time, TTC, lateral error, and speed error are selected for scoring. The autonomous driving simulation is judged to pass based on the scoring results. If the autonomous driving simulation passes, the simulation test is considered complete. If the autonomous driving simulation fails, the ROS algorithm optimization step is performed. The ROS algorithm optimization steps involve iterating and optimizing the ROS algorithm based on the ROS algorithm module and the scoring results in the simulation pass determination step, and repeatedly executing the simulation pass determination step until the autonomous driving simulation passes. The regression test case development steps involve the test management module selecting test items that failed the autonomous driving simulation based on the scoring results of the simulation pass / fail determination steps, and then writing regression test cases.
9. An electronic device, characterized in that, include Processor; and A memory storing computer-readable instructions that, when executed by the processor, implement the method according to claim 8.
10. A computer-readable storage medium having a computer program stored thereon, the computer program, when executed by a processor, implementing the method according to claim 8.