Data processing method, data processing device, electronic device and medium
By performing scene mining of real road test data, using dynamics model to process control data to generate simulation output, and calculating the difference between vehicle output and simulation output, the problem of high cost of dynamics model evaluation in the prior art is solved, and efficient and accurate dynamics model evaluation is achieved.
Patent Information
- Application Number
- CN202210333411.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-30
- Publication Date
- 2025-04-29
- Estimated Expiration
- 2042-03-30
AI Technical Summary
When evaluating dynamic models in the prior art, it is necessary to design real vehicle tests for different test scenarios, resulting in high time and labor costs.
By performing scene mining on real road test data, dynamic driving data segments corresponding to different scenarios are determined, control data is processed using dynamic models to generate simulation outputs, and the differences between vehicle outputs and simulation outputs are calculated to evaluate the accuracy of dynamic models.
It realizes efficient acquisition of data used to evaluate dynamic model, reduces data acquisition costs, and improves the accuracy and efficiency of dynamic model evaluation.
Smart Images

Figure CN114692305B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computer technology, in particular to autonomous driving technology, and specifically to a data processing method, a data processing device, an electronic device, a computer-readable storage medium, and a computer program product. Background Art
[0002] Artificial intelligence is a discipline that studies how to use computers to simulate certain human thought processes and intelligent behaviors (such as learning, reasoning, thinking, planning, etc.). It includes both hardware-level and software-level technologies. Artificial intelligence hardware technologies generally include technologies such as sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, and big data processing; artificial intelligence software technologies mainly include computer vision technology, speech recognition technology, natural language processing technology, as well as machine learning / deep learning, big data processing technology, knowledge graph technology, and other major directions.
[0003] In autonomous driving technology, in order to provide an effective autonomous driving algorithm for the autonomous driving system, it is necessary to verify the various algorithms and models used in the autonomous driving system in the early stage. For example, various autonomous driving algorithms can be debugged based on the simulation system.
[0004] The methods described in this section are not necessarily methods that have been previously conceived or employed. Unless otherwise indicated, it should not be assumed that any method described in this section is considered to be prior art simply because it is included in this section. Similarly, unless otherwise indicated, the issues mentioned in this section should not be considered to have been recognized in any prior art. Summary of the invention
[0005] The present disclosure provides a data processing method, a data processing device, an electronic device, a computer-readable storage medium, and a computer program product.
[0006] According to one aspect of the present disclosure, a data processing method is provided, comprising: determining a plurality of dynamic driving data segments corresponding to at least one scenario, wherein the dynamic driving data is obtained by performing scenario mining on real road test data; for each of the at least one scenario, determining control data in the dynamic driving data segment corresponding to the scenario and a vehicle output corresponding to the control data, processing the control data using a dynamic model corresponding to the vehicle to obtain a simulated output corresponding to the control data, and determining a difference between the vehicle output and the simulated output in the scenario; and determining evaluation data of the dynamic model based on the difference between the vehicle output and the simulated output in the at least one scenario.
[0007] According to another aspect of the present disclosure, a data processing device is provided, comprising: a data mining unit configured to determine a plurality of dynamic driving data segments corresponding to at least one scenario, wherein the dynamic driving data is obtained by performing scenario mining on real road test data; a difference determination unit configured to: for each of the at least one scenario, determine control data in the dynamic driving data segment corresponding to the scenario and a vehicle output corresponding to the control data, process the control data using a dynamic model corresponding to the vehicle to obtain a simulated output corresponding to the control data, and determine the difference between the vehicle output and the simulated output in the scenario; and an evaluation unit configured to determine evaluation data of the dynamic model based on the difference between the vehicle output and the simulated output in the at least one scenario.
[0008] According to another aspect of the present disclosure, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the method of an embodiment of the present disclosure.
[0009] According to another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to cause the computer to execute the method of the embodiment of the present disclosure.
[0010] According to another aspect of the present disclosure, a computer program product is provided, including a computer program, wherein the computer program implements the method of the embodiment of the present disclosure when executed by a processor.
[0011] According to one or more embodiments of the present disclosure, the dynamics model of the vehicle can be evaluated using driving data in typical scenarios mined from real road test data. This can conveniently obtain a large amount of data in different scenarios that can be used to evaluate the performance of the dynamics model, thereby achieving the evaluation of the dynamics model in an efficient manner.
[0012] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] The accompanying drawings exemplarily illustrate the embodiments and constitute a part of the specification, and together with the text description of the specification, are used to explain the exemplary implementation of the embodiments. The embodiments shown are for illustrative purposes only and do not limit the scope of the claims. In all drawings, the same reference numerals refer to similar but not necessarily identical elements.
[0014] Figure 1 A schematic diagram showing an exemplary system in which the various methods described herein may be implemented according to an embodiment of the present disclosure;
[0015] Figure 2 An exemplary flow chart of a data processing method according to an embodiment of the present disclosure is shown;
[0016] Figure 3 An exemplary process of a kinetic model evaluation method according to an embodiment of the present disclosure is shown;
[0017] Figure 4 An exemplary block diagram of a data processing device according to an embodiment of the present disclosure is shown;
[0018] Figure 5 A structural block diagram of an exemplary electronic device that can be used to implement the embodiments of the present disclosure is shown. DETAILED DESCRIPTION
[0019] The following is a description of exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope of the present disclosure. Similarly, for the sake of clarity and conciseness, the description of well-known functions and structures is omitted in the following description.
[0020] In the present disclosure, unless otherwise specified, the use of the terms "first", "second", etc. to describe various elements is not intended to limit the positional relationship, temporal relationship, or importance relationship of these elements, and such terms are only used to distinguish one element from another element. In some examples, the first element and the second element may refer to the same instance of the element, and in some cases, based on the description of the context, they may also refer to different instances.
[0021] The terms used in the description of various examples in this disclosure are only for the purpose of describing specific examples and are not intended to be limiting. Unless the context clearly indicates otherwise, if the number of elements is not specifically limited, the element can be one or more. In addition, the term "and / or" used in this disclosure covers any one of the listed items and all possible combinations.
[0022] The embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings.
[0023] Figure 1 FIG. 1 is a schematic diagram of an exemplary system 100 in which various methods and apparatuses described herein may be implemented according to an embodiment of the present disclosure. Figure 1 , the system 100 includes one or more client devices 101, 102, 103, 104, 105, and 106, a server 120, and one or more communication networks 110 coupling the one or more client devices to the server 120. The client devices 101, 102, 103, 104, 105, and 106 may be configured to execute one or more applications.
[0024] In an embodiment of the present disclosure, the server 120 may run one or more services or software applications that enable execution of the data processing method according to an embodiment of the present disclosure.
[0025] In some embodiments, server 120 may also provide other services or software applications that may include non-virtualized environments and virtualized environments. In some embodiments, these services may be provided as web-based services or cloud services, such as provided to users of client devices 101, 102, 103, 104, 105, and / or 106 under a software as a service (SaaS) model.
[0026] exist Figure 1 In the configuration shown, the server 120 may include one or more components that implement the functions performed by the server 120. These components may include software components, hardware components, or a combination thereof that can be executed by one or more processors. Users operating client devices 101, 102, 103, 104, 105, and / or 106 may in turn utilize one or more client applications to interact with the server 120 to utilize the services provided by these components. It should be understood that a variety of different system configurations are possible, which may differ from the system 100. Therefore, Figure 1 is one example of a system for implementing the various methods described herein and is not intended to be limiting.
[0027] The user may use client devices 101, 102, 103, 104, 105 and / or 106 to obtain driving data used in embodiments of the present disclosure. The client device may provide an interface that enables the user of the client device to interact with the client device. The client device may also output information to the user via the interface. Figure 1 Only six client devices are depicted, but one skilled in the art will appreciate that the present disclosure may support any number of client devices.
[0028] Client devices 101, 102, 103, 104, 105 and / or 106 may include various types of computer devices, such as portable handheld devices, general-purpose computers (such as personal computers and laptop computers), workstation computers, wearable devices, smart screen devices, self-service terminal devices, service robots, game systems, thin clients, various messaging devices, sensors or other sensing devices, etc. These computer devices may run various types and versions of software applications and operating systems, such as MICROSOFT Windows, APPLE iOS, UNIX-like operating systems, Linux or Linux-like operating systems (such as GOOGLE Chrome OS); or include various mobile operating systems, such as MICROSOFT Windows Mobile OS, iOS, Windows Phone, Android. Portable handheld devices may include cellular phones, smart phones, tablet computers, personal digital assistants (PDAs), etc. Wearable devices may include head-mounted displays (such as smart glasses) and other devices. Game systems may include various handheld game devices, Internet-enabled game devices, etc. Client devices are capable of executing various different applications, such as various Internet-related applications, communication applications (such as email applications), short message service (SMS) applications, and may use various communication protocols.
[0029] The network 110 may be any type of network known to those skilled in the art that may support data communications using any of a variety of available protocols, including but not limited to TCP / IP, SNA, IPX, etc. By way of example only, the one or more networks 110 may be a local area network (LAN), an Ethernet-based network, a token ring, a wide area network (WAN), the Internet, a virtual network, a virtual private network (VPN), an intranet, an extranet, a public switched telephone network (PSTN), an infrared network, a wireless network (e.g., Bluetooth, WIFI), and / or any combination of these and / or other networks.
[0030] Server 120 may include one or more general purpose computers, dedicated server computers (e.g., PC (personal computer) servers, UNIX servers, mid-range servers), blade servers, mainframe computers, server clusters, or any other suitable arrangement and / or combination. Server 120 may include one or more virtual machines running virtual operating systems, or other computing architectures involving virtualization (e.g., one or more flexible pools of logical storage devices that may be virtualized to maintain a server's virtual storage device). In various embodiments, server 120 may run one or more services or software applications that provide the functionality described below.
[0031] The computing units in the server 120 may run one or more operating systems including any of the above operating systems and any commercially available server operating systems. The server 120 may also run any of a variety of additional server applications and / or middle-tier applications, including HTTP servers, FTP servers, CGI servers, JAVA servers, database servers, etc.
[0032] In some implementations, server 120 may include one or more applications to analyze and consolidate data feeds and / or event updates received from users of client devices 101, 102, 103, 104, 105, and / or 106. Server 120 may also include one or more applications to display data feeds and / or real-time events via one or more display devices of client devices 101, 102, 103, 104, 105, and / or 106.
[0033] In some embodiments, the server 120 may be a server of a distributed system, or a server combined with a blockchain. The server 120 may also be a cloud server, or an intelligent cloud computing server or intelligent cloud host with artificial intelligence technology. A cloud server is a host product in a cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and virtual private servers (VPS) services.
[0034] The system 100 may also include one or more databases 130. In some embodiments, these databases may be used to store data and other information. For example, one or more of the databases 130 may be used to store information such as audio files and video files. The databases 130 may reside in various locations. For example, the database used by the server 120 may be local to the server 120, or may be remote from the server 120 and may communicate with the server 120 via a network-based or dedicated connection. The databases 130 may be of different types. In some embodiments, the databases used by the server 120 may be, for example, relational databases. One or more of these databases may store, update, and retrieve data to and from the databases in response to commands.
[0035] In some embodiments, one or more of the databases 130 may also be used by applications to store application data. The databases used by the applications may be different types of databases, such as a key-value store, an object store, or a conventional store backed by a file system.
[0036] Figure 1 The system 100 may be configured and operated in various ways to enable the application of various methods and apparatuses described in the present disclosure.
[0037] In order to conduct preliminary verification of various autonomous driving algorithms used in the autonomous driving system, the simulation system can be used to debug the autonomous driving algorithm to effectively discover the risks in the algorithm. In the simulation system, the dynamics model can be used to simulate the dynamic characteristics of the vehicle. The accuracy of the dynamics model in the simulation system will determine the confidence of the simulation results of the simulation system. Therefore, before applying the dynamics model of the vehicle in the simulation system, the dynamics model needs to be evaluated to determine whether the accuracy of the dynamics model meets the requirements.
[0038] In the related art, data for evaluating the dynamic model is collected by designing a real vehicle test for the dynamic model. However, in order to ensure the accuracy of the evaluation, it is necessary to design a real vehicle test for different test scenarios and collect data for the same test scenario multiple times, which consumes a lot of time and manpower.
[0039] In order to improve the evaluation efficiency and accuracy of the kinetic model, the present disclosure provides a new data processing method for evaluating the kinetic model.
[0040] Figure 2 An exemplary flow chart of a data processing method according to an embodiment of the present disclosure is shown. Figure 1 The client or server implementation shown in Figure 2 Method 200 is shown in FIG.
[0041] like Figure 2 As shown, in step S202, a plurality of dynamic driving data segments corresponding to at least one scene are determined, wherein the dynamic driving data is obtained by performing scene mining on real road test data.
[0042] In step S204, for each of at least one scenario, control data corresponding to the dynamic driving data segment of the scenario and the vehicle output corresponding to the control data are determined, the control data is processed using a dynamic model corresponding to the vehicle to obtain a simulated output corresponding to the control data, and the difference between the vehicle output and the simulated output is determined.
[0043] In step S206 , evaluation data of the dynamics model is determined based on the difference between the vehicle output and the simulation output in at least one scenario.
[0044] By using the method provided by the embodiment of the present disclosure, the dynamics model of the vehicle can be evaluated using driving data in typical scenarios mined from real road test data. In this way, a large amount of data in different scenarios that can be used to evaluate the performance of the dynamics model can be easily obtained, thereby realizing the evaluation of the dynamics model in an efficient manner. By using a large amount of data to evaluate the dynamics model in batches, the influence of accidental factors on the evaluation results of the dynamics model can be effectively eliminated, thereby improving the accuracy of the dynamics model evaluation.
[0045] The principles of the embodiments of the present disclosure will be described in detail below.
[0046] In step S202, a plurality of dynamic driving data segments corresponding to at least one scenario may be determined, wherein the dynamic driving data is obtained by performing scenario mining on real road test data.
[0047] The real road test data may be a collection of data generated in any real driving behavior. The real road test data may include any sensing data collected by the vehicle's sensors during driving, including but not limited to data related to the vehicle's driving process itself (such as speed, acceleration, direction, etc.), environmental data around the vehicle (such as lane information, weather conditions, lighting conditions, other traffic objects around the vehicle (such as vehicles, pedestrians, etc.), etc.), and control data related to vehicle driving (such as steering data, throttle data, braking data, etc.).
[0048] Various scene mining techniques can be used to perform scene mining on real road test data to obtain multiple dynamic driving data segments corresponding to at least one scene. For example, the type of at least one scene that needs to be mined can be predetermined. In some examples, at least one scene may include at least one of straight driving, turning, U-turn, lane change, roundabout, and abnormal vehicle operation. These scenes can cover typical scenes for evaluating dynamic models. Among them, the scene of abnormal vehicle operation refers to a scene in which the vehicle fails to achieve the desired driving behavior. For example, when controlling the vehicle to turn or change lanes, the vehicle may exhibit unexpected driving behaviors such as drawing a dragon forward. In such a scenario, there may be a problem with the coordination between the instructions received by the vehicle and the dynamic control of the vehicle.
[0049] Taking the U-turn scenario as an example, the features of the drive test data under the U-turn scenario can be determined in advance, and the real drive test data can be traversed to mine the data segments in the drive test data that meet the data features of the U-turn scenario, and the mined data segments are used as driving data segments corresponding to the U-turn scenario. Among them, the data features of the U-turn scenario can be determined by using a vision-based method (such as image data around the vehicle collected during the drive test) or a data analysis-based method (such as data analysis of the speed, position and other data of the vehicle over a period of time), thereby realizing scene mining. For other scenarios except the U-turn scenario, similar methods can also be used for scene mining to obtain data segments of the drive test data corresponding to each scenario.
[0050] In order to evaluate the dynamics model, the mined data segment corresponding to the U-turn scenario should include various dynamics data of the vehicle during driving (such as throttle data, brake data, vehicle speed, vehicle acceleration, etc.). In this article, such a data segment containing dynamics data will be referred to as a dynamics data segment.
[0051] By mining the real road test data to obtain dynamic driving data segments in different scenarios, we can quickly obtain a large number of dynamic driving data segments for evaluating the dynamic model using the results of previously accumulated real vehicle tests, without having to specially design corresponding real vehicle tests and collect data. This can improve the efficiency of data collection for evaluating the dynamic model and reduce data collection costs.
[0052] In step S204, for each of the at least one scenario, control data corresponding to the dynamic driving data segment of the scenario and a vehicle output corresponding to the control data may be determined. The control data may be processed using a dynamic model corresponding to the vehicle to obtain a simulated output corresponding to the control data, and a difference between the vehicle output and the simulated output may be determined.
[0053] The dynamic model may be determined based on the type of the corresponding vehicle. For example, different dynamic models may be designed for different types of vehicles such as cars, trucks, and buses. The specific type of the dynamic model is not limited here, as long as the dynamic model can reflect the dynamic characteristics of the vehicle corresponding to the road test data.
[0054] In some embodiments, the control data of the vehicle can be obtained from the dynamic driving data segment corresponding to the scene obtained by step S202. The control data indicates the control input related to the dynamic change received by the vehicle. After receiving such control input, the vehicle will generate feedback of the dynamic system in response to the information of the control input, thereby changing the dynamic characteristics of the vehicle, such as speed, direction, etc. The change of the above dynamic characteristics can control the vehicle to achieve driving needs such as acceleration, deceleration, lane change, and turning. In some examples, when a large number of dynamic driving data segments are obtained by step S202, the dynamic driving data segments of the same scene can be batch processed to extract the control data and vehicle output in multiple dynamic driving data segments corresponding to the scene. This method can improve the efficiency of data processing and reduce time costs.
[0055] The control data may include at least one of the accelerator pedal opening, brake pedal opening, steering wheel angle, and target gear of the vehicle. It is understood that the type of control data is not limited thereto, and those skilled in the art may select any suitable data as the control data based on actual applications.
[0056] The corresponding vehicle output generated in response to the above control data may include at least one of position (longitudinal position and / or lateral position), speed (longitudinal speed and / or lateral speed), acceleration (longitudinal acceleration and / or lateral acceleration), yaw angle, and yaw rate. The above control data is processed by using a dynamic model corresponding to the vehicle to obtain a simulated output corresponding to the control data. For example, the simulated output may include at least one of the simulated position, simulated speed, simulated acceleration, simulated yaw angle, and simulated yaw rate of the vehicle. It is understood that the types of vehicle output and simulated output are not limited thereto, and those skilled in the art may select any suitable data for evaluating the dynamic model based on actual applications.
[0057] The difference between the vehicle output and the simulated output determined in step S204 can reflect the accuracy of the dynamic model of the vehicle. Ideally, the simulated output of the dynamic model should be consistent with the vehicle output in the actual road test data, which means that the dynamic model can simulate the dynamic characteristics of the vehicle well. On the contrary, if the simulated output of the dynamic model is significantly different from the vehicle output in the actual road test data when the input control data is the same, it can be considered that the accuracy of the dynamic model is not high and the accurate simulation of the dynamic characteristics of the vehicle cannot be achieved.
[0058] In step S206 , evaluation data of the dynamics model may be determined based on a difference between the vehicle output and the simulation output in at least one scenario.
[0059] In some embodiments, for each of the at least one scenario, a difference between the vehicle output and the simulated output in the scenario may be determined.
[0060] For each of the multiple dynamic driving data segments corresponding to the scenario, the error between the vehicle output and the simulated output in the dynamic driving data segment can be determined. For example, for the time period corresponding to each dynamic driving data segment, the error between the vehicle output and the simulated output at each time point in the time period can be determined, and the average value (or weighted average value) of the errors corresponding to each time point can be used as the error between the vehicle output and the simulated output in the time period. For another example, the data in the time period can be sampled in any manner (such as sampling multiple discrete and / or continuous time points in the time period), and the average value (or weighted average value) of the errors corresponding to the sampled time points can be used as the error between the vehicle output and the simulated output in the time period.
[0061] As described above, multiple dynamic driving data segments can be mined for the same scene using step S202. Therefore, data statistics can be performed on multiple dynamic driving data segments corresponding to the scene to obtain the statistical result of the error between the vehicle output and the simulated output in the scene as the difference between the vehicle output and the simulated output in the scene. For example, the standard deviation (or any other suitable statistic) of the error between the vehicle output and the simulated output corresponding to different dynamic driving data segments in the same scene can be determined as the difference between the error between the vehicle output and the simulated output in the scene. Using such a method, the evaluation result of the dynamic model in the same scene can be obtained based on a large amount of data, so that the influence of accidental abnormal data on the evaluation result can be eliminated, and the evaluation accuracy of the dynamic model can be improved.
[0062] As mentioned above, the vehicle output and the simulated output may include multiple different parameters. For example, the vehicle output may include multiple vehicle parameters, including but not limited to one or more of the longitudinal position, lateral position, longitudinal velocity, lateral velocity, longitudinal acceleration, lateral acceleration, yaw angle, and yaw rate of the vehicle. Accordingly, the simulated output of the dynamic model may include multiple simulated parameters corresponding to each vehicle parameter. In the case where the vehicle output and the simulated output include multiple different parameters, the parameter statistical results of each vehicle parameter and the simulated parameter corresponding to the vehicle parameter may be weighted summed as the difference between the vehicle output and the simulated output in the scenario. For example, the parameter standard deviation of the error between each vehicle parameter and the corresponding simulation parameter in each dynamic driving data segment may be determined respectively, and the weighted sum of each parameter standard deviation may be used as the difference between the vehicle output and the simulated output in the scenario.
[0063] The evaluation level of the dynamic model in each scenario can be determined based on the difference between the vehicle output and the simulated output in each scenario. In some examples, the difference between the vehicle output and the simulated output determined in each scenario can be compared with a predefined evaluation level threshold to determine the evaluation level of the dynamic model in each scenario. For example, when the difference between the vehicle output and the simulated output is less than or equal to the predefined evaluation level threshold, the evaluation level of the dynamic model in the scenario can be determined to be "qualified". Correspondingly, when the difference between the vehicle output and the simulated output is greater than the predefined evaluation level threshold, the evaluation level of the dynamic model in the scenario can be determined to be "unqualified". It can be understood that, without departing from the principles of the present disclosure, those skilled in the art can set a larger number of evaluation levels for the dynamic model according to actual conditions to perform a more detailed evaluation of the dynamic model.
[0064] For the at least one scenario determined in step S202 , the evaluation data may be determined based on a statistical result of a difference between the vehicle output and the simulation output in the at least one scenario.
[0065] In some examples, the scenarios where the evaluation level of the dynamic model is "qualified" (or better than qualified) can be counted as the evaluation data of the dynamic model. When the absolute number or relative number of scenarios where the evaluation level of the dynamic model is "qualified" (or better than qualified) in at least one scenario is higher than a preset number threshold, it can be considered that the evaluation data of the dynamic model indicates that the dynamic model meets the accuracy requirements. Otherwise, the evaluation data indicates that the dynamic model needs to be further optimized to improve the simulation accuracy.
[0066] In other examples, the differences between the vehicle output and the simulation output in each scenario may be weighted and summed to obtain a comprehensive result of the dynamic model evaluation in at least one scenario as the evaluation data of the dynamic model. When the comprehensive result of the dynamic model evaluation is less than or equal to a preset difference threshold, it can be considered that the evaluation data of the dynamic model indicates that the dynamic model meets the accuracy requirement. Otherwise, the evaluation data indicates that the dynamic model needs to be further optimized to improve the simulation accuracy.
[0067] In other cases, the set of differences between the vehicle output and the simulation output determined for each scenario may be directly determined as evaluation data of the dynamics model. In this case, targeted optimization for scenarios with lower accuracy may be provided for the dynamics model, so that the dynamics model can perform as required in different scenarios.
[0068] Figure 3 An exemplary process 300 of a kinetic model evaluation method according to an embodiment of the present disclosure is shown.
[0069] like Figure 3 As shown, in step S301, the drive test data in the drive test database may be obtained. The roadside database may be a conventional drive test database including normal drive test data, or a drive test problem database including problem data occurring during the drive test. The drive test database may include various driving data collected during historical road tests.
[0070] In step S302, scenario mining can be performed on the data in the road test database. In some embodiments, the scenarios to be mined may be typical scenarios for evaluating the dynamic model, including but not limited to straight driving, turning, U-turn, lane changing, roundabout and other scenarios. It can be obtained from the above routine In other embodiments, the scenarios to be mined may be typical problem scenarios, such as scenarios in which the vehicle fails to achieve the desired driving behavior. For example, when controlling the vehicle to turn or change lanes, the vehicle may exhibit unexpected driving behaviors such as drawing a dragon forward. In such a scenario, there may be a problem with the coordination between the instructions received by the vehicle and the dynamic control of the vehicle. By evaluating the dynamic model using data from such problem scenarios, it can be evaluated whether the dynamic model can still simulate the dynamic characteristics of the vehicle well in extreme cases.
[0071] In step S303, control data in the dynamic driving data segment mined in a scene may be determined, wherein the control data may include at least one of the accelerator pedal opening, brake pedal opening, steering wheel angle, and target gear position of the vehicle.
[0072] In step S304, the vehicle output corresponding to the control data in the mined dynamic driving data segment may be determined, wherein the vehicle output may include at least one of the vehicle's position, speed, acceleration, yaw angle, and yaw rate.
[0073] In step S305, the control data determined in step S303 may be input into the dynamics model of the vehicle to obtain a simulated output of the dynamics model, wherein the simulated output may include at least one of a simulated position, a simulated speed, a simulated acceleration, a simulated yaw angle, and a simulated yaw angular velocity of the vehicle.
[0074] In step S306 , the difference between the vehicle output obtained in step S304 and the simulation output obtained in step S305 may be determined.
[0075] In step S307 , the dynamics model may be evaluated based on the difference between the vehicle output and the simulated output determined in step S306 .
[0076] Table 1 shows a summary of exemplary kinetic model testing results.
[0077] Table 1 Summary of kinetic model test results
[0078]
[0079] Table 1 shows the error between the simulation output and the vehicle output for different parameters, as well as the standard deviation calculated based on the above error. As shown in Table 1, different weight values can be set for different parameters, and the evaluation data score of the dynamic model in this scenario can be determined based on the following formula (1): sum :
[0080]
[0081] where σ x , σ y , σ vx , σ vy , σ ax , σ ay , σ ω They are the standard deviation of longitudinal position, lateral position, longitudinal velocity, lateral velocity, longitudinal acceleration, lateral acceleration, yaw angle, and yaw rate, respectively, and f x 、f y 、f vx 、f vy 、f ax 、f ay , f ω are the weights for the standard deviation of longitudinal position, lateral position, longitudinal velocity, lateral velocity, longitudinal acceleration, lateral acceleration, yaw angle, and yaw rate, respectively. The score calculated using formula (1) is sum It can be used to evaluate the performance of the dynamic model in this scenario. For example, as mentioned above, the score can be compared sum And the predefined evaluation level threshold is used to determine the evaluation level of the dynamic model in this scenario.
[0082] Figure 4 An exemplary block diagram of a data processing device according to an embodiment of the present disclosure is shown.
[0083] like Figure 4 As shown, the data processing device 400 may include a data mining unit 410 , a difference determining unit 420 , and an evaluation unit 430 .
[0084] The data mining unit 410 may be configured to determine a plurality of dynamic driving data segments corresponding to at least one scenario, wherein the dynamic driving data is obtained by scenario mining of real road test data. The difference determination unit 420 may be configured to: for each scenario in at least one scenario, determine the control data in the dynamic driving data segment corresponding to the scenario and the vehicle output corresponding to the control data, process the control data using a dynamic model corresponding to the vehicle to obtain a simulated output corresponding to the control data, and determine the difference between the vehicle output and the simulated output in the scenario. The evaluation unit 430 may be configured to determine evaluation data of the dynamic model based on the difference between the vehicle output and the simulated output in at least one scenario.
[0085] In some embodiments, at least one scenario includes at least one of straight driving, turning, U-turn, lane change, roundabout, and abnormal vehicle operation.
[0086] In some embodiments, the control data includes at least one of an accelerator pedal opening, a brake pedal opening, a steering wheel angle, and a target gear position.
[0087] In some embodiments, the vehicle output includes at least one of the vehicle's position, speed, acceleration, yaw angle, and yaw rate, and the simulation output includes at least one of the vehicle's simulated position, simulated speed, simulated acceleration, simulated yaw angle, and simulated yaw rate.
[0088] In some embodiments, the difference determination unit is configured to batch extract control data and vehicle output from a plurality of dynamic driving data segments corresponding to the scenario.
[0089] In some embodiments, the difference determination unit is configured to: determine, for each dynamic driving data segment among a plurality of dynamic driving data segments corresponding to the scenario, an error between the vehicle output and the simulation output in the dynamic driving data segment; and perform data statistics on the plurality of dynamic driving data segments corresponding to the scenario to obtain a statistical result of the error between the vehicle output and the simulation output under the scenario as the difference between the vehicle output and the simulation output under the scenario.
[0090] In some embodiments, the vehicle output includes multiple vehicle parameters, the simulation output includes multiple simulation parameters corresponding to each vehicle parameter, and the difference determination unit is configured to: perform weighted summation of parameter statistics of each vehicle parameter and the simulation parameter corresponding to the vehicle parameter as the difference between the vehicle output and the simulation output in the scenario.
[0091] In some embodiments, the evaluation unit is configured to determine the evaluation data based on statistical results of differences between the vehicle output and the simulation output in at least one scenario.
[0092] Can be used Figure 4 The units 410 to 540 shown in FIG. Figure 2 Steps S202 to S206 shown in FIG. 1 are not described in detail here.
[0093] In the technical solution disclosed herein, the acquisition, storage and application of user personal information involved are in compliance with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0094] According to an embodiment of the present disclosure, an electronic device is also provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the method according to an embodiment of the present disclosure.
[0095] According to an embodiment of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is further provided, wherein the computer instructions are used to enable a computer to execute a method according to an embodiment of the present disclosure.
[0096] refer to Figure 5 , a block diagram of an electronic device 500 that can be used as a server or client of the present disclosure will now be described, which is an example of a hardware device that can be applied to various aspects of the present disclosure. The electronic device is intended to represent various forms of digital electronic computer devices, such as laptop computers, desktop computers, workbenches, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.
[0097] like Figure 5 As shown, the electronic device 500 includes a computing unit 501, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 502 or a computer program loaded from a storage unit 508 into a random access memory (RAM) 503. In the RAM 503, various programs and data required for the operation of the electronic device 500 can also be stored. The computing unit 501, the ROM 502, and the RAM 503 are connected to each other via a bus 504. An input / output (I / O) interface 505 is also connected to the bus 504.
[0098] Multiple components in the electronic device 500 are connected to the I / O interface 505, including: an input unit 506, an output unit 507, a storage unit 508, and a communication unit 509. The input unit 506 can be any type of device that can input information to the electronic device 500. The input unit 506 can receive input digital or character information and generate key signal input related to user settings and / or function control of the electronic device, and can include but is not limited to a mouse, a keyboard, a touch screen, a track pad, a track ball, a joystick, a microphone, and / or a remote controller. The output unit 507 can be any type of device that can present information, and can include but is not limited to a display, a speaker, a video / audio output terminal, a vibrator, and / or a printer. The storage unit 508 can include but is not limited to a disk, an optical disk. The communication unit 509 allows the electronic device 500 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks, and can include but is not limited to a modem, a network card, an infrared communication device, a wireless communication transceiver, and / or a chipset, such as a Bluetooth™ device, an 802.11 device, a WiFi device, a WiMax device, a cellular communication device, and / or the like.
[0099] The computing unit 501 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 501 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 501 performs the various methods and processes described above, such as methods 200 and 300. For example, in some embodiments, methods 200 and 300 may be implemented as a computer software program, which is tangibly included in a machine-readable medium, such as a storage unit 508. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 500 via the ROM 502 and / or the communication unit 509. When the computer program is loaded into the RAM 503 and executed by the computing unit 501, one or more steps of the methods 200 and 300 described above may be performed. Alternatively, in other embodiments, the computing unit 501 may be configured to execute the methods 200 and 300 in any other appropriate manner (eg, by means of firmware).
[0100] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0101] The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0102] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0103] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0104] The systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), and the Internet.
[0105] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship of client and server is generated by computer programs running on respective computers and having a client-server relationship with each other. The server may be a cloud server, a server of a distributed system, or a server combined with a blockchain.
[0106] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in this disclosure can be performed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this document does not limit this.
[0107] Although the embodiments or examples of the present disclosure have been described with reference to the accompanying drawings, it should be understood that the above-mentioned methods, systems and devices are merely exemplary embodiments or examples, and the scope of the present invention is not limited by these embodiments or examples, but only by the claims after authorization and their equivalent scope. Various elements in the embodiments or examples can be omitted or replaced by their equivalent elements. In addition, each step can be performed in an order different from that described in the present disclosure. Further, the various elements in the embodiments or examples can be combined in various ways. It is important that with the evolution of technology, many elements described herein can be replaced by equivalent elements that appear after the present disclosure.
Claims
1. A data processing method, comprising: Determining a plurality of dynamic driving data segments corresponding to at least one scenario, wherein the dynamic driving data is obtained by performing scenario mining on real road test data, wherein the scenario mining comprises traversing the real road test data according to data features of a predetermined scenario determined in advance to obtain data segments that meet the data features of the predetermined scenario; For each of the at least one scenario, determining control data in the dynamic driving data segment corresponding to the scenario and a vehicle output corresponding to the control data, processing the control data using a dynamics model corresponding to the vehicle to obtain a simulated output corresponding to the control data, and determining a difference between the vehicle output and the simulated output in the scenario; and determining evaluation data of the dynamics model based on the difference between the vehicle output and the simulated output in the at least one scenario. 2 . The data processing method according to claim 1 , wherein the at least one scenario comprises at least one of straight driving, turning, U-turn, lane changing, roundabout and abnormal vehicle operation.
3. The data processing method according to claim 1, wherein: The control data includes at least one of an accelerator pedal opening, a brake pedal opening, a steering wheel angle, and a target gear position.
4. The data processing method according to claim 3, wherein: The vehicle output includes at least one of the vehicle's position, speed, acceleration, yaw angle, and yaw angular velocity, and the simulation output includes at least one of the vehicle's simulated position, simulated speed, simulated acceleration, simulated yaw angle, and simulated yaw angular velocity.
5. The data processing method according to claim 1, wherein: Determining control data corresponding to the dynamic driving data segment of the scenario and a vehicle output corresponding to the control data comprises: The control data and the vehicle output in a plurality of dynamic driving data segments corresponding to the scenario are batch extracted.
6. The data processing method according to any one of claims 1 to 5, wherein: Determining the difference between the vehicle output and the simulated output for the scenario includes: For each dynamic driving data segment in a plurality of dynamic driving data segments corresponding to the scenario, determining an error between the vehicle output and the simulation output in the dynamic driving data segment; Data statistics are performed on a plurality of dynamic driving data segments corresponding to the scenario to obtain a statistical result of the error between the vehicle output and the simulation output in the scenario as the difference between the vehicle output and the simulation output in the scenario.
7. The data processing method according to claim 6, wherein: The vehicle output includes a plurality of vehicle parameters, the simulation output includes a plurality of simulation parameters corresponding to each vehicle parameter, Wherein, determining the difference between the vehicle output and the simulation output in the scenario includes: A weighted sum is performed on parameter statistics of each vehicle parameter and a simulation parameter corresponding to the vehicle parameter as the difference between the vehicle output and the simulation output in the scenario.
8. The data processing method according to claim 1, wherein: Determining evaluation data of the dynamics model based on a difference between the vehicle output and the simulation output in the at least one scenario includes: The evaluation data is determined based on statistical results of differences between the vehicle output and the simulation output in the at least one scenario.
9. A data processing device, comprising: a data mining unit configured to determine a plurality of dynamic driving data segments corresponding to at least one scenario, wherein the dynamic driving data is obtained by performing scenario mining on real road test data, wherein the scenario mining comprises traversing the real road test data according to data features of a predetermined scenario determined in advance to obtain data segments that meet the data features of the predetermined scenario; The difference determination unit is configured to: For each of the at least one scenario, determining control data in the dynamic driving data segment corresponding to the scenario and a vehicle output corresponding to the control data, processing the control data using a dynamics model corresponding to the vehicle to obtain a simulated output corresponding to the control data, and determining a difference between the vehicle output and the simulated output in the scenario; and an evaluation unit configured to determine evaluation data of the dynamics model based on the difference between the vehicle output and the simulated output in the at least one scenario.
10. The data processing device according to claim 9, wherein the at least one scenario comprises at least one of straight driving, turning, U-turn, lane change, roundabout and abnormal vehicle operation.
11. The data processing apparatus according to claim 9, wherein: The control data includes at least one of an accelerator pedal opening, a brake pedal opening, a steering wheel angle, and a target gear position.
12. The data processing apparatus according to claim 11, wherein: The vehicle output includes at least one of the vehicle's position, speed, acceleration, yaw angle, and yaw angular velocity, and the simulation output includes at least one of the vehicle's simulated position, simulated speed, simulated acceleration, simulated yaw angle, and simulated yaw angular velocity.
13. The data processing apparatus according to claim 9, wherein: The difference determination unit is configured to: The control data and the vehicle output in a plurality of dynamic driving data segments corresponding to the scenario are batch extracted.
14. The data processing device according to any one of claims 9 to 13, wherein: The difference determination unit is configured to: For each dynamic driving data segment in a plurality of dynamic driving data segments corresponding to the scenario, determining an error between the vehicle output and the simulation output in the dynamic driving data segment; Data statistics are performed on a plurality of dynamic driving data segments corresponding to the scenario to obtain a statistical result of the error between the vehicle output and the simulation output in the scenario as the difference between the vehicle output and the simulation output in the scenario.
15. The data processing apparatus according to claim 14, wherein: The vehicle output includes a plurality of vehicle parameters, the simulation output includes a plurality of simulation parameters corresponding to each vehicle parameter, The difference determination unit is configured to: A weighted sum is performed on parameter statistics of each vehicle parameter and a simulation parameter corresponding to the vehicle parameter as the difference between the vehicle output and the simulation output in the scenario.
16. The data processing apparatus according to claim 9, wherein: The evaluation unit is configured to: The evaluation data is determined based on statistical results of differences between the vehicle output and the simulation output in the at least one scenario.
17. An electronic device comprising: at least one processor; as well as a memory communicatively coupled to the at least one processor; in The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 8.
18. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to cause the computer to execute the method according to any one of claims 1-8.
19. A computer program product comprising a computer program, wherein: When the computer program is executed by a processor, the method according to any one of claims 1 to 8 is implemented.
Citation Information
Patent Citations
Vehicle dynamics model optimization method and device, storage medium and terminal equipment
CN111125854A
Simulation-based driving experience data mining model construction method and system
CN113918615A