Data testing method, device and readable storage medium based on autonomous driving
By running two autonomous driving models simultaneously in a virtual driving environment, the problems of high cost and low efficiency of autonomous driving vehicles in the prior art are solved, and more efficient and accurate test results are achieved.
Patent Information
- Application Number
- CN202110838328.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-07-23
- Publication Date
- 2025-07-08
- Estimated Expiration
- 2041-07-23
AI Technical Summary
Existing self-driving vehicle testing methods require repeated testing in real-world or test scenarios, resulting in high cost and inefficiency.
Two autonomous driving models are run simultaneously in a virtual driving environment. One model has driving control permissions and the other model performs synchronous predictions, reducing the number of tests and improving test efficiency.
By conducting simulation tests in a virtual environment, the testing cost is reduced, the testing efficiency and accuracy are improved, and the predicted driving data of different models can be compared in more detail and accurately.
Smart Images

Figure CN113569406B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular, to a data testing method, device, and readable storage medium based on autonomous driving. Background Art
[0002] With the rapid progress of autonomous driving technology, autonomous vehicle projects have attracted more and more attention. An autonomous vehicle is an intelligent vehicle that realizes autonomous driving through a computer system. As a high-tech intelligent technology product that requires sufficient safety, before being officially put into use, autonomous vehicles must undergo large-scale tests to collect sufficient data to verify their safety and reliability.
[0003] Currently, for the testing method of autonomous vehicles, it is usually to build a test field in the real world or test and verify autonomous vehicles on actual roads. Testing autonomous vehicles is to test the autonomous driving algorithms deployed on the autonomous vehicles. When testing a certain autonomous driving algorithm, actual tests will be carried out within a given road range. The tested autonomous driving algorithm can be deployed in the vehicle, and the driving prediction of the tested vehicle can be carried out. According to the predicted driving data of the tested autonomous driving algorithm, this autonomous driving algorithm can be evaluated. According to the existing testing method, a corresponding road range will be deployed in each test scenario, and then repeated driving tests will be carried out on each algorithm, which undoubtedly requires a large amount of manpower, material resources, and time, seriously increasing the testing cost of the algorithm and affecting the testing efficiency of the algorithm. Summary of the Invention
[0004] Embodiments of this application provide a data testing method, device, and readable storage medium based on autonomous driving, which can reduce the testing cost of the autonomous driving model and improve the testing efficiency.
[0005] One aspect of the embodiments of this application provides a data testing method based on autonomous driving, including:
[0006] Obtain a test task and task configuration information corresponding to the test task; the task configuration information includes test scenario information configured for the test task, a first autonomous driving model, and a second autonomous driving model;
[0007] Create a virtual driving environment based on the test scenario information, obtain the position of the target simulation vehicle on the simulation driving trajectory in the virtual driving environment, and perform driving prediction on the target simulation vehicle at the simulation vehicle position through the first autonomous driving model to obtain first predicted driving data; the first predicted driving data has the driving control authority for the target simulation vehicle, and the driving control authority refers to the authority to control the target simulation vehicle to drive and update the simulation driving trajectory;
[0008] Through the second autonomous driving model, perform driving prediction on the target simulated vehicle at the simulated vehicle position synchronously to obtain second predicted driving data; the second predicted driving data does not have driving control authority.
[0009] One aspect of the embodiments of the present application provides a data testing device based on autonomous driving, including:
[0010] An information acquisition module, configured to acquire a test task and task configuration information corresponding to the test task; the task configuration information includes test scenario information, a first autonomous driving model, and a second autonomous driving model configured for the test task.
[0011] An environment creation module, configured to create a virtual driving environment based on the test scenario information.
[0012] A position acquisition module, configured to acquire the simulated vehicle position of the target simulated vehicle on the simulated driving trajectory in the virtual driving environment.
[0013] A data prediction module, configured to perform driving prediction on the target simulated vehicle at the simulated vehicle position through the first autonomous driving model to obtain first predicted driving data; the first predicted driving data has driving control authority for the target simulated vehicle, and the driving control authority refers to the authority to control the target simulated vehicle to drive and update the simulated driving trajectory.
[0014] The data prediction module is further configured to perform driving prediction on the target simulated vehicle at the simulated vehicle position synchronously through the second autonomous driving model to obtain second predicted driving data; the second predicted driving data does not have driving control authority.
[0015] In one embodiment, the virtual driving environment further includes a target virtual road and an obstacle object with object behavior parameters at the obstacle object generation point; the obstacle object generation point is located in the target virtual road; the target virtual road includes a simulated driving trajectory; the simulated driving trajectory includes N simulated vehicle positions, and the N simulated vehicle positions include the simulated vehicle position M i ; N is a positive integer, and i is a positive integer less than or equal to N;
[0016] The data prediction module includes:
[0017] A first parameter input unit, configured to input the target virtual road, the target simulated vehicle, the simulated vehicle position M i , and the obstacle object with object behavior parameters at the obstacle object generation point, into the first autonomous driving model.
[0018] A first parameter prediction unit, configured to pass through the first autonomous driving model, the target virtual road, and the simulated vehicle position M i, an obstacle object with object behavior parameters at the obstacle object generation point determines the first predicted behavior parameter of the target simulation vehicle at the simulation vehicle position M i ;
[0019] The first parameter prediction unit is further configured to determine the first predicted arrival position of the target simulation vehicle based on the simulation vehicle position M i and the first predicted behavior parameter;
[0020] The first data determination unit is configured to determine the first predicted behavior parameter and the first predicted arrival position as the first predicted driving data.
[0021] In one embodiment, the data testing device based on autonomous driving further includes:
[0022] The vehicle driving module is configured to determine the first predicted arrival position as the simulation vehicle position M i+1 , and control the target simulation vehicle to travel from the simulation vehicle position M with the first predicted behavior parameter i to the simulation vehicle position M i+1 ;
[0023] The trajectory acquisition module is configured to acquire the driving trajectory data of the target simulation vehicle traveling from the simulation vehicle position M with the first predicted behavior parameter i to the simulation vehicle position M i+1 ;
[0024] The trajectory update module is configured to update the simulation driving trajectory according to the driving trajectory data.
[0025] In one embodiment, the data prediction module includes:
[0026] The second parameter input unit is configured to input the target virtual road, the target simulation vehicle, the simulation vehicle position M i , and the obstacle object with object behavior parameters at the obstacle object generation point into the second autonomous driving model;
[0027] The second parameter prediction unit is configured to determine the second predicted behavior parameter of the target simulation vehicle at the simulation vehicle position M through the second autonomous driving model, the target virtual road, the simulation vehicle position M i , and the obstacle object with object behavior parameters at the obstacle object generation point; i ;
[0028] The second parameter prediction unit is further configured to determine the second predicted arrival position of the target simulation vehicle based on the simulation vehicle position M i and the second predicted behavior parameter;
[0029] A second data determination unit, configured to determine the second predicted behavior parameter and the second predicted arrival position as the second predicted driving data.
[0030] In one embodiment, the simulated driving trajectory includes N simulated vehicle positions, and the N simulated vehicle positions include the simulated vehicle position M i ; N is a positive integer, and i is a positive integer less than or equal to N;
[0031] The data test device based on autonomous driving further includes:
[0032] A driving data comparison module, configured to obtain the predicted driving data S corresponding to the simulated vehicle position M in the first predicted driving data i ; The predicted driving data S i ; is the predicted driving data obtained by the first autonomous driving model for performing driving prediction on the target simulated vehicle at the simulated vehicle position M i i ;
[0033] A driving data comparison module, configured to obtain the predicted driving data T corresponding to the simulated vehicle position M in the second predicted driving data i ; The predicted driving data T i ; is the predicted driving data obtained by the second autonomous driving model for performing driving prediction on the target simulated vehicle at the simulated vehicle position M i i ;
[0034] A driving data comparison module, configured to compare and analyze the predicted driving data S i with the predicted driving data T i to obtain the analysis result corresponding to the simulated vehicle position M i ;
[0035] An analysis result determination module, configured to, when obtaining the analysis results corresponding to the N simulated vehicle positions respectively, determine the comparative analysis result between the first predicted driving data and the second predicted driving data according to the analysis results corresponding to the N simulated vehicle positions respectively;
[0036] A model update module, which updates the second autonomous driving model according to the comparative analysis result between the first predicted driving data and the second predicted driving data to obtain a target autonomous driving model; the target autonomous driving model is used to control a real vehicle to drive in a real driving environment corresponding to test scenario information.
[0037] In one embodiment, the driving data comparison module includes:
[0038] An accident rate determination unit, configured to determine the first accident incidence rate corresponding to the predicted driving data S i and the predicted driving data Ti The corresponding second accident incidence rate;
[0039] An accident rate matching unit for matching the first accident incidence rate with the second accident incidence rate;
[0040] A comparison result determination unit for, if the first accident incidence rate is greater than the second accident incidence rate, determining the analysis result corresponding to the simulation vehicle position M i as a model improvement result; The model improvement result is used to indicate that in the simulation vehicle position M i the autonomous driving quality of the second autonomous driving model is better than that of the first autonomous driving model;
[0041] The comparison result determination unit is further configured to, if the first accident incidence rate is less than or equal to the second accident incidence rate, determine the analysis result corresponding to the simulation vehicle position M i as a model non - improvement result; The model non - improvement result is used to indicate that in the simulation vehicle position M i the autonomous driving quality of the second autonomous driving model is worse than that of the first autonomous driving model.
[0042] In one embodiment, the analysis result determination module includes:
[0043] A result statistics unit for determining, among the analysis results corresponding to N simulation vehicle positions respectively, the analysis results that are model improvement results as the target analysis result;
[0044] The result statistics unit is further configured to count the first result quantity of the target analysis result and the second result quantity of the remaining analysis results; The remaining analysis results are the analysis results other than the model improvement results among the analysis results corresponding to N simulation vehicle positions respectively;
[0045] The result statistics unit is further configured to determine the quantity ratio of the first result quantity to the second result quantity;
[0046] An analysis result determination unit for determining the comparative analysis result between the first predicted driving data and the second predicted driving data according to the quantity ratio.
[0047] In one embodiment, the analysis result determination unit is further specifically configured to, if the quantity ratio is greater than or equal to the ratio threshold, determine the comparative analysis result between the first predicted driving data and the second predicted driving data as a model excellent result; The model excellent result is used to prompt that in the test scenario information, the autonomous driving quality of the second autonomous driving model is better than that of the first autonomous driving model;
[0048] The analysis result determination unit is further specifically configured to, if the quantity ratio is less than the ratio threshold, determine the comparative analysis result between the first predicted driving data and the second predicted driving data as the result to be updated for the model; the result to be updated for the model is used to prompt that in the test scenario information, the autonomous driving quality of the second autonomous driving model is worse than that of the first autonomous driving model.
[0049] In one embodiment, the model update module includes:
[0050] The first model update unit is configured to, if the comparative analysis result is an excellent result for the model, determine the second autonomous driving model as the target autonomous driving model;
[0051] The first model update unit is further configured to, if the comparative analysis result is a result to be updated for the model, adjust and update the logical parameters of the second autonomous driving model according to the second predicted driving data to obtain the target autonomous driving model.
[0052] In one embodiment, the model update module includes:
[0053] The data sending unit is configured to send the first predicted driving data, the second predicted driving data, the analysis results corresponding to the N simulated vehicle positions respectively, and the comparative analysis result to the target terminal; the target terminal is the terminal corresponding to the target user; the target user is the user who creates the test task;
[0054] The instruction receiving unit is configured to receive the operation instruction sent by the target terminal based on the analysis results corresponding to the first predicted driving data, the second predicted driving data, the N simulated vehicle positions respectively, and the comparative analysis result;
[0055] The second model update unit is configured to, if the operation instruction is a model adjustment instruction, adjust and update the logical parameters of the second autonomous driving model according to the second predicted driving data to obtain the target autonomous driving model;
[0056] The second model update unit is further configured to, if the operation instruction is a model test completion instruction, determine the second autonomous driving model as the target autonomous driving model.
[0057] In one embodiment, the environment creation module includes:
[0058] The road creation unit is configured to obtain the virtual road type required for the test scenario information and create a target virtual road belonging to the virtual road type;
[0059] The generation point acquisition unit is configured to acquire the host vehicle generation point and the obstacle object generation point in the target virtual road; the host vehicle generation point is the starting point of the trajectory on the simulated driving trajectory;
[0060] An object creation unit for generating a target simulation vehicle at the main vehicle generation point and generating an obstacle object at the obstacle object generation point;
[0061] A parameter allocation unit for allocating object behavior parameters to the obstacle object according to the test scenario information;
[0062] An environment determination unit for determining a virtual driving environment that includes a target virtual road, the target simulation vehicle at the main vehicle generation point, and the obstacle object with object behavior parameters at the obstacle object generation point.
[0063] In one embodiment, the obstacle object includes an obstacle simulation vehicle and an obstacle simulation user;
[0064] The parameter allocation unit is further specifically configured to obtain the vehicle behavior parameters of the obstacle simulation vehicle and the user behavior parameters of the obstacle simulation user required by the test scenario information;
[0065] The parameter allocation unit is further specifically configured to set the behavior parameters of the obstacle simulation vehicle as the vehicle behavior parameters and set the behavior parameters of the obstacle simulation user as the user behavior parameters.
[0066] In one embodiment, the data test device based on autonomous driving further includes:
[0067] A request acquisition module for acquiring an item delivery request for a target item sent by a delivery terminal; the item delivery request is used to request to deliver the target item from a starting position in the real driving environment to a receiving position in the real driving environment;
[0068] An item transportation module for deploying the target autonomous driving model in a real vehicle based on the item delivery request, and controlling the real vehicle to transport the target item from the starting position to the receiving position through the target autonomous driving model.
[0069] One aspect of the embodiments of the present application provides a computer device, including: a processor and a memory;
[0070] The memory stores a computer program, and when the computer program is executed by the processor, the processor is caused to execute the method in the embodiments of the present application.
[0071] One aspect of the embodiments of the present application provides a computer-readable storage medium, the computer-readable storage medium stores a computer program, the computer program includes program instructions, and when the program instructions are executed by the processor, the method in the embodiments of the present application is executed.
[0072] In one aspect of the present application, a computer program product or a computer program is provided. The computer program product or the computer program includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the method provided in one aspect of the embodiments of the present application.
[0073] In the embodiments of the present application, for the testing of an autonomous driving model, simulation testing can be carried out in a virtual driving environment. Specifically: for the same test task, two autonomous driving models (for example, the first autonomous driving model and the second autonomous driving model) can be run simultaneously to execute the test task; when the first autonomous driving model and the second autonomous driving model are run simultaneously for testing, the driving control authority can be assigned to the first predicted driving data predicted by the first autonomous driving model, and at the same time, the driving control authority is not assigned to the second predicted driving data predicted by the second autonomous driving model, that is, only the first autonomous driving model has the authority to control the target simulation vehicle to drive, while the second autonomous driving model does not have the authority to drive the target simulation vehicle. Thus, in this test task, the simulated driving trajectory of the target simulation vehicle is obtained according to the first predicted driving data predicted by the first autonomous driving model. Each simulated vehicle position on this simulated driving trajectory is the position reached by driving according to the first predicted driving data. When the target simulation vehicle reaches each simulated vehicle position, the first autonomous driving model will perform the next driving prediction and planning for the target simulation vehicle at this simulated vehicle position. Although the second autonomous driving model will not control the driving of the target simulation vehicle, the second autonomous driving model will still perform the next driving prediction and planning for the target simulation vehicle at this simulated vehicle position. Subsequently, the target simulation vehicle will drive according to the driving data predicted by the first autonomous driving model. After reaching a new simulated vehicle position, the first autonomous driving model and the second autonomous driving model will simultaneously perform a new round of driving prediction and planning. It can be seen that in the present application, while ensuring that the historical driving trajectory of the target simulation vehicle is the same, the first autonomous driving model and the second autonomous driving model can perform different driving prediction and planning at each simulated vehicle position on the same trajectory. When the first autonomous driving model and the second autonomous driving model perform driving prediction and planning, the target simulation vehicle is in the same position, and all environmental parameters (environmental parameters at the same position) that affect driving prediction and planning are the same parameters (that is, the first autonomous driving model and the second autonomous driving model perform driving prediction based on the same input parameters).That is to say, the present application can perform simulation tests on the autonomous driving model without deploying a real test environment. At the same time, in the same simulation test scenario, the present application can test different algorithms simultaneously without testing the algorithms separately, which can greatly reduce the number of tests, thereby saving a large amount of labor, time, and material costs. At the same time, since these algorithms are predicted based on the same input parameters in the same test scenario, after obtaining different predicted driving data of different models at the same position, in the subsequent analysis and evaluation of the predicted driving data, the predicted driving data of different autonomous driving models at the same moment and the same position can be compared and evaluated more detailedly and accurately, thereby obtaining a more accurate test and evaluation result and improving the test accuracy of the model. In summary, the present application can reduce the test cost, improve the test efficiency, and improve the test accuracy of the model in the simulation test of the autonomous driving model. BRIEF DESCRIPTION OF THE DRAWINGS
[0074] In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, the drawings in the following description are only some embodiments of the present invention. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0075] Figure 1 is a network architecture diagram provided by an embodiment of the present application;
[0076] Figures 2a - 2b is a schematic diagram of a test scenario provided by an embodiment of the present application;
[0077] Figure 3 is a schematic diagram of the method flow of a data test method based on autonomous driving provided by an embodiment of the present application;
[0078] Figure 4 is a schematic diagram of the process for determining the comparative analysis result between the first predicted driving data and the second predicted driving data provided by an embodiment of the present application;
[0079] Figure 5 is a schematic diagram of a simulation test architecture based on autonomous driving provided by an embodiment of the present application;
[0080] Figure 6 is a logical structure diagram of the input or output between modules in a test system provided by an embodiment of the present application;
[0081] Figure 7 is a schematic diagram of the structure of a data test device based on autonomous driving provided by an embodiment of the present application;
[0082] Figure 8 This is a schematic structural diagram of a computer device provided by an embodiment of the present application. Detailed implementation manners
[0083] Next, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present application without creative efforts shall fall within the protection scope of the present application.
[0084] This application relates to the field of autonomous driving. For the convenience of understanding, the following will first elaborate on autonomous driving and its related concepts.
[0085] The Intelligent Traffic System (ITS), also known as the Intelligent Transportation System, effectively and comprehensively applies advanced scientific and technological means (information technology, computer technology, data communication technology, sensor technology, electronic control technology, automatic control theory, operations research, artificial intelligence, etc.) to transportation, service control, and vehicle manufacturing, strengthening the connection among vehicles, roads, and users, thereby forming a comprehensive transportation system that ensures safety, improves efficiency, improves the environment, and saves energy.
[0086] This application relates to the autonomous driving technology in the intelligent traffic system. Autonomous driving refers to the highly centralized control of a vehicle for fully automated driving. The autonomous driving technology has functions such as automatic wake-up start and sleep of the vehicle, automatic entry and exit of the parking lot, automatic cleaning, automatic driving, automatic parking, automatic opening and closing of the vehicle door, and automatic fault recovery, and has multiple operation modes such as normal operation, degraded operation, and operation interruption. Achieving full automation operation can save energy and optimize the reasonable matching of system energy consumption and speed.
[0087] Master vehicle: refers to the vehicle under test that accesses the autonomous driving algorithm (model) through data interaction in the virtual environment;
[0088] Non-master vehicle: refers to the vehicle that conducts autonomous driving or performs preset actions according to the test scenario in the virtual environment;
[0089] Pedestrian: refers to a person who walks autonomously or performs preset actions according to the test scenario in the virtual environment;
[0090] Autonomous driving model: refers to the comprehensive algorithm module with decision-making planning and control execution functions on the vehicle under test.
[0091] Please refer to Figure 1 ,Figure 1 This is a network architecture diagram provided by an embodiment of the present application. As Figure 1 shown, the network architecture may include a service server 1000 and a user terminal cluster. The user terminal cluster may include one or more user terminals, and the number of user terminals will not be limited here. As Figure 1 shown, the multiple user terminals may include user terminal 100a, user terminal 100b, user terminal 100c, …, user terminal 100n; As Figure 1 shown, user terminal 100a, user terminal 100b, user terminal 100c, …, user terminal 100n may be respectively network-connected to the service server 1000, so that each user terminal can perform data interaction with the service server 1000 through this network connection.
[0092] It can be understood that, as Figure 1 shown, the user terminals in the user terminal cluster may include test terminals, and the service server 1000 may be a test server (hereinafter, user terminal 100a is referred to as test terminal 100a and the service server is referred to as test server 1000); Taking user terminal 100a in the user terminal cluster as a test terminal as an example, a user can create a test task through test terminal 100a and implement related visualization functions such as managing, configuring, displaying, and running the test task through test terminal 100a (for example, the user can configure test scenario information for the test task, which autonomous driving model to be tested and run, etc.). Test terminal 100a can facilitate the user to efficiently carry out systematic test work.
[0093] Taking the first autonomous driving model and the second autonomous driving model (the second autonomous driving model is an updated version of the first autonomous driving model) configured with test tasks by the user as an example, further, the test terminal 100a can send the test tasks created by the user and the task configuration information to the test server 1000 together. The test server 1000 can create a virtual driving environment based on the test tasks created by the user and start the simulation test on the first autonomous driving model and the second autonomous driving model in this virtual driving environment. The simulation test process in this application can be: at each simulation vehicle position, the target simulation vehicle is predicted and planned through the first autonomous driving model, and the target simulation vehicle is controlled to drive to the next simulation vehicle position based on the prediction data of the first autonomous driving model; at the same time, the target simulation vehicle is synchronously predicted at each simulation vehicle position through the second autonomous driving model, and the prediction data of the second autonomous driving model does not affect the driving trajectory of the target simulation vehicle. Thus, through the prediction and planning of the target simulation vehicle by the first autonomous driving model and the second autonomous driving model at the same position, the predicted driving data of the first autonomous driving model and the predicted driving data of the second autonomous driving model of the target simulation vehicle can be obtained at each simulation vehicle position.
[0094] Further, the test server 1000 can perform subsequent processing based on the predicted driving data corresponding to the first autonomous driving model and the second autonomous driving model respectively. For example, the test server 1000 can separately analyze and evaluate the predicted driving data of the first autonomous driving model, or can also separately analyze and evaluate the predicted driving data of the second autonomous driving model, and determine whether the first autonomous driving model (or the second autonomous driving model) has met the test indicators (the test indicators are such as: no collision will occur during autonomous driving) through the separate analysis and evaluation; for example, the test server 1000 can also compare and analyze the predicted driving data of the first autonomous driving model and the second autonomous driving model together to determine which autonomous driving model has better autonomous driving quality between the first autonomous driving model and the second autonomous driving model. The following will take the test server 1000 comparing and analyzing the predicted driving data of the first autonomous driving model and the second autonomous driving model as an example for illustration. The test server 1000 can use the two predicted driving data at the same simulation vehicle position as a set of predicted driving data. The test server 1000 can compare and analyze each set of predicted driving data and obtain the comparison and analysis result. Based on this comparison and analysis result, it can be judged whether the second autonomous driving model has made progress compared with the first autonomous driving model.
[0095] Further, the test server 1000 can return the relevant data of the simulation test (for example, the predicted driving data of each group, the analysis results of each group, the overall comparative analysis results, map data, etc.) to the test terminal 100a, and the test terminal 100a can display this data on the terminal display interface for the user to evaluate. The user can determine whether to adjust and update the second autonomous driving model based on this data. The user can input an operation instruction through the test terminal 100a (for example, adjust and update the second autonomous driving model and test again; or no longer update the second autonomous driving model and end the test), and the test terminal 100a can send this operation instruction to the test server 1000, and the test server 1000 can perform subsequent operations according to this operation instruction.
[0096] Among them, the above-mentioned test server 1000 may refer to a server device that implements the relevant background functions of the visual autonomous vehicle control simulation test system.
[0097] It should be understood that by running the first autonomous driving model and the second autonomous driving model simultaneously in a test task, there is no need to test the algorithms separately, which can reduce the number of tests, thereby saving test costs and improving test efficiency. At the same time, in the process of testing multiple autonomous driving models simultaneously, the method of controlling the vehicle operation by one of the autonomous driving models is adopted, so that the vehicle operation trajectories of multiple autonomous driving models are exactly the same. All autonomous driving models can make different driving predictions at each position on the same trajectory. Then, when obtaining the different predicted driving data of these different models at the same position, subsequent processing can be carried out more detailed and accurate. For example, when obtaining the different predicted driving data of different models at the same position, the predicted data of these models can be compared more detailed and accurate to more accurately judge the quality of autonomous driving between the models.
[0098] An embodiment of the present application can select a user terminal as the target user terminal from multiple user terminals. The user terminal may include: intelligent terminals with multimedia data processing functions (such as video data playback function, music data playback function) such as smart phones, tablets, laptops, desktop computers, smart TVs, smart speakers, desktop computers, smart watches, in-vehicle devices, etc., but is not limited thereto. For example, an embodiment of the present application can use Figure 1 the shown user terminal 100a as the target user terminal. The target application can be integrated in the target user terminal. At this time, the target user terminal can perform data interaction with the service server 1000 through the target application.
[0099] It is understandable that the method provided by the embodiments of the present application can be executed by a computer device, which includes but is not limited to a user terminal or a service server. Among them, the service server can be an independent physical server, a server cluster or a distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms.
[0100] Among them, the user terminal and the service server can be directly or indirectly connected through wired or wireless communication methods, and the present application does not limit this.
[0101] For ease of understanding, please also refer to Figures 2a - 2b , Figures 2a - 2b which is a schematic diagram of a test scenario provided by the embodiments of the present application. Among them, as Figures 2a - 2b shown, the user terminal A can be any user terminal in the user cluster corresponding to the above Figure 1 embodiment. For example, this user terminal can be the user terminal 100a; as Figures 2a - 2b shown, the test server 2000 can be the service server 1000 in the above Figure 1 embodiment.
[0102] As Figure 2a shown, user a can create a test task through the user terminal A and configure task-related information for this test task. For example, as Figure 2a shown, user a can enter the task name of the test task in the display interface, and select the algorithm to run for this test task and add a test scenario. As Figure 2a shown, user a can enter the task name of this test task (such as Figure 2a Witggga shown) in the display interface of the user terminal A; as Figure 2a shown, the algorithm list can include algorithm 200a, algorithm 200b, algorithm 200c, algorithm 200d, algorithm 200e, and algorithm 200f. Among them, algorithm 200b is an iterative updated version of algorithm 200a; algorithm 200d is an iterative updated version of algorithm 200c; algorithm 200f is an iterative updated version of algorithm 200e. User a can select the algorithm to run the test in this algorithm list. As Figure 2a shown, the algorithms selected by user a are algorithm 200a and algorithm 200b. As Figure 2aAs shown, the test scenario list may include Scenario 20a, Scenario 20b, Scenario 20c, Scenario 20d, Scenario 20g, and Scenario 20f. The test scenario selected by User a is Scenario 20b. It should be understood that the above task name "Witggga", the selected algorithms 200a and 200b, and the added test scenario 20b can all be referred to as the task configuration information of this test task.
[0103] It can be understood that when User a selects an algorithm to run the test for the test task, the main algorithm (i.e., the algorithm with driving control authority for controlling the vehicle under test) and the shadow algorithm (i.e., the algorithm that can perform synchronous planning and prediction on the vehicle under test but does not have driving control authority) can also be selected. Both the main algorithm and the shadow algorithm will be used as the task configuration information of this test task. The following will take the main algorithm selected by User a as Algorithm 200a and the shadow algorithm selected as Algorithm 200b as an example for illustration.
[0104] Furthermore, the user terminal A can send this test task and the task configuration information to the test server 2000. The test server 2000 can create a virtual driving environment based on the test scenario information (i.e., Scenario 20b) in the task configuration information. Among them, the virtual driving environment may include a target virtual road, a target simulation vehicle (i.e., the host vehicle), obstacle vehicles (other vehicles on the target virtual road, i.e., non-host vehicles), and obstacle users (i.e., pedestrians). The test can also set behavior parameters for the obstacle vehicles and obstacle users (for example: set the vehicle speed and vehicle direction for the obstacle vehicles; allocate the walking speed and walking direction for the obstacle users, etc.). For example, taking Scenario 20b as an example of an evasive pedestrian scenario, the test server 2000 can create a Figure 2a virtual driving environment 20000 as shown. The virtual driving environment 20000 may include the target virtual road M corresponding to the evasive pedestrian scenario. On this target virtual road M, there are areas Q1 and Q2. Among them, area Q1 can be the generation point of the target simulation vehicle. The test server 2000 can generate the target simulation vehicle at this generation point Q1, as Figure 2a shown. The test server 2000 generates the target simulation vehicle 2a at this generation point Q1. Area P can be the generation point of the obstacle objects (including obstacle vehicles and obstacle users). The test server 2000 can generate obstacle vehicles and obstacle users at this generation point P.
[0105] For Scenario 20b (the evasive pedestrian scenario), the generation point P can be a virtual zebra crossing, as Figure 2aAs shown, at the generation point P, the test server 2000 generates pedestrian obstacle user 2000a, obstacle user 2000b, and obstacle user 2000c. At the same time, behavior parameters such as walking speed and walking direction can be set for obstacle user 2000a, obstacle user 2000b, and obstacle user 2000c respectively.
[0106] Furthermore, the test server 2000 can input the respective virtual parameters of the virtual driving environment 20000 at this time (including the target virtual road M, the target simulation vehicle 2a, the position where the target simulation vehicle 2a is located (i.e., the generation point Q1), area P, obstacle user 2000a, obstacle user 2000b, obstacle user 2000c, the behavior parameters corresponding to obstacle user 2000a, the behavior parameters corresponding to obstacle user 2000b, and the behavior parameters corresponding to obstacle user 2000c, the position where obstacle user 2000a is located, the position where obstacle user 2000b is located, and the position where obstacle user 2000c is located) into algorithm 200a and algorithm 200b respectively; based on these virtual parameters, algorithm 200a and algorithm 200b can perform planning and prediction on the target simulation vehicle 2a at the generation point Q1 respectively.
[0107] For example, the planning and prediction of the target simulation vehicle 2a at the generation point Q1 by algorithm 200a is prediction 1 (e.g., going straight at a speed of 50 m / s); the planning and prediction of the target simulation vehicle 2a at the generation point Q1 by algorithm 200b is prediction 2 (e.g., driving at a speed of 60 m / s and deviating 45 degrees to the right). Furthermore, the test server 2000 can control the target simulation vehicle 2a to drive for a period of time (e.g., 2 s) based on algorithm 200a. Thus, the target simulation vehicle 2a can reach a new position.
[0108] Furthermore, as Figure 2aAs shown, taking the example that the target simulation vehicle 2a travels for 2s using the predicted driving data of algorithm 200a (i.e., prediction 1), the target simulation vehicle 2a can reach position Q2. At this time, when at this position Q2, the positions of obstacle user 2000a, obstacle user 2000b, and obstacle user 2000c in the virtual driving environment will also change accordingly. At this time, the test server 2000 can input the new virtual parameters of the virtual driving environment 20000 at this moment (including the target virtual road M, the target simulation vehicle 2a, the position where the target simulation vehicle 2a is located (i.e., position Q2), area P, obstacle user 2000a, obstacle user 2000b, obstacle user 2000c, the behavior parameters corresponding to obstacle user 2000a, the behavior parameters corresponding to obstacle user 2000b, and the behavior parameters corresponding to obstacle user 2000c, the position where obstacle user 2000a is located, the position where obstacle user 2000b is located, and the position where obstacle user 2000c is located) into algorithm 200a and algorithm 200b respectively; algorithm 200a and algorithm 200b can re-plan and predict the target simulation vehicle 2a at the new position Q2 based on these new virtual parameters respectively.
[0109] Furthermore, the target simulation vehicle 2a can travel for a period of time (e.g., 2s) in the virtual driving environment 20000 based on the predicted driving data of algorithm 200a and reach a new position. At this new position, the test server 2000 can obtain new virtual parameters again and input the new virtual parameters into algorithm 200a and algorithm 200b again. Algorithm 200a and algorithm 200b can make a new round of predictions on the target simulation vehicle 2a at the new position based on these virtual parameters, and the target simulation vehicle 2a will travel based on the predicted driving data of algorithm 200a until it reaches the preset end point (or until it reaches the test termination time of this test task).
[0110] It should be understood that for each position (including the generation point Q1) where the target simulation vehicle 2a starts to travel from the generation point Q1, algorithm 200a and algorithm 200b will make a prediction once. For algorithm 200a, the prediction data at each position can be called the first predicted driving data; for algorithm 200b, the prediction data at each position can be called the second predicted driving data.
[0111] It should be understood that by adopting the above method of simultaneously running the test algorithm 200a and the algorithm 200b in the same test task, different predicted driving data (i.e., the first predicted driving data and the second predicted driving data) of the algorithm 200a and the algorithm 200b at the same moment and the same position can be obtained in one test task. Further, the test server 2000 can save the different predicted driving data of the algorithm 200a and the algorithm 200b at the same moment and the same position for subsequent processing. The subsequent processing is, for example: the test server 2000 can compare and analyze the first predicted driving data and the second predicted driving data (the predicted data of the algorithm 200a and the algorithm 200b at a certain position can be compared and analyzed, such as comparing the acceleration, comparing the steering wheel deflection angle, respectively analyzing whether a collision occurs, etc.), and thus the comparison and analysis result can be obtained. The test server 2000 can return relevant data (such as, including the predicted data of the algorithm 200a (i.e., the first predicted driving data) and the predicted data of the algorithm 200b (i.e., the second predicted driving data) at each position, the comparison and analysis result of the test server 2000, etc.) to the user terminal A.
[0112] It can be understood that since the scenario is exemplarily described here with the algorithm 200b being the updated version of the algorithm 200a, the test server 2000 can automatically judge and determine whether the algorithm 200b has made progress compared with the algorithm 200a based on these comparison and analysis results (that is, to judge whether the updated version of the algorithm 200b has made progress), that is, whether the autonomous driving quality of the algorithm 200b in the scenario 20b is better than that of the algorithm 200a. If the test server 2000 determines based on these comparison and analysis results that the autonomous driving quality of the algorithm 200b in the scenario 20b is better than that of the algorithm 200a, then once the algorithm 200b makes progress, the test server 2000 can stop iteratively updating the algorithm 200b (optionally, even if there is progress, the test server 2000 can continue to iteratively update the algorithm 200b until the algorithm 200b meets the test index in the scenario 20b (the test index is, for example: no traffic accident will occur in the scenario 20b)); if the test server 2000 determines based on these comparison and analysis results that the autonomous driving quality of the algorithm 200b in the scenario 20b is worse than that of the algorithm 200a, then the test server 2000 can continue to iteratively update the algorithm 200b until the autonomous driving quality of the algorithm 200b is better than that of the algorithm 200a or until the algorithm 200b meets the test index.
[0113] Optionally, it can be understood that after obtaining the first predicted driving data of algorithm 200a, the second predicted driving data of algorithm 200b, and the comparative analysis result, the test server 2000 can return the first predicted driving data of algorithm 200a, the second predicted driving data of algorithm 200b, and the comparative analysis result to the user terminal A. User a can analyze and evaluate these first predicted driving data and second predicted driving data through the user terminal A. User a can use the comparative analysis result of the test server 2000 as a reference to decide whether to continue to further adjust and update algorithm 200b and continue the test, or stop updating algorithm 200b and determine algorithm 200b as an algorithm that can be put into use.
[0114] For example, as Figure 2b shown, the user terminal A can display these data returned by the test server 2000 (i.e., display the first predicted driving data of algorithm 200a, the second predicted driving data of algorithm 200b, and the comparative analysis result of the test server 2000) on the terminal display interface. User a can compare and analyze the first predicted driving data and the second predicted driving data in combination with the comparative analysis result of the test server 2000. As Figure 2b shown, the user terminal A can display an option of "Whether to complete the test" on the display interface. This option corresponds to a "Complete Test" control and a "Continue Test" control. If user a determines that algorithm 200b has reached their test criteria after the comparative analysis, user a can click the "Complete Test" control to terminate the test of algorithm 200b. If user a determines that algorithm 200b has not reached their test criteria after the comparative analysis, user a can click "Continue Test" to adjust and update algorithm 200b and continue to test the adjusted and updated algorithm 200b until algorithm 200b reaches the test criteria of user a.
[0115] For example, as Figure 2b shown, taking the example that user a determines that algorithm 200b has reached their test criteria, user a can click the "Complete Test" control. The user terminal A can send the operation instruction corresponding to this trigger operation of user a (i.e., the complete test instruction) to the test server 2000. After receiving the operation instruction sent by the user terminal A, the test server 2000 can terminate the test task.
[0116] It should be understood that in a test task, different versions of the same algorithm can be run simultaneously for testing. During the testing process, a certain version of the algorithm (such as a lower version) is used as the main algorithm to control the tested simulation vehicle (which can be called the target simulation vehicle) to drive in the virtual driving environment, and the remaining versions of the algorithm (such as updated versions) are used as shadow algorithms. The main algorithm is used to perform driving prediction and planning on the tested simulation vehicle and control the tested simulation vehicle to drive forward. The shadow algorithm is used to perform synchronous driving prediction and planning on the tested simulation vehicle at each position during the driving process. Thus, the driving prediction and planning data between the main algorithm and the shadow algorithm (or between shadow algorithms) at the same position at each moment can be accurately and detailedly compared and analyzed horizontally. The accuracy and reliability of the comparative analysis between any two versions of the algorithm can be improved. At the same time, since multiple algorithms can be run in one test task, the predicted driving data between any two versions of the algorithm can be compared and analyzed, without having to divide the algorithm into multiple tests and then compare the predicted driving data obtained from multiple tests, which can reduce the number of tests, reduce the test cost, improve the algorithm test efficiency, and also improve the iterative update efficiency of the algorithm.
[0117] It should be noted that the above various parameters (such as going straight at a speed of 50 m / s, driving at a speed of 60 m / s with a 45-degree offset to the right, driving duration of 2 s, etc.) are all illustrative examples for easy understanding and do not have practical reference significance.
[0118] Furthermore, please refer to Figure 3 , Figure 3 which is a schematic flowchart of a data testing method based on autonomous driving provided by an embodiment of the present application. Among them, the data testing method based on autonomous driving can be executed by a test server (such as the service server 1000 in the corresponding embodiment above) Figure 1 ; as Figure 3 shown, the method flow can at least include the following steps S101 - step S104:
[0119] Step S101, obtain a test task and task configuration information corresponding to the test task; the task configuration information includes test scenario information, a first autonomous driving model, and a second autonomous driving model configured for the test task.
[0120] In this application, the target user (which can be a test user) can create test task information in the test terminal through a browser page, a test application interface, etc. When creating a test task, the target user can configure task information for the test task to obtain task configuration information. For example, when creating a test task, the target user can input the name of the test task, select the scenario of the test task (which can be called test scenario information), the algorithm to run the test (the algorithm can be called an autonomous driving model), and so on. The name of the test task input by the target user, the selected scenario of the test task, and the algorithm to run the test (such as the first autonomous driving model and the second autonomous driving model) can all be called the task configuration information of the test task. The test terminal can send the test task created by the target user and the task configuration information to the test server.
[0121] It should be understood that each test task can be named by the name of the test task, and different test tasks can be better managed through the task name. Then, when the test user hopes to compare different test tasks later, different test tasks can be obtained based on the task name. This application can configure different test scenarios for the test task. For example, the scenarios can at least include: overtaking scenario, following vehicle scenario, turning scenario, intersection scenario, traffic light scenario, pedestrian avoidance scenario, parking scenario, and so on. Of course, it can also be any other driving scenario. This application does not specifically limit the test scenarios. The algorithm can be any algorithm in autonomous driving. For example, it can be an environmental perception algorithm in autonomous driving, or a comprehensive algorithm with decision-making planning and control execution functions for the vehicle under test (such as a planning algorithm, a decision-making algorithm, a control algorithm, etc.). Here, each algorithm can be called an autonomous driving model.
[0122] In this application, when creating a test task, the target user can select multiple autonomous driving models to simultaneously perform running tests on the same test scenario. These multiple autonomous driving models can be different versions of the same algorithm (such as version 1, version 2, and version 3 of the same decision-making algorithm 1), or they can be different algorithms (such as decision-making algorithm 1, decision-making algorithm 2, and decision-making algorithm 3). At the same time, the target user can select one of the algorithms as the main algorithm for controlling the driving of the target simulation vehicle. For example, taking multiple autonomous driving models as different versions of the same algorithm as an example, for algorithm A, the initial version is version V1, and the updated version based on it is version V2. Version V1 and version V2 have different logical structures, and version V1 and version V2 can be called two different versions of the same algorithm A. The first autonomous driving model in this application can be any algorithm to be tested, and this algorithm can be used as the main algorithm for controlling the driving of the target simulation vehicle, while the second autonomous driving model can be the remaining algorithms other than the main algorithm in the algorithms to be tested. The purpose of simultaneously running the first autonomous driving model and the second autonomous driving model is to obtain different predicted driving data of the first autonomous driving model and the second autonomous driving model in a test task, so that in subsequent processing, it can be more detailed, accurate, and efficient to test whether there is an improvement in the autonomous driving quality of the second autonomous driving model compared with the first autonomous driving model under the test scenario information.
[0123] Step S102, create a virtual driving environment based on the test scenario information. In the virtual driving environment, obtain the position of the target simulation vehicle on the simulated driving trajectory, and perform driving prediction on the target simulation vehicle at the simulated vehicle position through the first autonomous driving model to obtain the first predicted driving data; the first predicted driving data has the driving control authority for the target simulation vehicle, and the driving control authority refers to the authority to control the driving of the target simulation vehicle and update the simulated driving trajectory.
[0124] In this application, after receiving the test task and task configuration information sent by the test terminal, the test server can create a virtual driving environment based on the test scenario information in the task configuration information. It should be understood that this application can pre-configure a virtual driving environment for each configured test scenario. Then, after receiving the test task, the test server can directly match the test scenario information in the test task with the configured test scenario. After matching, the configured virtual driving environment corresponding to the matched target configured test scenario is used as the virtual driving environment corresponding to the test scenario information; subsequently, the obtained virtual driving environment can be initialized.
[0125] Optionally, if there is no corresponding configured virtual driving environment for the test scenario information, the test server can create a new virtual driving environment based on the test scenario information. Subsequently, the test scenario information can be stored in a corresponding relationship with the newly created virtual driving environment. Thus, when there is a subsequent test task for the test scenario information, the virtual driving environment corresponding to the test scenario information can be directly obtained without creating a new one again. Among them, the specific method for the test server to create a virtual driving environment based on the test scenario information can be as follows: the virtual road type required for the test scenario information can be obtained, and a target virtual road belonging to the virtual road type can be created; subsequently, the main vehicle generation point and the obstacle object generation point can be obtained in the target virtual road; among them, the main vehicle generation point is the trajectory starting point on the simulation driving trajectory; subsequently, a target simulation vehicle can be generated at the main vehicle generation point, and an obstacle object can be generated at the obstacle object generation point; object behavior parameters can be assigned to the obstacle object according to the test scenario information, and the virtual environment including the target virtual road, the target simulation vehicle at the main vehicle generation point, and the obstacle object with object behavior parameters at the obstacle object generation point is determined as the virtual driving environment.
[0126] Among them, the obstacle object can include an obstacle simulation vehicle (that is, in the virtual driving environment, a vehicle that conducts autonomous driving other than the target simulation vehicle) and an obstacle simulation user (that is, a pedestrian who walks autonomously in the virtual driving environment). The specific method for assigning object behavior parameters to the obstacle object according to the test scenario information can be as follows: the vehicle behavior parameters of the obstacle simulation vehicle required for the test scenario information and the user behavior parameters of the obstacle simulation user can be obtained; subsequently, the behavior parameters of the obstacle simulation vehicle can be set as the vehicle behavior parameters, and the behavior parameters of the obstacle simulation user can be set as the user behavior parameters.
[0127] It should be understood that taking the crossroads scenario as an example of the test scenario information, the virtual road type required for the test scenario information is the crossroads type, and a crossroads road belonging to the crossroads type can be created. After creating the target virtual road, virtual vehicles (including the target simulation vehicle to be tested and non-tested obstacle vehicles) and pedestrians can be created in the target virtual road. Vehicle behavior parameters can be created for the non-tested obstacle vehicles (for example, the vehicle behavior parameters of the obstacle vehicle can be predicted and planned through a certain autonomous driving model to control the obstacle vehicle to conduct autonomous driving in the virtual driving environment; or a vehicle behavior parameter (such as driving direction, driving speed, etc.) can be set for the obstacle vehicle, so that the obstacle vehicle can conduct autonomous driving in the virtual driving environment using the preset and unchanged vehicle behavior parameters); at the same time, pedestrian behavior parameters can also be set for the pedestrians (for example, by setting a user behavior parameter (such as walking direction, walking speed, etc.) for the obstacle user, so that the obstacle user can walk autonomously in the virtual driving environment using the preset and unchanged user behavior parameters).
[0128] In this application, when creating a test task, the target user can select a certain algorithm as the main algorithm for controlling the driving of the target simulation vehicle when selecting the running algorithm. Then, this main algorithm has the driving control authority for the target simulation vehicle, and the predicted driving data of this main algorithm can also have the driving control authority for the target simulation vehicle. Optionally, the main algorithm for controlling the target simulation vehicle can also be randomly selected by the test server.
[0129] Taking the first autonomous driving model having this driving control authority as an example, further, after the virtual driving environment is created, the first autonomous driving model can perform driving prediction on the target simulation vehicle at the main vehicle generation point and control the target simulation vehicle to drive in the virtual driving environment according to the predicted driving data of the first autonomous driving model. Then, starting from the main vehicle generation point, the simulated driving trajectory of the target simulation vehicle in this virtual driving environment can be obtained through the predicted driving data of the first autonomous driving model. The trajectory starting point of this simulated driving trajectory is the main vehicle generation point, and this simulated driving trajectory can also include N simulated vehicle positions (i.e., each position reached by the target simulation vehicle during driving). For ease of understanding, the specific method for the first autonomous driving model to control the driving of the target simulation vehicle and obtain the simulated vehicle trajectory will be elaborated below.
[0130] As can be seen from the above, the virtual driving environment includes a target virtual road and an obstacle object with object behavior parameters at the obstacle object generation point; among them, the obstacle object generation point is located in the target virtual road; the target virtual road includes a simulated driving trajectory (when the target simulation vehicle has not started driving, this simulated driving trajectory only includes the main vehicle generation point, which is a simulated vehicle position); the simulated driving trajectory includes N (N is a positive integer) simulated vehicle positions (including the main vehicle generation point).
[0131] Taking the N simulated vehicle positions including simulated vehicle position M i (i is a positive integer less than or equal to N) as an example, for the specific method of obtaining the first predicted driving data by performing driving prediction on the target simulation vehicle at the simulated vehicle position through the first autonomous driving model, it can be: input the target virtual road, the target simulation vehicle, simulated vehicle position M i , and the obstacle object with object behavior parameters at the obstacle object generation point into the first autonomous driving model; through the first autonomous driving model, the target virtual road, simulated vehicle position M i , and the obstacle object with object behavior parameters at the obstacle object generation point, determine the first predicted behavior parameters of the target simulation vehicle at simulated vehicle position M i ; subsequently, based on simulated vehicle position M iDetermine the first predicted arrival position of the target simulation vehicle based on the first predicted behavior parameter; further, the first predicted behavior parameter and the first predicted arrival position can be determined as the first predicted driving data.
[0132] Further, the trajectory of the simulation vehicle can be updated based on the first predicted driving data. The specific method can be: determine the first predicted arrival position as the simulation vehicle position M i+1 , then, control the target simulation vehicle to move from the simulation vehicle position M with the first predicted behavior parameter i to the simulation vehicle position M i+1 ; then, obtain the driving trajectory data of the target simulation vehicle moving from the simulation vehicle position M with the first predicted behavior parameter i to the simulation vehicle position M i+1 ; update the simulation driving trajectory according to the driving trajectory data.
[0133] It should be understood that taking the generation point of the main vehicle (i.e., the starting point of the trajectory) as the simulation vehicle position M i as an example, when the target simulation vehicle is at the generation point of the main vehicle, the test server can obtain numerical values such as the position data of the obstacle object, the object behavior parameter, and the position data of the target simulation vehicle at this time. These parameter values can be input into the first autonomous driving model, and the target simulation vehicle can be predicted for driving through the first autonomous driving model to obtain the first predicted behavior parameter (for example, going straight at a speed of 460 m / s); then, obtain the preset driving duration (which can be specified manually or randomly determined by the machine. For example, the preset driving duration is 1 s), control the target simulation vehicle to drive for 1 s (i.e., the duration corresponding to the preset driving duration) with the first predicted behavior parameter. After the target simulation vehicle drives for 1 s, it can reach a new position, and this new position can be called the simulation vehicle position M i+1 ; obtain the driving trajectory data of the target simulation vehicle from the generation point of the main vehicle to this new position, and update the simulation vehicle trajectory according to this driving trajectory data (when the simulation vehicle position M i is the generation point of the main vehicle, the driving trajectory data from the generation point of the main vehicle to this new position can be the simulation vehicle trajectory).
[0134] Similarly, when the target simulation vehicle reaches a new position (which can be called position 1) from the main vehicle generation point, the test server can obtain numerical values such as the position data of the obstacle object, the object behavior parameters, and the position data of the target simulation vehicle at this time. The test server can then input these parameter values into the first autonomous driving model, and through the first autonomous driving model, it can perform predictive planning on the target simulation vehicle based on these parameter values to obtain new predictive behavior parameters. Subsequently, it can control the target simulation vehicle to travel for 1 s based on the new predictive behavior parameters, and the target simulation vehicle will reach a new position (which can be called position 2). At this time, the test server can obtain the new driving trajectory of the target simulation vehicle from position 1 to this position 2, and the driving trajectory of the target simulation vehicle from the main vehicle generation point to the above position 1 and the driving trajectory from position 1 to position 2 can be spliced together, and the spliced driving trajectory can be the new simulation driving trajectory.
[0135] Step S103: Through the second autonomous driving model, synchronously perform driving prediction on the target simulation vehicle at the simulation vehicle position to obtain second predicted driving data; the second predicted driving data does not have the driving control authority.
[0136] In this application, although the second autonomous driving model does not have the driving control authority for the target simulation vehicle, the second autonomous driving model can still perform synchronous driving prediction on the target simulation vehicle at each simulation vehicle position. Taking the simulation vehicle position as the simulation vehicle position M i as an example, the specific method can be: input the target virtual road, the target simulation vehicle, the simulation vehicle position M i , and the obstacle object with object behavior parameters at the obstacle object generation point into the second autonomous driving model; subsequently, through the second autonomous driving model, the target virtual road, the simulation vehicle position M i , and the obstacle object with object behavior parameters at the obstacle object generation point, determine the second predicted behavior parameters of the target simulation vehicle at the simulation vehicle position M i ; based on the simulation vehicle position M i and the second predicted behavior parameters, determine the second predicted arrival position of the target simulation vehicle; the second predicted behavior parameters and the second predicted arrival position can be determined as the second predicted driving data.
[0137] It should be understood that taking the simulation vehicle position M iTaking the generation point of the host vehicle (i.e., the starting point of the trajectory) as an example, when the target simulation vehicle is at the generation point of the host vehicle, the test server can obtain numerical values such as the position data of the obstacle object, the object behavior parameters, and the position data of the target simulation vehicle at this time. These parameter values can be input into the first autonomous driving model. At the same time, these parameter values can also be input into the second autonomous driving model. Through the first autonomous driving model, the driving prediction of the target simulation vehicle can be carried out to obtain the first predicted behavior parameters (for example, going straight at a speed of 460 m / s). Through the second autonomous driving model, the driving prediction of the target simulation vehicle can also be carried out to obtain the second predicted behavior parameters (for example, the steering wheel deviates 45 degrees to the right and travels at a speed of 500 m / s). Subsequently, a preset driving duration can be obtained (this can be specified manually or randomly determined by the machine. For example, the preset driving duration is 1 s). The target simulation vehicle can be controlled to travel for 1 s (i.e., the duration corresponding to the preset driving duration) with the first predicted behavior parameters. After the target simulation vehicle travels for 1 s, it can reach a new position, and this new position can be called the simulation vehicle position M i+1 ; At the same time, the position that the target simulation vehicle will reach after traveling for 1 s with the second predicted behavior parameters can be calculated. The target simulation vehicle will not actually reach this position in the virtual driving environment, but this position can be used as the second predicted driving data of the second autonomous driving model.
[0138] Similarly, when the target simulation vehicle reaches a new position (which can be called position 1) from the generation point of the host vehicle, the test server can obtain numerical values such as the position data of the obstacle object, the object behavior parameters, and the position data of the target simulation vehicle at this time. The test server can input these parameter values into the first autonomous driving model again, and at the same time, these new parameter values can be sent to the second autonomous driving model together. Through the first autonomous driving model, the prediction and planning of the target simulation vehicle can be carried out based on these parameter values to obtain the predicted behavior parameters at the new position 1. Through the second autonomous driving model, the prediction and planning of the target simulation vehicle can also be carried out based on these parameter values to obtain the predicted behavior parameters at this position 1.
[0139] Subsequently, based on the new predicted behavior parameters of the first autonomous driving model at position 1, the target simulation vehicle can be controlled to drive for 1 s. Then the target simulation vehicle will reach a new position (which can be called position 2). At this time, the first autonomous driving model and the second autonomous driving model will perform different prediction plans for the target simulation vehicle at position 2 based on the new parameter values at this time. However, the target simulation vehicle will drive according to the prediction data of the first autonomous driving model and update the simulation driving trajectory. That is to say, at each simulation vehicle position on the simulation driving trajectory, the first autonomous driving model and the second autonomous driving model will perform different prediction plans. The first predicted driving data corresponding to the first autonomous driving model includes the predicted driving data at each simulation vehicle position. Similarly, the second predicted driving data corresponding to the second autonomous driving model includes the predicted driving data at each simulation vehicle position.
[0140] It should be understood that after obtaining the first predicted driving data of the first autonomous driving model and the second predicted driving data of the second autonomous driving model, the first predicted driving data and the second predicted driving data can be saved for subsequent processing. For example, the first predicted driving data and the second predicted driving data can be analyzed and evaluated respectively. Based on the first predicted driving data, evaluate the autonomous driving quality of the first autonomous driving model in this test scenario (such as whether a collision occurs, whether the speed is too fast, etc.). Similarly, based on the second predicted driving data, evaluate the autonomous driving quality of the second autonomous driving model in this test scenario. It can be understood that from the above, the first predicted driving data and the second predicted driving data are the predicted driving data obtained by the first autonomous driving model and the second autonomous driving model through different predictions at the same time and the same position. Then the first predicted driving data and the second predicted driving data are a single variable, so the first predicted driving data and the second predicted driving data can be compared and evaluated. Thus, it can be compared which model's predicted driving data is more excellent among the predicted driving data made by two or more models at the same time, the same position, and based on the same environment. Through the comparison and evaluation, it can be judged whether the autonomous driving quality of the second autonomous driving model is better than that of the first autonomous driving model. And based on the result of the comparison and evaluation, it can be judged whether to update the autonomous driving model. Then, the method of synchronously testing multiple autonomous driving models in the same test task can also improve the update efficiency of the autonomous driving model.
[0141] Among them, for the specific implementation method of comparing and analyzing the first predicted driving data and the second predicted driving data and updating the second autonomous driving model based on the comparison and analysis result between the first predicted driving data and the second predicted driving data, reference can be made to the description of the corresponding embodiment Figure 4 described later.
[0142] In the embodiments of the present application, for the testing of the autonomous driving model, simulation testing can be carried out in a virtual driving environment. Specifically: for the same test task, two autonomous driving models (for example, the first autonomous driving model and the second autonomous driving model) can be run simultaneously to execute the test task; when the first autonomous driving model and the second autonomous driving model are run simultaneously for testing, driving control authority can be assigned to the first predicted driving data predicted by the first autonomous driving model, and at the same time, the driving control authority is not assigned to the second predicted driving data predicted by the second autonomous driving model, that is, only the first autonomous driving model has the authority to control the target simulation vehicle to drive, while the second autonomous driving model does not have the authority to drive the target simulation vehicle. Thus, in this test task, the simulated driving trajectory of the target simulation vehicle is obtained according to the first predicted driving data predicted by the first autonomous driving model, and each simulated vehicle position on this simulated driving trajectory is the position reached by driving according to the first predicted driving data. When the target simulation vehicle reaches each simulated vehicle position, the first autonomous driving model will perform the next driving prediction plan for the target simulation vehicle at this simulated vehicle position. Although the second autonomous driving model will not control the driving of the target simulation vehicle, the second autonomous driving model will still perform the next driving prediction plan for the target simulation vehicle at this simulated vehicle position. Subsequently, the target simulation vehicle will drive according to the driving data predicted by the first autonomous driving model. After reaching a new simulated vehicle position, the first autonomous driving model and the second autonomous driving model will simultaneously perform a new round of driving prediction plans. It can be seen that in the present application, while ensuring that the historical driving trajectory of the target simulation vehicle is the same, the first autonomous driving model and the second autonomous driving model can perform different driving prediction plans at each simulated vehicle position on the same trajectory. When the first autonomous driving model and the second autonomous driving model perform the driving prediction plans, the target simulation vehicle is in the same position, and all the environmental parameters (environmental parameters at the same position) affecting the driving prediction plan are the same parameters (that is, the first autonomous driving model and the second autonomous driving model perform the driving prediction based on the same input parameters).That is to say, the present application can perform simulation tests on the autonomous driving model without deploying a real test environment. Meanwhile, in the same simulation test scenario, the present application can test different algorithms simultaneously without separately testing the algorithms, which can greatly reduce the number of tests, thereby saving a large amount of labor, time, and material costs. At the same time, since these algorithms are predicted based on the same input parameters in the same test scenario, after obtaining different predicted driving data of different models at the same position, the predicted driving data of different autonomous driving models at the same moment and the same position can be compared and evaluated more detailedly and accurately, thereby obtaining a more accurate test and evaluation result and improving the test accuracy rate of the model. In summary, the present application can reduce the test cost, improve the test efficiency, and the test accuracy rate of the model in the simulation test of the autonomous driving model.
[0143] Further, please refer to Figure 4 , Figure 4 which is a schematic flow chart of comparing and analyzing the first predicted driving data and the second predicted driving data provided by an embodiment of the present application. This process can correspond to the subsequent processing process after obtaining the first predicted driving data and the second predicted driving data in the embodiment corresponding to the above Figure 3 , that is, the process of comparing and analyzing the first predicted driving data and the second predicted driving data. As Figure 4 shown, this process can at least include the following steps S201 - step S205:
[0144] Step S201, obtain the predicted driving data S i corresponding to the simulation vehicle position M i in the first predicted driving data; the predicted driving data S i is the predicted driving data obtained by the first autonomous driving model for predicting the driving of the target simulation vehicle at the simulation vehicle position M i .
[0145] Specifically, the simulation driving trajectory may include one or more simulation vehicle positions. For each simulation vehicle position, the first autonomous driving model and the second autonomous driving model will simultaneously perform different driving predictions on the target simulation vehicle. Then, in the first predicted driving data of the first autonomous driving model, the predicted driving data corresponding to N simulation vehicle positions can be included. The present application can obtain the predicted driving data corresponding to each simulation vehicle position in the first predicted driving data. Taking the simulation vehicle position M i as an example, the predicted driving data S i corresponding to the simulation vehicle position M i can be obtained.
[0146] Step S202, obtain the simulation vehicle position M in the second predicted driving datai The corresponding predicted driving data T i ; the predicted driving data T i is the second autonomous driving model, and is the predicted driving data obtained by performing driving prediction on the target simulation vehicle at the simulation vehicle position M i .
[0147] Specifically, similarly, in the second predicted driving data of the second autonomous driving model, it may include the predicted driving data corresponding to N simulation vehicle positions respectively. This application can obtain the predicted driving data corresponding to each simulation vehicle position in the second predicted driving data. Taking the simulation vehicle position M i as an example, the predicted driving data T i corresponding to the simulation vehicle position M i can be obtained.
[0148] Step S203, compare and analyze the predicted driving data S i with the predicted driving data T i to obtain the analysis result corresponding to the simulation vehicle position M i .
[0149] Specifically, this application can compare and analyze the different predicted driving data of two (or more) algorithms at the same simulation vehicle position. For example, taking the simulation vehicle position M i as an example, the predicted driving data S i can be compared and analyzed with the predicted driving data T i . The specific method can be: the first accident incidence rate corresponding to the predicted driving data S i can be determined, and the second accident incidence rate corresponding to the predicted driving data T i ; subsequently, the first accident incidence rate and the second accident incidence rate can be matched; if the first accident incidence rate is greater than the second accident incidence rate, the analysis result corresponding to the simulation vehicle position M i can be determined as the model improvement result; wherein, the model improvement result can be used to indicate that in the simulation vehicle position M i , the autonomous driving quality of the second autonomous driving model is better than that of the first autonomous driving model; and if the first accident incidence rate is less than or equal to the second accident incidence rate, the analysis result corresponding to the simulation vehicle position M i can be determined as the model non - improvement result; wherein, the model non - improvement result can be used to indicate that in the simulation vehicle position M i , the autonomous driving quality of the second autonomous driving model is worse than that of the first autonomous driving model.
[0150] It should be understood that the above accident incidence rate may refer to the probability of an accident that may occur during driving. In addition to this, the predicted driving data S iWith the predicted driving data T i The lateral acceleration, longitudinal acceleration, steering wheel angle value, speed of turning the steering wheel, throttle / brake value, whether a collision occurs, the number of collisions, etc. between them. The comparative analysis can also be any traffic parameter during other driving processes, which will not be restricted here.
[0151] Step S204, when the analysis results corresponding to N simulated vehicle positions are obtained, according to the analysis results corresponding to N simulated vehicle positions, determine the comparative analysis result between the first predicted driving data and the second predicted driving data.
[0152] Specifically, by the above method of determining the analysis result corresponding to the simulated vehicle position M i The analysis results corresponding to each simulated vehicle position can be obtained, and thus the analysis results corresponding to N simulated vehicle positions can be obtained. After obtaining the analysis results corresponding to N simulated vehicle positions, based on the analysis results corresponding to N simulated vehicles, the comparative analysis result between the first predicted driving data and the second predicted driving data can be determined. The specific method can be: among the analysis results corresponding to N simulated vehicle positions, the analysis results that are the results of model improvement can be determined as the target analysis results; subsequently, the first result quantity of the target analysis results and the second result quantity of the remaining analysis results can be counted; where the remaining analysis results are the analysis results corresponding to N simulated vehicle positions except for the results of model improvement; subsequently, the quantity ratio of the first result quantity to the second result quantity can be determined, and according to the quantity ratio, the comparative analysis result between the first predicted driving data and the second predicted driving data can be determined.
[0153] Among them, the specific method of determining the comparative analysis result between the first predicted driving data and the second predicted driving data according to the quantity ratio can be: if the quantity ratio is greater than or equal to the ratio threshold, then the comparative analysis result between the first predicted driving data and the second predicted driving data is determined as the model excellent result; the model excellent result is used to prompt that in the test scenario information, the autonomous driving quality of the second autonomous driving model is better than that of the first autonomous driving model; if the quantity ratio is less than the ratio threshold, then the comparative analysis result between the first predicted driving data and the second predicted driving data is determined as the model to be updated result; the model to be updated result is used to prompt that in the test scenario information, the autonomous driving quality of the second autonomous driving model is worse than that of the first autonomous driving model.
[0154] For example, taking the ratio threshold as 1, after comparing and analyzing each simulated vehicle position, if the number of times the second autonomous driving model is superior to the first autonomous driving model is 5 times, and the number of times the second autonomous driving model is inferior to the first autonomous driving model is 6 times, then the numerical ratio is 5 / 6. Since this numerical ratio is less than the ratio threshold of 1, it can be determined that the final comparison and analysis result is a model to be updated result (i.e., the first autonomous driving model is superior to the second autonomous driving model).
[0155] Step S205: Update the second autonomous driving model according to the comparison and analysis result between the first predicted driving data and the second predicted driving data to obtain a target autonomous driving model; the target autonomous driving model is used to control a real vehicle to drive in the real driving environment corresponding to the test scenario information.
[0156] In this application, according to the comparison and analysis result between the first predicted driving data and the second predicted driving data (which may include a model excellent result and a model to be updated result), the second autonomous driving model can be updated to obtain a target autonomous driving model. The specific method can be: if the comparison and analysis result is a model excellent result, the second autonomous driving model can be determined as the target autonomous driving model; if the comparison and analysis result is a model to be updated result, the logical parameters of the second autonomous driving model can be adjusted and updated according to the second predicted driving data to obtain a target autonomous driving model. It should be understood that the second autonomous driving model after adjusting the logical parameters can continue to be tested until the second autonomous driving model meets the test indicators (i.e., the autonomous driving quality is superior to the first autonomous driving model, and the comparison and analysis result is a model excellent result).
[0157] Optionally, for the specific method of updating the second autonomous driving model according to the comparison and analysis result between the first predicted driving data and the second predicted driving data (which may include a model excellent result and a model to be updated result) to obtain a target autonomous driving model, it can also be: send the first predicted driving data, the second predicted driving data, the analysis results corresponding to the N simulated vehicle positions, and the comparison and analysis result to the target terminal; the target terminal is the terminal corresponding to the target user; the target user is the user who creates the test task; receive the operation instruction sent by the target terminal based on the analysis results corresponding to the first predicted driving data, the second predicted driving data, the N simulated vehicle positions, and the comparison and analysis result; if the operation instruction is a model adjustment instruction, adjust and update the logical parameters of the second autonomous driving model according to the second predicted driving data to obtain a target autonomous driving model; if the operation instruction is a model completion test instruction, determine the second autonomous driving model as the target autonomous driving model.
[0158] It should be understood that after the test server obtains the analysis results corresponding to N simulated vehicle positions and obtains the final comparative analysis result, the test server can send the first predicted driving data, the second predicted driving data, the analysis results corresponding to the N simulated vehicle positions, and the comparative analysis result to the test terminal together. Then, the test user (target user) can view these data through the test terminal. The test user can use the comparative analysis result obtained by the test server as a reference. Then, with the reference, the test user can conduct a manual comparative analysis of the first predicted driving data and the second predicted driving data, and combine the reference data of the test server to determine whether the second autonomous driving model meets its own test indicators. Among them, the test indicator can be that the autonomous driving quality of the second autonomous driving model is more excellent than that of the first autonomous driving model; the test indicator can also be that in this test scenario, the second autonomous driving model will not have a traffic accident. For this test indicator, it can be artificially specified by the test user.
[0159] It should be understood that if the test user determines that the second autonomous driving model meets its own test indicators after comparative analysis, the operation instruction can be a model completion test instruction. Based on this operation instruction, the test server can stop updating and testing the second autonomous driving model; if the test user determines that the second autonomous driving model has not met its own test indicators after comparative analysis, the operation instruction can be a model adjustment instruction. Based on this operation instruction, the test server can adjust and update the second autonomous driving model, and continue to test the adjusted and updated second autonomous driving model (it should be noted that at this time, the second autonomous driving model before adjustment and update can be used as the main algorithm in the test, and the second autonomous driving model after adjustment and update can be the shadow algorithm. That is to say, in a new round of testing, it can be checked whether the autonomous driving quality of the adjusted and updated second autonomous driving model is more excellent than that before adjustment and update).
[0160] It should be noted that the number of the above first autonomous driving models can be 1, that is, the algorithm used to control the target simulated vehicle to drive in each test task is 1; however, the number of the second autonomous driving models can be one or more. That is to say, in each test task, multiple second autonomous driving models can be tested simultaneously to improve the iterative update efficiency of the models. In addition, the second autonomous driving model can be an updated version of the first autonomous driving model (that is, the first autonomous driving model and the second autonomous driving model can be different versions of the same algorithm); the second autonomous driving model can also be a different algorithm from the first autonomous driving model (that is, the first autonomous driving model and the second autonomous driving model belong to different algorithms).
[0161] Optionally, it can be understood that for the comparative test of the autonomous driving model, the method of comparing with the actual road acquisition data can also be adopted. For example: real driving users can drive a real vehicle in the real driving environment corresponding to the test scenario, and thus the actual road acquisition data in the real driving environment can be obtained. The actual road acquisition data can be input into the target simulation vehicle, and the target simulation vehicle can be controlled to drive in the virtual driving environment by the actual road acquisition data. At the same time, each tested autonomous driving model is deployed in the target simulation vehicle. During the process of the actual road acquisition data controlling the target simulation vehicle to drive in the virtual driving environment, multiple autonomous driving models can also perform driving predictions at each position on the driving trajectory respectively. The predicted driving data of these autonomous driving models can be compared and evaluated with the actual road acquisition data of real driving users.
[0162] It should be understood that the target autonomous driving model that has completed the test and passed the test can be put into use. Taking the use scenario as the item delivery scenario as an example, the application process for the target autonomous driving model can be as follows: an item delivery request for the target item sent by the delivery terminal can be obtained; among them, the item delivery request is used to request to deliver the target item from the starting position in the real driving environment to the receiving position in the real driving environment; based on the item delivery request, the target autonomous driving model can be deployed in the real vehicle, and the target autonomous driving model can be used to control the real vehicle to transport the target item from the starting position to the receiving position. The application scenario for the target autonomous driving model can be any transportation scenario, which will not be restricted here.
[0163] In the embodiments of the present application, for the same test task, two autonomous driving models (for example, a first autonomous driving model and a second autonomous driving model) can be run simultaneously to execute the test task; when the first autonomous driving model and the second autonomous driving model are run simultaneously for testing, driving control authority can be assigned to the first predicted driving data predicted by the first autonomous driving model. At the same time, the driving control authority is not assigned to the second predicted driving data predicted by the second autonomous driving model, that is, only the first autonomous driving model has the authority to control the target simulation vehicle to drive, while the second autonomous driving model does not have the authority to drive the target simulation vehicle. Thus, in this test task, the simulated driving trajectory traveled by the target simulation vehicle is obtained according to the first predicted driving data predicted by the first autonomous driving model. Each simulated vehicle position on this simulated driving trajectory is the position reached by driving according to the first predicted driving data. When the target simulation vehicle reaches each simulated vehicle position, the first autonomous driving model will perform the next driving prediction plan for the target simulation vehicle at this simulated vehicle position. Although the second autonomous driving model will not control the driving of the target simulation vehicle, the second autonomous driving model will still perform the next driving prediction plan for the target simulation vehicle at this simulated vehicle position. Subsequently, the target simulation vehicle will drive according to the driving data predicted by the first autonomous driving model. After reaching a new simulated vehicle position, the first autonomous driving model and the second autonomous driving model will perform a new round of driving prediction plans. It can be seen that the present application can, while ensuring that the historical driving trajectories of the target simulation vehicle are the same, the first autonomous driving model and the second autonomous driving model can simultaneously perform different driving prediction plans at each simulated vehicle position. When the first autonomous driving model and the second autonomous driving model perform driving prediction plans, all environmental parameters affecting the driving prediction plans are the same parameters. In the case where these influencing parameters are the same, the first autonomous driving model and the second autonomous driving model are the single variables, so the data predicted by the first autonomous driving model and the data predicted by the second autonomous driving model can be compared more accurately and in detail, improving the data comparison accuracy rate; at the same time, the present application can run multiple autonomous driving models simultaneously in one test task, which can reduce the number of comparative tests on the autonomous driving models while improving the data comparison accuracy rate, and can improve the iterative update efficiency of the autonomous driving models. In summary, the present application can improve the data comparison accuracy rate and the iterative update efficiency of the autonomous driving models in the simulation test of the autonomous driving models.
[0164] Further, please refer to Figure 5 , Figure 5 which is a simulation test architecture diagram provided by the embodiments of the present application for autonomous driving. Taking the need to test a decision control algorithm in a certain test scenario as an example, such as Figure 5As shown, the test architecture may include a central module, System Module 1, System Module 2, System Module 3, Algorithm Module 1, Algorithm Module 2, and Algorithm Module 3.
[0165] When the simulation system of this application runs a test scenario, the central module (equivalent to a test server) will sequentially call different system modules and user algorithm modules, and each system module and algorithm module will vary according to the scenario and the object under test.
[0166] For example, in a certain test scenario where it is necessary to test a decision control algorithm, the central module will sequentially call System Module 1, System Module 2, Algorithm Module 1, Algorithm Module 2, Algorithm Module 3, and System Module 3 in order. Among them, System Module 1 and System Module 2 may belong to the environmental perception module, which can be used to create a virtual driving environment and, based on the current position of the simulated vehicle under test, perceive the surrounding environment of the simulated vehicle under test (for example, the positions of other obstacle objects), and obtain target-level ground truth (such as the position parameter values corresponding to obstacle objects, the position parameter values where the simulated vehicle under test is located, etc.).
[0167] Furthermore, after System Module 1 and System Module 2 output the perceived target-level ground truth, they can give this target-level ground truth (i.e., the parameter values of the perceived environment) to the downstream Algorithm Module 1, Algorithm Module 2, and Algorithm Module 3. Among them, Algorithm Module 1 may correspond to a planning algorithm, Algorithm Module 2 may correspond to a decision-making algorithm, and Algorithm Module 3 may correspond to a control algorithm. Algorithm Module 1, Algorithm Module 2, and Algorithm Module 3 can output prediction behavior parameters and control signals for driving prediction based on these target-level ground truths.
[0168] Furthermore, the prediction behavior parameters output by Algorithm Module 1, Algorithm Module 2, and Algorithm Module 3 will be given to the downstream System Module 3, and System Module 3 can be a calculation module. System Module 3 can calculate the positioning of the simulated vehicle under test in the virtual driving environment for the next frame according to the control signal output by Algorithm Module 3. System Module 3 can send the calculated positioning to System Module 1, and then System Module 1 and System Module 2 can re-perceive the parameter values of the current environment based on the updated positioning, and then start a new round of calculations. That is, Algorithm Module 1 can receive the parameter values of the new environment and will perform a new round of driving predictions. System Module 3 will also recalculate the position of the simulated vehicle under test based on the signal given by Algorithm Module 3 and give it to System Module 1, and then perform a new round of calculations again until the test time is reached, or until the simulated vehicle under test reaches the preset end point. It should be noted that the above-mentioned various algorithm modules can be called an autonomous driving model.
[0169] For ease of understanding, please refer to Figure 6 , Figure 6 which is a logical structure diagram of the input or output between modules provided by an embodiment of this application.
[0170] As Figure 6 shown, when it is necessary to simultaneously test different versions (such as version 1 and version 2 as shown in Figure 6 ) of the same algorithm (such as algorithm A), a certain version (such as version 1) of the algorithm A can be used as the reference version; this reference version can be used to control the tested simulation vehicle to drive in the virtual driving environment. At the same time, the output of this reference version can be input to the downstream module. At the same time, other versions (such as version 2) of the algorithm A are set as shadow modules. Thus, the output (such as the target-level ground truth in the corresponding embodiment as shown in Figure 5 ) from the upstream module (such as the system module 2 in the corresponding embodiment as shown in Figure 5 ) will be input to all different version modules of the algorithm at the same time, so as to ensure that all versions of the algorithm A are calculated based on the same input (when the two versions of the algorithm perform prediction calculations, the environment where the tested simulation vehicle is located is the same). Further, only the output of the reference version of the algorithm will be given to the downstream module, and the outputs of other versions (shadow modules) used for comparison testing will only be given to the evaluation module and the front-end rendering. The front-end rendering module can render and output the received data (for example, render the running track), and the evaluation module can be used to evaluate and analyze the prediction data of different versions of the algorithm.
[0171] It should be understood that by adding a shadow mode to the simulation test system for autonomous driving in this application, the test user can run multiple algorithms at the same time, so that these algorithms can make different predictions based on the same input each time, rather than making predictions based on different inputs each time. Based on the same input, that is, all other variables are the same, only the algorithm predictions are different. Then this application can enable the test user to simply compare the excellence of the algorithm predictions under the condition that other factors are the same, and can make a more detailed and accurate comparison.
[0172] Further, please refer to Figure 7 , Figure 7 which is a schematic structural diagram of a data test device for autonomous driving provided by an embodiment of this application. The data test device for autonomous driving can be a computer program (including program code) running in a computer device. For example, the data test device for autonomous driving is an application software; the data test device for autonomous driving can be used to execute the method shown in Figure 3 . As shown in Figure 7 , the data test device 1 for autonomous driving can include: an information acquisition module 11, an environment creation module 12, a position acquisition module 13, and a data prediction module 14.
[0173] An information acquisition module 11 is configured to acquire a test task and task configuration information corresponding to the test task; the task configuration information includes test scenario information configured for the test task, a first autonomous driving model, and a second autonomous driving model;
[0174] An environment creation module 12 is configured to create a virtual driving environment based on the test scenario information;
[0175] A position acquisition module 13 is configured to acquire the simulated vehicle position of a target simulated vehicle on a simulated driving trajectory in the virtual driving environment;
[0176] A data prediction module 14 is configured to perform driving prediction on the target simulated vehicle at the simulated vehicle position through the first autonomous driving model to obtain first predicted driving data; the first predicted driving data has driving control authority for the target simulated vehicle, and the driving control authority refers to the authority to control the target simulated vehicle to drive and update the simulated driving trajectory;
[0177] The data prediction module 14 is further configured to perform driving prediction on the target simulated vehicle at the simulated vehicle position synchronously through the second autonomous driving model to obtain second predicted driving data; the second predicted driving data does not have driving control authority;
[0178] Among them, for the specific implementation manners of the information acquisition module 11, the environment creation module 12, the position acquisition module 13, and the data prediction module 14, reference can be made to the descriptions of steps S101 - S104 in the corresponding embodiments above, which will not be elaborated here. Figure 3 The description will not be repeated here.
[0179] In one embodiment, the virtual driving environment further includes a target virtual road and an obstacle object with object behavior parameters at an obstacle object generation point; the obstacle object generation point is located in the target virtual road; the target virtual road includes a simulated driving trajectory; the simulated driving trajectory includes N simulated vehicle positions, and the N simulated vehicle positions include the simulated vehicle position M i ; N is a positive integer, and i is a positive integer less than or equal to N;
[0180] The data prediction module 14 may include: a first parameter input unit 141, a first parameter prediction unit 142, and a first data determination unit 143.
[0181] The first parameter input unit 141 is configured to input the target virtual road, the target simulated vehicle, the simulated vehicle position M i , and the obstacle object with object behavior parameters at the obstacle object generation point into the first autonomous driving model;
[0182] The first parameter prediction unit 142 is configured to, through the first autonomous driving model, the target virtual road, and the simulated vehicle position Mi An obstacle object with object behavior parameters at the obstacle object generation point determines the first predicted behavior parameter of the target simulation vehicle at the simulation vehicle position M i ;
[0183] The first parameter prediction unit 142 is further configured to determine the first predicted arrival position of the target simulation vehicle based on the simulation vehicle position M i and the first predicted behavior parameter;
[0184] The first data determination unit 143 is configured to determine the first predicted behavior parameter and the first predicted arrival position as the first predicted driving data.
[0185] Among them, for the specific implementation manners of the first parameter input unit 141, the first parameter prediction unit 142, and the first data determination unit 143, reference may be made to the description of step S102 in the corresponding embodiment above, and details will not be elaborated here. Figure 3
[0186] In one embodiment, the data test device 1 based on autonomous driving may further include: a vehicle driving module 16, a trajectory acquisition module 17, and a trajectory update module 18.
[0187] The vehicle driving module 16 is configured to determine the first predicted arrival position as the simulation vehicle position M i+1 , and control the target simulation vehicle to travel from the simulation vehicle position M i to the simulation vehicle position M i+1 ;
[0188] The trajectory acquisition module 17 is configured to acquire the driving trajectory data of the target simulation vehicle traveling from the simulation vehicle position M i to the simulation vehicle position M i+1 with the first predicted behavior parameter;
[0189] The trajectory update module 18 is configured to update the simulation driving trajectory according to the driving trajectory data.
[0190] Among them, for the specific implementation manners of the vehicle driving module 16, the trajectory acquisition module 17, and the trajectory update module 18, reference may be made to the description of step S102 in the corresponding embodiment above, and details will not be elaborated here. Figure 3
[0191] In one embodiment, the data prediction module 14 may include: a second parameter input unit 144, a second parameter prediction unit 145, and a second data determination unit 146.
[0192] The second parameter input unit 144 is configured to input the target virtual road, the target simulation vehicle, and the simulation vehicle position Mi An obstacle object with object behavior parameters at the obstacle object generation point is input into the second autonomous driving model;
[0193] The second parameter prediction unit 145 is configured to determine the second predicted behavior parameter of the target simulation vehicle at the simulation vehicle position M through the second autonomous driving model, the target virtual road, and the simulation vehicle position M i An obstacle object with object behavior parameters at the obstacle object generation point is used to determine the second predicted behavior parameter of the target simulation vehicle at the simulation vehicle position M i ;
[0194] The second parameter prediction unit 145 is further configured to determine the second predicted arrival position of the target simulation vehicle based on the simulation vehicle position M i and the second predicted behavior parameter;
[0195] The second data determination unit 146 is configured to determine the second predicted behavior parameter and the second predicted arrival position as the second predicted driving data.
[0196] Among them, for the specific implementation manners of the second parameter input unit 144, the second parameter prediction unit 145, and the second data determination unit 146, reference may be made to the description in step S103 in the corresponding embodiment above, and details will not be elaborated here. Figure 3 In an embodiment, the simulation driving trajectory includes N simulation vehicle positions, and the N simulation vehicle positions include the simulation vehicle position M
[0197] ; N is a positive integer, and i is a positive integer less than or equal to N; i ;
[0198] The autonomous driving-based data testing device 1 may further include: a driving data comparison module 19, an analysis result determination module 21, and a model update module 15.
[0199] The driving data comparison module 19 is configured to obtain the predicted driving data S i corresponding to the simulation vehicle position M in the first predicted driving data i ; The predicted driving data S i is the predicted driving data obtained by the first autonomous driving model for predicting the driving of the target simulation vehicle at the simulation vehicle position M i ;
[0200] The driving data comparison module 19 is further configured to obtain the predicted driving data T i corresponding to the simulation vehicle position M in the second predicted driving data i ; The predicted driving data T i is the predicted driving data obtained by the second autonomous driving model for predicting the driving of the target simulation vehicle at the simulation vehicle position M i ;
[0201] The driving data comparison module 19 is configured to compare the predicted driving data S i with the predicted driving data T i for comparative analysis to obtain the analysis result corresponding to the simulated vehicle position M i ;
[0202] The analysis result determination module 21 is configured to, when obtaining the analysis results corresponding to N simulated vehicle positions respectively, determine the comparative analysis result between the first predicted driving data and the second predicted driving data according to the analysis results corresponding to the N simulated vehicle positions respectively;
[0203] The model update module 15 is configured to update the second autonomous driving model according to the comparative analysis result between the first predicted driving data and the second predicted driving data to obtain a target autonomous driving model; the target autonomous driving model is used to control a real vehicle to drive in the real driving environment corresponding to the test scenario information.
[0204] Among them, for the specific implementation manners of the driving data comparison module 19, the analysis result determination module 21, and the model update module 15, reference may be made to the descriptions in steps S201 - S205 in the corresponding embodiments above, which will not be elaborated here. Figure 4 For the description in steps S201 - S205 in the corresponding embodiments above, which will not be elaborated here.
[0205] In one embodiment, the driving data comparison module 19 may include: an accident rate determination unit 191, an accident rate matching unit 192, and a comparison result determination unit 193.
[0206] The accident rate determination unit 191 is configured to determine the first accident incidence rate corresponding to the predicted driving data S i and the second accident incidence rate corresponding to the predicted driving data T i ;
[0207] The accident rate matching unit 192 is configured to match the first accident incidence rate with the second accident incidence rate;
[0208] The comparison result determination unit 193 is configured to, if the first accident incidence rate is greater than the second accident incidence rate, determine the analysis result corresponding to the simulated vehicle position M i as the model improvement result; the model improvement result is used to indicate that in the simulated vehicle position M i the autonomous driving quality of the second autonomous driving model is better than that of the first autonomous driving model;
[0209] The comparison result determination unit 193 is further configured to, if the first accident incidence rate is less than or equal to the second accident incidence rate, determine the analysis result corresponding to the simulated vehicle position M i as the model non - improvement result; the model non - improvement result is used to indicate that in the simulated vehicle position Mi Among them, the autonomous driving quality of the second autonomous driving model is worse than that of the first autonomous driving model.
[0210] Among them, for the specific implementation manners of the accident rate determination unit 191, the accident rate matching unit 192, and the comparison result determination unit 193, reference can be made to the description in step S104 in the corresponding embodiment above, and details will not be elaborated here. Figure 3 Reference can be made to the description in step S104 in the corresponding embodiment above, and details will not be elaborated here.
[0211] In one embodiment, the analysis result determination module 21 may include: a result statistics unit 211 and an analysis result determination unit 212.
[0212] The result statistics unit 211 is configured to determine, among the analysis results corresponding to the positions of N simulated vehicles respectively, the analysis results that are model improvement results as target analysis results.
[0213] The result statistics unit 211 is further configured to count the first result quantity of the target analysis results and the second result quantity of the remaining analysis results; the remaining analysis results are the analysis results other than the model improvement results among the analysis results corresponding to the positions of N simulated vehicles respectively.
[0214] The result statistics unit 211 is further configured to determine the quantity ratio between the first result quantity and the second result quantity.
[0215] The analysis result determination unit 212 is configured to determine the comparative analysis result between the first predicted driving data and the second predicted driving data according to the quantity ratio.
[0216] Among them, for the specific implementation manners of the result statistics unit 211 and the analysis result determination unit 212, reference can be made to the description in step S104 in the corresponding embodiment above, and details will not be elaborated here. Figure 3 Reference can be made to the description in step S104 in the corresponding embodiment above, and details will not be elaborated here.
[0217] In one embodiment, the analysis result determination unit 212 is further specifically configured to, if the quantity ratio is greater than or equal to the ratio threshold, determine the comparative analysis result between the first predicted driving data and the second predicted driving data as a model excellent result; the model excellent result is used to indicate that in the test scenario information, the autonomous driving quality of the second autonomous driving model is better than that of the first autonomous driving model.
[0218] The analysis result determination unit 212 is further specifically configured to, if the quantity ratio is less than the ratio threshold, determine the comparative analysis result between the first predicted driving data and the second predicted driving data as a model to be updated result; the model to be updated result is used to indicate that in the test scenario information, the autonomous driving quality of the second autonomous driving model is worse than that of the first autonomous driving model.
[0219] In one embodiment, the model updating module 15 may include: a first model updating unit 151 .
[0220] A first model updating unit 151 is configured to determine the second autonomous driving model as a target autonomous driving model if the comparison analysis result is an excellent model result;
[0221] The first model updating unit 151 is also used to adjust and update the logical parameters of the second automatic driving model according to the second predicted driving data to obtain the target automatic driving model if the comparison analysis result is a model update result.
[0222] The specific implementation of the first model updating unit 151 can be found in the above Figure 3 The description of step S104 in the corresponding embodiment will not be repeated here.
[0223] In one embodiment, the model updating module 15 may include: a data sending unit 152 , an instruction receiving unit 153 and a second model updating unit 154 .
[0224] The data sending unit 152 is used to send the first predicted driving data, the second predicted driving data, the analysis results corresponding to the N simulated vehicle positions, and the comparative analysis results to a target terminal; the target terminal is a terminal corresponding to a target user; the target user is a user who creates a test task;
[0225] An instruction receiving unit 153 is used to receive an operation instruction sent by a target terminal based on the first predicted driving data, the second predicted driving data, the analysis results corresponding to the N simulated vehicle positions, and the comparative analysis results;
[0226] A second model updating unit 154 is configured to adjust and update the logic parameters of the second automatic driving model according to the second predicted driving data to obtain a target automatic driving model if the operation instruction is a model adjustment instruction;
[0227] The second model updating unit 154 is further used to determine the second autonomous driving model as the target autonomous driving model if the operation indication is a model completion test indication.
[0228] The specific implementation of the data sending unit 152, the instruction receiving unit 153 and the second model updating unit 154 can be found in the above Figure 3 The description of step S104 in the corresponding embodiment will not be repeated here.
[0229] In one embodiment, the environment creation module 12 may include: a road creation unit 121 , a generation point acquisition unit 122 , an object creation unit 123 , a parameter allocation unit 124 , and an environment determination unit 125 .
[0230] A road creation unit 121, configured to obtain a virtual road type required for test scenario information and create a target virtual road belonging to the virtual road type;
[0231] A generation point acquisition unit 122, configured to acquire a host vehicle generation point and an obstacle object generation point in the target virtual road; the host vehicle generation point is the starting point of the trajectory on the simulation driving trajectory;
[0232] An object creation unit 123, configured to generate a target simulation vehicle at the host vehicle generation point and generate an obstacle object at the obstacle object generation point;
[0233] A parameter allocation unit 124, configured to allocate object behavior parameters to the obstacle object according to the test scenario information;
[0234] An environment determination unit 125, configured to determine a virtual environment including the target virtual road, the target simulation vehicle at the host vehicle generation point, and the obstacle object with object behavior parameters at the obstacle object generation point as a virtual driving environment.
[0235] Wherein, for the specific implementation manners of the road creation unit 121, the generation point acquisition unit 122, the object creation unit 123, the parameter allocation unit 124, and the environment determination unit 125, reference may be made to the description in step S102 of the foregoing Figure 3 corresponding embodiment, and details will not be described herein again.
[0236] In one embodiment, the obstacle object includes an obstacle simulation vehicle and an obstacle simulation user;
[0237] The parameter allocation unit 124 is further specifically configured to obtain the vehicle behavior parameters of the obstacle simulation vehicle and the user behavior parameters of the obstacle simulation user required for the test scenario information;
[0238] The parameter allocation unit 124 is further specifically configured to set the behavior parameters of the obstacle simulation vehicle as the vehicle behavior parameters and set the behavior parameters of the obstacle simulation user as the user behavior parameters.
[0239] In one embodiment, the data test device 1 based on autonomous driving may further include: a request acquisition module 22 and an item transportation module 23.
[0240] The request acquisition module 22 is configured to acquire an item delivery request for a target item sent by a delivery terminal; the item delivery request is used to request to deliver the target item from a starting position in the real driving environment to a receiving position in the real driving environment;
[0241] The item transportation module 23 is configured to deploy the target autonomous driving model in a real vehicle based on an item delivery request, and control the real vehicle to transport the target item from a starting position to a receiving position through the target autonomous driving model.
[0242] Among them, for the specific implementation manners of the request acquisition module 22 and the item transportation module 23, reference may be made to the description in step S104 of the corresponding embodiment above. Figure 3 Details will not be elaborated here.
[0243] In the embodiments of the present application, for the same test task, two autonomous driving models (for example, a first autonomous driving model and a second autonomous driving model) can be run simultaneously to execute the test task; when the first autonomous driving model and the second autonomous driving model are run simultaneously for testing, driving control authority can be assigned to the first predicted driving data predicted by the first autonomous driving model, and at the same time, the driving control authority is not assigned to the second predicted driving data predicted by the second autonomous driving model, that is, only the first autonomous driving model has the authority to control the target simulation vehicle to drive, while the second autonomous driving model does not have the authority to drive the target simulation vehicle. Thus, in this test task, the simulated driving trajectory of the target simulation vehicle is obtained according to the first predicted driving data predicted by the first autonomous driving model, and each simulated vehicle position on this simulated driving trajectory is the position reached by driving according to the first predicted driving data. When the target simulation vehicle reaches each simulated vehicle position, the first autonomous driving model will perform the next driving prediction and planning for the target simulation vehicle at this simulated vehicle position. Although the second autonomous driving model will not control the driving of the target simulation vehicle, the second autonomous driving model will still perform the next driving prediction and planning for the target simulation vehicle at this simulated vehicle position. Subsequently, the target simulation vehicle will drive according to the driving data predicted by the first autonomous driving model. After reaching a new simulated vehicle position, the first autonomous driving model and the second autonomous driving model will perform a new round of driving prediction and planning. It can be seen that the present application can, while ensuring that the historical driving trajectories of the target simulation vehicle are the same, the first autonomous driving model and the second autonomous driving model can simultaneously perform different driving prediction and planning at each simulated vehicle position. When the first autonomous driving model and the second autonomous driving model perform driving prediction and planning, all the environmental parameters that affect the driving prediction and planning are the same parameters. In the case where these influencing parameters are the same, the data predicted by the first autonomous driving model and the data predicted by the second autonomous driving model can be compared more accurately and in detail, improving the data comparison accuracy rate; at the same time, the present application can run multiple autonomous driving models simultaneously in a test task, which can reduce the number of comparison tests for autonomous driving models while improving the data comparison accuracy rate, and can improve the iterative update efficiency of autonomous driving models. In summary, the present application can improve the data comparison accuracy rate and the iterative update efficiency of autonomous driving models in the simulation test of autonomous driving models.
[0244] Further, please refer to Figure 8 , Figure 8 which is a schematic structural diagram of a computer device provided by an embodiment of the present application. As Figure 8 shown, the above Figure 7The data testing device 1 for autonomous driving in the corresponding embodiment can be applied to the above computer device 1000. The computer device 1000 may include: a processor 1001, a network interface 1004, and a memory 1005. In addition, the computer device 1000 further includes: a user interface 1003 and at least one communication bus 1002. Among them, the communication bus 1002 is used to realize the connection and communication between these components. Among them, the user interface 1003 may include a display screen (Display) and a keyboard (Keyboard). Optionally, the user interface 1003 may further include a standard wired interface and a wireless interface. The network interface 1004 may optionally include a standard wired interface and a wireless interface (such as a WI-FI interface). The memory 1005 may be a high-speed RAM memory or a non-volatile memory, such as at least one disk memory. Optionally, the memory 1005 may further be at least one storage device located far from the aforementioned processor 1001. As Figure 8 shown, the memory 1005, as a computer-readable storage medium, may include an operating system, a network communication model, a user interface model, and a device control application program.
[0245] In Figure 8 the computer device 1000 shown, the network interface 1004 can provide network communication functions; while the user interface 1003 is mainly used to provide an input interface for users; and the processor 1001 can be used to call the device control application program stored in the memory 1005 to achieve:
[0246] Obtain a test task and task configuration information corresponding to the test task; the task configuration information includes test scenario information configured for the test task, a first autonomous driving model, and a second autonomous driving model;
[0247] Create a virtual driving environment based on the test scenario information, obtain the position of the target simulation vehicle on the simulation driving trajectory in the virtual driving environment, and perform a driving prediction on the target simulation vehicle at the simulation vehicle position through the first autonomous driving model to obtain first predicted driving data; the first predicted driving data has the driving control authority for the target simulation vehicle, and the driving control authority refers to the authority to control the target simulation vehicle to drive and update the simulation driving trajectory;
[0248] Through the second autonomous driving model, synchronously perform a driving prediction on the target simulation vehicle at the simulation vehicle position to obtain second predicted driving data; the second predicted driving data does not have the driving control authority.
[0249] It should be understood that the computer device 1000 described in the embodiments of the present application can execute the foregoing Figures 3 to 4The description of the data testing method based on autonomous driving in the corresponding embodiment can also be executed as described above. Figure 7 The description of the data testing device 1 based on autonomous driving in the corresponding embodiment will not be repeated here. In addition, the description of the beneficial effects of using the same method will not be repeated either.
[0250] In addition, it should be noted here that: The embodiment of the present application also provides a computer-readable storage medium, and the computer-readable storage medium stores a computer program executed by the computer device 1000 for data processing mentioned above. The computer program includes program instructions. When the above-mentioned processor executes the above-mentioned program instructions, it can execute the description of the data testing method based on autonomous driving in the corresponding embodiment as described above. Therefore, it will not be repeated here. In addition, the description of the beneficial effects of using the same method will not be repeated either. For the technical details not disclosed in the embodiment of the computer-readable storage medium involved in the present application, please refer to the description of the method embodiment of the present application. Figures 3 to 4 The description of the data testing method based on autonomous driving in the corresponding embodiment will not be repeated here. In addition, the description of the beneficial effects of using the same method will not be repeated either. For the technical details not disclosed in the embodiment of the computer-readable storage medium involved in the present application, please refer to the description of the method embodiment of the present application.
[0251] The above computer-readable storage medium may be an internal storage unit of the data testing device based on autonomous driving provided in any of the foregoing embodiments or the above computer device, such as the hard disk or memory of the computer device. The computer-readable storage medium may also be an external storage device of the computer device, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. equipped on the computer device. Further, the computer-readable storage medium may also include both the internal storage unit and the external storage device of the computer device. The computer-readable storage medium is used to store the computer program and other programs and data required by the computer device. The computer-readable storage medium may also be used to temporarily store data that has been output or will be output.
[0252] In one aspect of the present application, a computer program product or a computer program is provided. The computer program product or the computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the method provided in one aspect of the embodiment of the present application.
[0253] In the description, claims, and drawings of the embodiments of the present application, terms such as "first" and "second" are used to distinguish different objects, rather than to describe a specific order. In addition, the term "comprising" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, device, product, or equipment that includes a series of steps or units is not limited to the listed steps or units, but may optionally further include steps or units not listed, or may optionally further include other steps or units inherent to these processes, methods, devices, products, or equipment.
[0254] Those of ordinary skill in the art can realize that the units and algorithm steps of the examples described in combination with the embodiments disclosed herein can be implemented by electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the examples have been generally described according to their functions in the above description. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. A professional technician can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present application.
[0255] The methods and related devices provided by the embodiments of the present application are described with reference to the method flowcharts and / or structural schematic diagrams provided by the embodiments of the present application. Specifically, each process and / or block of the method flowchart and / or structural schematic diagram, as well as the combination of the processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to generate a machine, such that the instructions executed by the processor of the computer or other programmable data processing devices generate a device for implementing the functions specified in Figure 1 one process or multiple processes and / or structural schematic Figure 1 one block or multiple blocks. These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, such that the instructions stored in the computer-readable memory generate a manufactured product including an instruction device that implements the functions specified in Figure 1 one process or multiple processes and / or structural schematic Figure 1 one block or multiple blocks. These computer program instructions can also be loaded onto a computer or other programmable data processing device, such that a series of operation steps are executed on the computer or other programmable device to generate a computer-implemented process, so that the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in Figure 1 one process or multiple processes and / or structural schematic one block or multiple blocks.
[0256] The above disclosure is only for the preferred embodiments of the present application. Of course, the scope of rights of the present application cannot be limited thereby. Therefore, equivalent changes made according to the claims of the present application still fall within the scope covered by the present application.
Claims
1. A data testing method based on autonomous driving, characterized in that, Including: Obtain a test task and task configuration information corresponding to the test task; the task configuration information includes test scenario information configured for the test task, a first autonomous driving model, and a second autonomous driving model; Create a virtual driving environment based on the test scenario information, obtain the position of a target simulation vehicle on a simulation driving trajectory in the virtual driving environment, and perform a driving prediction on the target simulation vehicle at the simulation vehicle position through the first autonomous driving model to obtain first predicted driving data; the first predicted driving data has driving control authority for the target simulation vehicle, and the driving control authority refers to the authority to control the target simulation vehicle to drive and update the simulation driving trajectory; Through the second autonomous driving model, simultaneously perform a driving prediction on the target simulation vehicle at the simulation vehicle position to obtain second predicted driving data; the second predicted driving data does not have the driving control authority; the first predicted driving data and the second predicted driving data are used to compare and analyze the differences in autonomous driving quality between the first autonomous driving model and the second autonomous driving model.
2. The method according to claim 1, wherein The virtual driving environment further includes a target virtual road and an obstacle object with object behavior parameters at an obstacle object generation point; the obstacle object generation point is located in the target virtual road; The target virtual road includes the simulated driving trajectory; the simulated driving trajectory includes N simulated vehicle positions, and the N simulated vehicle positions include the simulated vehicle position M i ; N is a positive integer, and i is a positive integer less than or equal to N; The performing a driving prediction on the target simulation vehicle at the simulation vehicle position through the first autonomous driving model to obtain first predicted driving data includes: Input the target virtual road, the target simulation vehicle, and the simulation vehicle position M i , and the obstacle object with object behavior parameters at the obstacle object generation point into the first autonomous driving model; Through the first autonomous driving model, the target virtual road, and the simulation vehicle position M i , and the obstacle object with object behavior parameters at the obstacle object generation point, determine the first predicted behavior parameter of the target simulation vehicle at the simulation vehicle position M i ; Based on the simulated vehicle position M i and the first predicted behavior parameter, determine the first predicted arrival position of the target simulated vehicle; Determine the first predicted driving data as the first predicted behavior parameter and the first predicted arrival position.
3. The method according to claim 2, wherein The method further includes: Determine the first predicted arrival position as the simulation vehicle position M i+1 , and control the target simulation vehicle to travel from the simulation vehicle position M with the first predicted behavior parameters i to the simulation vehicle position M i+1 ; Obtain the driving trajectory data of the target simulation vehicle from the simulation vehicle position M with the first predicted behavior parameter i when driving to the simulation vehicle position M i+1 ; Update the simulation driving trajectory according to the driving trajectory data.
4. The method according to claim 2, characterized in that, The simultaneously performing a driving prediction on the target simulation vehicle at the simulation vehicle position through the second autonomous driving model to obtain second predicted driving data includes: Input the target virtual road, the target simulation vehicle, and the simulation vehicle position M i , and the obstacle object with object behavior parameters at the obstacle object generation point into the second autonomous driving model; Based on the second autonomous driving model, the target virtual road, and the simulation vehicle position M i , and the obstacle object with object behavior parameters at the obstacle object generation point, determine the second predicted behavior parameter of the target simulation vehicle at the simulation vehicle position M i ; Based on the simulated vehicle position M i and the second predicted behavior parameter, determine the second predicted arrival position of the target simulated vehicle; Determine the second predicted driving data as the second predicted behavior parameter and the second predicted arrival position.
5. The method according to claim 1, characterized in that, The simulated driving trajectory includes N simulated vehicle positions, and the N simulated vehicle positions include the simulated vehicle position M i ; N is a positive integer, and i is a positive integer less than or equal to N; The method further includes: Obtain the simulation vehicle position M in the first predicted driving data i The corresponding predicted driving data S i ; The predicted driving data S i is the predicted driving data obtained by the first autonomous driving model for predicting the driving of the target simulation vehicle at the simulation vehicle position M i ; Obtain the position M of the simulated vehicle in the second predicted driving data i The corresponding predicted driving data T i ; The predicted driving data T i is the predicted driving data obtained by the second automatic driving model for predicting the driving of the target simulated vehicle at the position M of the simulated vehicle i ; Compare the predicted driving data S i with the predicted driving data T i to perform a comparative analysis and obtain the analysis result corresponding to the position M of the simulation vehicle i ; When obtaining the analysis results corresponding to the N simulation vehicle positions respectively, determine the comparative analysis result between the first predicted driving data and the second predicted driving data according to the analysis results corresponding to the N simulation vehicle positions respectively; Update the second autonomous driving model according to the comparative analysis result between the first predicted driving data and the second predicted driving data to obtain a target autonomous driving model; the target autonomous driving model is used to control a real vehicle to drive in a real driving environment corresponding to the test scenario information.
6. The method according to claim 5, wherein The prediction driving data S i is compared and analyzed with the prediction driving data T i to obtain the analysis result corresponding to the simulation vehicle position M i including: Determine the predicted driving data S i corresponding first accident incidence rate, and the predicted driving data T i corresponding second accident incidence rate; Match the first accident incidence rate with the second accident incidence rate; If the first accident incidence rate is greater than the second accident incidence rate, then the position M of the simulated vehicle i The corresponding analysis result is determined as the model improvement result; the model improvement result is used to indicate that i at the position M of the simulated vehicle, the autonomous driving quality of the second autonomous driving model is better than that of the first autonomous driving model; If the first accident incidence rate is less than or equal to the second accident incidence rate, then the simulation vehicle position M i corresponding analysis result is determined as the model non - improvement result; the model non - improvement result is used to indicate that i in the simulation vehicle position M, the autonomous driving quality of the second autonomous driving model is worse than that of the first autonomous driving model.
7. The method according to claim 6, wherein The determining the comparative analysis result between the first predicted driving data and the second predicted driving data according to the analysis results corresponding to the N simulation vehicle positions respectively includes: Among the analysis results corresponding to the N simulated vehicle positions respectively, the analysis result that is the progress result of the model is determined as the target analysis result; Count the first result quantity of the target analysis result and the second result quantity of the remaining analysis results; the remaining analysis results are the analysis results corresponding to the N simulated vehicle positions respectively, excluding the progress result of the model; Determine the quantity ratio of the first result quantity to the second result quantity, and determine the comparative analysis result between the first predicted driving data and the second predicted driving data according to the quantity ratio.
8. The method according to claim 7, wherein The determining the comparative analysis result between the first predicted driving data and the second predicted driving data according to the quantity ratio includes: If the quantity ratio is greater than or equal to the ratio threshold, then determine the comparative analysis result between the first predicted driving data and the second predicted driving data as the excellent model result; the excellent model result is used to prompt that in the test scenario information, the autonomous driving quality of the second autonomous driving model is better than that of the first autonomous driving model; If the quantity ratio is less than the ratio threshold, then determine the comparative analysis result between the first predicted driving data and the second predicted driving data as the model to be updated result; the model to be updated result is used to prompt that in the test scenario information, the autonomous driving quality of the second autonomous driving model is worse than that of the first autonomous driving model.
9. The method according to claim 8, wherein The updating the second autonomous driving model according to the comparative analysis result between the first predicted driving data and the second predicted driving data to obtain the target autonomous driving model includes: If the comparative analysis result is the excellent model result, then determine the second autonomous driving model as the target autonomous driving model; If the comparative analysis result is the model to be updated result, then adjust and update the logical parameters of the second autonomous driving model according to the second predicted driving data to obtain the target autonomous driving model.
10. The method according to claim 8, characterized in that, The updating the second autonomous driving model according to the comparative analysis result between the first predicted driving data and the second predicted driving data to obtain the target autonomous driving model includes Send the first predicted driving data, the second predicted driving data, the analysis results corresponding to the N simulated vehicle positions respectively, and the comparative analysis result to the target terminal; The target terminal is the terminal corresponding to the target user; The target user is the user who creates the test task; Receive the operation instruction sent by the target terminal based on the first predicted driving data, the second predicted driving data, the analysis results corresponding to the N simulated vehicle positions respectively, and the comparative analysis result; If the operation instruction is a model adjustment instruction, then adjust and update the logical parameters of the second autonomous driving model according to the second predicted driving data to obtain the target autonomous driving model; If the operation instruction is a model test completion instruction, then determine the second autonomous driving model as the target autonomous driving model.
11. The method according to claim 2, characterized in that, Creating a virtual driving environment based on the test scenario information includes: Obtaining the virtual road type required for the test scenario information and creating the target virtual road belonging to the virtual road type; Obtaining the main vehicle generation point and the obstacle object generation point in the target virtual road; the main vehicle generation point is the trajectory starting point on the simulation driving trajectory; Generating the target simulation vehicle at the main vehicle generation point and generating the obstacle object at the obstacle object generation point; Allocating object behavior parameters to the obstacle object according to the test scenario information, and determining the virtual environment including the target virtual road, the target simulation vehicle at the main vehicle generation point, and the obstacle object with the object behavior parameters at the obstacle object generation point as the virtual driving environment.
12. The method according to claim 11, wherein The obstacle object includes an obstacle simulation vehicle and an obstacle simulation user; Allocating object behavior parameters to the obstacle object according to the test scenario information includes: Obtaining the vehicle behavior parameters of the obstacle simulation vehicle and the user behavior parameters of the obstacle simulation user required for the test scenario information; Setting the behavior parameters of the obstacle simulation vehicle to the vehicle behavior parameters and setting the behavior parameters of the obstacle simulation user to the user behavior parameters.
13. The method according to claim 5, characterized in that, The method further includes: Obtaining an item delivery request for a target item sent by a delivery terminal; the item delivery request is used to request delivering the target item from a starting position in the real driving environment to a receiving position in the real driving environment; Based on the item delivery request, deploying the target autonomous driving model in the real vehicle, and controlling the real vehicle through the target autonomous driving model to transport the target item from the starting position to the receiving position.
14. A computer device, characterized in that, It includes: A processor, a memory, and a network interface; The processor is connected to the memory and the network interface. Among them, the network interface is used to provide network communication functions, the memory is used to store program codes, and the processor is used to call the program codes to enable the computer device to execute the method according to any one of claims 1-13.
15. A computer-readable storage medium, characterized in that A computer program is stored in the computer-readable storage medium, and the computer program is suitable for being loaded and executed by the processor to execute the method according to any one of claims 1-13.
Citation Information
Patent Citations
Automatic driving vehicle simulation test method and device, computer device and storage medium
CN111505965A
Driving track prediction method and device and automatic driving vehicle
CN112687121A