Simulation test method and device, storage medium and electronic equipment
By adjusting the driving process of traffic objects in the simulation test, the problem of insufficient scene type and interactive intelligence in the existing simulation solution is solved, and more accurate intelligent driving system detection results are achieved.
Patent Information
- Application Number
- CN202411434086.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-14
- Publication Date
- 2025-01-17
AI Technical Summary
In the existing simulation solutions, there are fewer types of simulated traffic scenarios and the actions of traffic participants are fixed and single, resulting in the detection results of the intelligent driving system being inaccurate enough.
By obtaining simulation configuration information, it controls the operation of dynamic obstacles in simulated traffic scenes, receives adjustment instructions from the intelligent driving system, and adjusts the driving process of traffic objects to increase scene diversity and interactive intelligence.
It achieves richer and smarter simulation test scenarios and improves the detection accuracy of the intelligent driving system.
Smart Images

Figure CN119322464A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of simulation, and in particular to a simulation test method, device, storage medium and electronic device. Background Art
[0002] During the production process of vehicles with intelligent driving functions (including automatic driving functions and assisted driving functions), and before vehicles with intelligent driving functions are actually put on the road, simulation methods are needed to detect whether the intelligent driving system that realizes the intelligent driving function in the vehicle can smoothly and reliably control the vehicle's driving on traffic roads.
[0003] In existing simulation schemes, the types of scenes corresponding to traffic flows that can be simulated are relatively few, and the actions of traffic participants in traffic flows (such as various types of vehicles) are fixed and single. However, the actual driving scenes of vehicles and the situations of traffic participants are very complex, which makes the detection results of intelligent driving systems in vehicles in existing simulation schemes inaccurate. Summary of the invention
[0004] In the simulation scheme for intelligent driving system in the related art, the types of traffic scenes that can be simulated are relatively few, and the traffic participants in the simulation scene are not intelligent enough and have weak interaction capabilities. This makes the detection results of the intelligent driving system by the simulation scheme not accurate enough.
[0005] In order to solve the above technical problems, the present disclosure provides a simulation test method, device, storage medium and electronic device to obtain simulation test results of an intelligent driving system in various scenarios.
[0006] The embodiment of the first aspect of the present disclosure provides a simulation test method, including: obtaining simulation configuration information, and controlling the operation of dynamic obstacles in a simulated traffic scene according to the scene text information in the simulation configuration information; receiving a first adjustment instruction from a first intelligent driving system and a second adjustment instruction from a second intelligent driving system; adjusting the driving process of a first traffic object in a dynamic obstacle based on the first adjustment instruction; adjusting the driving process of a second traffic object in a dynamic obstacle based on the second adjustment instruction; controlling the driving of a third traffic object in a dynamic obstacle based on a predetermined rule; using the driving data of the first traffic object, the second traffic object, and the third traffic object during the driving process as the detection result obtained by the simulation test of the second intelligent driving system. Through the technical solution provided by the present disclosure, more simulation test scenarios can be provided and the simulation test results can be more accurate.
[0007] An embodiment of a second aspect of the present disclosure provides a simulation test device, including:
[0008] An acquisition module is used to obtain simulation configuration information;
[0009] The operation module is used to control the operation of dynamic obstacles in the simulated traffic scene according to the scene text information in the simulation configuration information obtained by the acquisition module;
[0010] A receiving module, configured to receive a first adjustment instruction from the first intelligent driving system and a second adjustment instruction from the second intelligent driving system;
[0011] An adjustment module, configured to adjust the driving process of a first traffic object in the dynamic obstacle based on a first adjustment instruction received by the receiving module; adjust the driving process of a second traffic object in the dynamic obstacle based on a second adjustment instruction received by the receiving module; and control the driving of a third traffic object in the dynamic obstacle based on a predetermined rule;
[0012] The processing module is used to use the driving data of the first traffic object, the second traffic object and the third traffic object during the driving process as a simulation test for the second intelligent driving system to obtain a detection result.
[0013] An embodiment of the third aspect of the present disclosure provides a computer-readable storage medium, wherein the storage medium stores a computer program, and the computer program is used to execute the simulation test method provided by the embodiment of the first aspect of the present disclosure.
[0014] According to a fourth aspect of the present disclosure, an electronic device is provided, the electronic device comprising:
[0015] processor;
[0016] a memory for storing instructions executable by the processor;
[0017] The processor is used to read the instructions from the memory and execute the instructions to implement the simulation test method provided in the embodiment of the first aspect of the present disclosure.
[0018] An embodiment of the fifth aspect of the present disclosure provides a computer program product. When an instruction processor in the computer program product executes, the simulation test method provided by the embodiment of the first aspect of the present disclosure is executed.
[0019] The simulation-based test method provided by the present disclosure is applied to a simulation platform. When the simulation platform performs a simulation test on the second intelligent driving system, the driving process of a certain type of traffic participant object (such as the first traffic object) in the simulated traffic scene can be handed over to the first intelligent driving system for control. In this way, since there will be a more intelligent first traffic object in the simulation scene that interacts with the second traffic object (controlled by the second intelligent driving system to be tested) in traffic, there can be more different scenes that are more in line with reality, and the interaction between different traffic objects is also more intelligent, so that the simulation test results of the second intelligent driving system are more accurate. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] Figure 1 It is a schematic diagram of a scenario of a simulation test method applicable to the present disclosure.
[0021] Figure 2 It is a structural diagram of a simulation test system provided by an exemplary embodiment of the present disclosure.
[0022] Figure 3 It is a structural diagram of a simulation test system provided by another exemplary embodiment of the present disclosure.
[0023] Figure 4 The following is a flow chart of a simulation test method provided by an exemplary embodiment of the present disclosure. Figure 1 .
[0024] Figure 5 The following is a flow chart of a simulation test method provided by an exemplary embodiment of the present disclosure. Figure 2 .
[0025] Figure 6 The following is a flow chart of a simulation test method provided by an exemplary embodiment of the present disclosure. Figure 3 .
[0026] Figure 7 The following is a flow chart of a simulation test method provided by an exemplary embodiment of the present disclosure. Figure 4 .
[0027] Figure 8 It is a schematic diagram of a simulation scenario provided by an exemplary embodiment of the present disclosure.
[0028] Fig. 9 The following is a flow chart of a simulation test method provided by an exemplary embodiment of the present disclosure. Figure 5 .
[0029] Fig.10 The following is a flow chart of a simulation test method provided by an exemplary embodiment of the present disclosure. Figure 6 .
[0030] Fig.11The following is a flow chart of a simulation test method provided by an exemplary embodiment of the present disclosure. Figure 7 .
[0031] Fig.12 The following is a flow chart of a simulation test method provided by an exemplary embodiment of the present disclosure. Figure 8 .
[0032] Fig.13 The following is a flow chart of a simulation test method provided by an exemplary embodiment of the present disclosure. Figure 9 .
[0033] Fig.14 It is a structural diagram of a simulation test device provided by an exemplary embodiment of the present disclosure.
[0034] Fig.15 is a structural diagram of a simulation test device provided by another exemplary embodiment of the present disclosure.
[0035] Fig.16 is a structural diagram of an electronic device provided by an exemplary embodiment of the present disclosure. DETAILED DESCRIPTION
[0036] To explain the present disclosure, example embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present disclosure, rather than all of the embodiments. It should be understood that the present disclosure is not limited to the example embodiments.
[0037] It should be noted that the relative arrangement of components and steps, the numerical expressions and numerical values set forth in these embodiments do not limit the scope of the present disclosure unless specifically stated otherwise.
[0038] Application Overview
[0039] The intelligent driving system is an assisted driving system or an automatic driving system developed based on automatic control technology. It can sense and analyze the environmental information around the vehicle, make driving decisions autonomously, and realize automatic driving or semi-automatic driving of the vehicle. In order to ensure that vehicles with intelligent driving functions can complete intelligent driving safely and reliably. During the production process of vehicles with intelligent driving functions, and before vehicles with intelligent driving functions are actually put on the road, the intelligent driving system needs to be tested.
[0040] One of the easiest ways to test is to use a vehicle with intelligent driving functions to test in a real scene. However, this test method involves the modification of vehicles, scene planning, and the investment of test personnel and equipment, which leads to low efficiency, high cost, and long test cycle of real vehicle testing methods, which greatly affects the efficiency of autonomous driving technology research and development.
[0041] Based on this, most manufacturers use efficient and low-cost simulation technology to test intelligent driving systems. In order to achieve effective testing of intelligent driving systems and verify the intelligence and stability of intelligent driving systems, the simulation schemes of related technologies generally use two simulation methods in the simulation platform: software-in-the-loop simulation WorldSim and open-loop simulation LogSim with real vehicle data collection. Among them, WorldSim technology can provide virtual traffic flow, but the behavior of traffic participants (such as cars, pedestrians, etc.) participating in the traffic in the generated virtual traffic flow is relatively simple compared to human driving behavior, resulting in fewer simulated scenes and poor intelligence. The LogSim technology needs to construct simulation scenes based on data recorded by real vehicles, which is relatively costly and the scene types are not rich and balanced enough (there are particularly few scenes of dangerous conditions); in addition, the actions of traffic participants in the simulated traffic flow in this technology are basically fixed and do not have interactive capabilities.
[0042] It can be seen that the existing simulation schemes have few types of scenarios that can be simulated, and the actions of traffic participants (or traffic bodies) in the virtual traffic flow are fixed and single, with poor intelligence. The real driving scenes of vehicles and the situations of traffic participants are very complex, which makes the existing simulation schemes not accurate enough in detecting the intelligent driving system in the vehicle.
[0043] In view of the above technical problems, the present disclosure provides a simulation test method. Figure 1 As shown, in this method, during the simulation test, the driving process of a certain type of traffic participant object (such as the first traffic object) in the simulated traffic scene can be handed over to the first intelligent driving system for control. In this way, since there will be a more intelligent first traffic object in the simulation scene that interacts with the second traffic object (controlled by the second intelligent driving system to be tested) in traffic, there can be more different scenes that are more in line with reality, and the interaction between different traffic objects is also more intelligent, so that the simulation test results of the second intelligent driving system are more accurate.
[0044] Exemplary Systems
[0045] The simulation test method provided by the embodiment of the present disclosure can be applied to Figure 2 The simulation test system shown in FIG. 1 may include a simulation platform 01 (or simulator), a plurality of first intelligent driving systems 02 ( Figure 2 02 - 1 and 02 - 2) and the second intelligent driving system 03 are exemplarily shown in FIG. The simulation platform 01 includes a dynamics engine 012, a traffic flow engine 011 and a map engine 013.
[0046] When the second intelligent driving system 03 needs to be tested, the traffic flow engine 011 first generates a simulated traffic scene based on the pre-stored or pre-input scene configuration data (or simulation configuration information). The scene configuration data may include the names (e.g., virtual vehicles, virtual pedestrians, virtual water barriers, etc.), types (e.g., fixed objects, moving objects, etc.), positions, initial velocities, destinations, and specific driving behaviors (e.g., forward, parking, reversing, parking, etc.) of all traffic participants in the simulated traffic scene. The simulated traffic scene generated by the traffic flow engine 011 based on the scene configuration data may include multiple traffic participants (or dynamic obstacles). The multiple traffic participants may include a first traffic object controlled by the first intelligent driving system 02, a second traffic object controlled by the second intelligent driving system 03, and a third traffic object that needs to travel according to predetermined rules.
[0047] At the same time, the traffic flow engine 011 can control the initial speed, destination and specific driving behavior corresponding to each traffic participant based on the scene configuration data, and control all traffic participants to start running, that is, to start implementing specific driving behaviors.
[0048] In addition, the map engine 013 will also provide map data to the traffic flow engine 011 based on the pre-stored or pre-input high-precision map data, and provide the second intelligent driving system 03 with the positioning information of the second traffic object (such as the name of the road, longitude and latitude, etc.), as well as the map data and navigation data of the area where the second traffic object is located (for example, the area can be a certain administrative area where the second traffic object is located). Among them, the map data may include spatial data and attribute data of various geographical elements such as geographic coordinates, terrain, traffic networks, buildings, and waters. The navigation data may include detailed information on the moving direction and path of the second traffic object. These data generally include road networks, traffic rules, intersections, points of interest (POI), etc., so that the navigation system (here specifically the second intelligent driving system 03) can provide accurate navigation guidance for users. Of course, in practice, the specific content of the map data and navigation data may also include any other possible data, and the present disclosure does not make specific restrictions on this.
[0049] After all traffic participants in the simulated traffic flow start running, the traffic flow engine 011 can receive the state information and positioning information of the second traffic object from the dynamics engine 012. On this basis, the traffic flow engine 011 can obtain the state information and positioning information of all traffic participants except the first traffic object corresponding to the first intelligent driving system 02. The state information may include chassis state information and predicted trajectory information. The chassis state information may include current speed, current acceleration, heading angle, driving mode, etc. The predicted trajectory information may be a predicted trajectory within a certain period of time (e.g., 5s) after the current moment.
[0050] Afterwards, the traffic flow engine 011 can send the state information and positioning information of all traffic participating objects except the first traffic object corresponding to the first intelligent driving system 02 as the first fused obstacle information to the first intelligent driving system 02, so that it generates the first adjustment instruction. Of course, in order to make the first adjustment instruction more accurate, the traffic flow engine 011 will also send the chassis state information and positioning information of the first traffic object to the first intelligent driving system 02 when sending the first fused obstacle information, so that the first intelligent driving system 02 can fully consider the situation of the first traffic object controlled by itself when generating the first adjustment instruction, thereby obtaining a more appropriate first adjustment instruction.
[0051] After the first intelligent driving system 02 generates a first adjustment instruction and sends it to the traffic flow engine 011, the traffic flow engine 011 can adjust the driving process of the first traffic object based on the first adjustment instruction.
[0052] In addition, the traffic flow engine 011 also controls the driving of the third traffic object based on predetermined rules.
[0053] After all traffic participants in the simulated traffic flow start running, during the driving process of the second traffic object, the traffic flow engine 011 can send the status information and positioning information of all traffic participants except the second traffic object as the second fused obstacle to the second intelligent driving system 03, so that it generates a second adjustment instruction. In addition, in order to make the second adjustment instruction more accurate, the dynamics engine 012 will also send the chassis status information of the second traffic object to the second intelligent driving system 03, so that the second intelligent driving system 03 generates a more appropriate second adjustment instruction. After the second driving system 03 sends the second adjustment instruction to the dynamics engine 012, the dynamics engine 012 can adjust the driving process of the second traffic object based on the second adjustment instruction.
[0054] After the dynamics engine 012 completes the adjustment of the driving process of the second traffic object each time, the chassis state information of the adjusted second traffic object can be sent to the second intelligent driving system 03, so that the second intelligent driving system 03 can refer to the chassis state information when generating a new second adjustment instruction. In addition, after the dynamics engine 012 completes the adjustment of the driving process of the second traffic object each time, the positioning message of the adjusted second traffic object can also be sent to the map engine 013, so that the map engine 013 generates the positioning information, new map data and navigation data corresponding to the second traffic object, and sends them to the second intelligent driving system 03, so that the second intelligent driving system 03 can combine the new map data and navigation data to generate a more accurate second adjustment instruction.
[0055] Furthermore, in order to enable the first intelligent driving system 02 to obtain complete first fused obstacle information, the dynamics engine 012 will send the status information and positioning information of the second traffic object to the traffic flow engine 011 after each adjustment of the driving process of the second traffic object, so that the traffic flow engine 011 can generate complete first fused obstacle information.
[0056] In the embodiment of the present disclosure, the first adjustment instruction and the second adjustment instruction may specifically include a target acceleration and a target steering wheel angle.
[0057] In addition, in the embodiment of the present disclosure, the simulation platform 01 can be a server device or a part of a server device. The server device can be a server, a server cluster composed of multiple servers, or a cloud computing service center, or any possible electronic device with the function of a simulation platform, and the present disclosure does not make any specific restrictions on this.
[0058] For the convenience of testing, the second intelligent driving system 03 to be tested can be installed in the server device where the simulation platform is located, and the first intelligent driving system 02 can be an intelligent driving system installed in other electronic devices. Of course, the first intelligent driving system 02 and the second intelligent driving system 03 can also be intelligent driving systems installed in other electronic devices.
[0059] In some embodiments, reference Figure 3 As shown, the traffic flow engine 011 may include multiple models for controlling traffic participating objects. Multiple models may include three models: built-in traffic entity model, built-in intelligent traffic entity model and external intelligent driving agent model. Among them, the built-in traffic entity model can control the first sub-traffic object in the third traffic object to travel according to the set path, and the built-in intelligent traffic entity model can control the second sub-traffic object in the third traffic object to perform simple parking or avoidance processing when encountering obstacles. The external intelligent driving agent model is specifically an agent model or agent system of the first intelligent driving system 02. The external intelligent driving agent model has a first intelligent driving interface, through which the first intelligent driving interface can be connected to the first intelligent driving system 02 to establish a communication link between the external intelligent driving agent model and the first intelligent driving system 02. Each external intelligent driving agent model corresponds to a first intelligent driving interface. The configuration information of the first intelligent driving interface can exist in the scene configuration data. Based on this, the external intelligent driving agent model can achieve the purpose of controlling the first traffic object to complete complex driving content such as following the car or changing lanes through the first intelligent driving interface with the help of the first intelligent driving system 02. In addition, the external intelligent driving agent model also has the ability to start the startup script. After the startup script is started, the first intelligent driving system 02 can be started through the first intelligent driving interface.
[0060] In the disclosed embodiment, among the traffic participants in the simulated traffic scene, only a portion of the first traffic objects may interact with the second traffic objects controlled by the second intelligent driving system 03 to be tested. Therefore, traffic participants other than the first traffic object and the second traffic object (i.e., the third traffic object) do not need to be controlled by a separate first intelligent driving system 02. Based on this, in the disclosed embodiment, the third traffic object other than the first traffic object and the second traffic object will be controlled by a simple control model. For example, the third traffic object can be controlled by a built-in traffic entity model and a built-in intelligent traffic entity model. Each of the second traffic objects can be controlled by a separate external intelligent driving agent model with the help of the capabilities of the first intelligent driving system 02.
[0061] In addition, in order to improve the parallelism of management, reduce the complexity of management, and ensure that the driving process of all traffic participants is synchronized, the traffic flow engine 011 may include a traffic flow management module. The traffic flow management module needs to start (or create) multiple parallel threads to call multiple models to complete the control of traffic participants. Specifically, the multiple parallel threads include a first thread and at least one second thread (the second thread-1 and the second thread-2 are used as examples of the second thread in the figure).
[0062] Among them, since the built-in traffic entity model and the built-in intelligent traffic entity model have simple control actions on the third traffic object, and the related control instructions or messages are also easy to process, the traffic flow management module can start a first thread to call all the built-in traffic entity models and the built-in intelligent traffic entity models to complete the control and adjustment of the operation or driving process of the third traffic object. However, since the control operations that the external intelligent driving agent model needs to implement come from the first intelligent driving system 02, these control operations are numerous and complex, and the related control instructions are not easy to process. In order to ensure parallelism, the traffic flow management module can start multiple second threads to call multiple external intelligent driving agent models one-to-one to complete the control of the driving process of the first traffic object. Of course, if the processing power of the simulation platform is strong enough and the processing performance of a single thread is strong enough, the traffic flow management module can start a second thread to complete the simultaneous calling of multiple external intelligent driving agent models to achieve control of multiple first traffic objects.
[0063] Of course, in practice, the first thread calls the built-in traffic entity model and the built-in intelligent traffic entity model, specifically the processor or system on chip (SOC) of the device where the simulation platform is located, according to the instruction sequence in the first thread.
[0064] Specifically, the built-in traffic entity model can control the first sub-traffic object in the third traffic object to travel according to the driving parameters (such as the starting point, destination, driving speed, driving path (lane-level path), etc.) indicated in the scene configuration information, and the driving path from the starting point to the destination is not changed. For example, if there is a slow virtual pedestrian or virtual vehicle in front of the first sub-traffic object controlled by the built-in traffic entity model, the built-in traffic entity model will control the first sub-traffic object to pass through the virtual pedestrian or virtual vehicle, and then continue to travel according to the set driving path.
[0065] The built-in intelligent traffic entity model can specifically control the second sub-traffic object in the third traffic object to travel according to the driving parameters (such as starting point, destination, driving speed, driving lane, etc.) indicated in the scene configuration information, and perform simple following and lane changing during the driving process. For example, if there is a slow virtual pedestrian or virtual vehicle in front of the second sub-traffic object controlled by the built-in intelligent traffic entity model, the built-in traffic entity model will control the second sub-traffic object to stop, or avoid the virtual pedestrian or virtual vehicle by changing lanes, and then continue to travel according to the set driving path. It should be noted that the control of the third traffic object by the built-in traffic entity model and the built-in intelligent traffic entity model can be completed by the processor or SOC of the device where the simulation platform is located according to the instruction sequence generated by the built-in traffic entity model and the built-in intelligent traffic entity model.
[0066] Similarly, the traffic flow management module will create multiple second threads, and call the external intelligent driving agent model through the second thread to complete the control and adjustment of the operation or driving process of the corresponding first traffic object. Specifically, when the simulation platform starts running, the traffic flow management module can use the second thread to make the external intelligent driving agent model enter the initialization phase first. In the initial phase, the external intelligent driving agent model can start the startup script through the child thread, and after the startup script is started, it can be started through the first intelligent driving interface ( Figure 3 (not shown) sends a start instruction to the corresponding first intelligent driving system 02, so that the first intelligent driving system 02 starts working. Exemplarily, the start instruction can be a SubProcess or an RPC (remote procedure call). It should be noted that in practice, the call to the external intelligent driving agent model can be completed by the processor or system on chip (SOC) of the device where the simulation platform is located according to the instruction sequence in the second thread.
[0067] In addition, after the startup script is enabled, the external intelligent driving agent model can also enable the driving system status tracking function, that is, the external intelligent driving agent model can obtain the chassis status information of the first traffic object it controls in real time or periodically, and generate a predicted trajectory based on the chassis status information, thereby obtaining status information.
[0068] After the first intelligent driving system 02 receives the start-up command and starts working, the external intelligent driving agent model can communicate with the first intelligent driving system 02 through the first intelligent driving interface, and then use the capabilities of the first intelligent driving system 02 to obtain adjustment instructions for the first traffic object.
[0069] Specifically, the traffic flow management module can call the external intelligent driving agent model through the second thread, and send the positioning information of the first traffic object, the regional data and navigation data of the area where the first traffic object is located, the first fused obstacle information, and the chassis status information of the first traffic object to the first intelligent driving system 02 through the first intelligent driving interface. In addition, since the communication protocol supported by the simulation platform and the communication protocol supported by the first intelligent driving system 02 may be different, the external intelligent driving agent model needs to perform protocol conversion before sending when sending information to the first intelligent driving system 02 through the first intelligent driving interface.
[0070] After receiving the information from the external intelligent driving agent model, the first intelligent driving system 02 can generate a first adjustment instruction based on the information and return it to the external intelligent driving agent model through the first intelligent driving interface. After receiving the first adjustment instruction, the external intelligent driving agent model can adjust the driving process of the first traffic object based on the first adjustment instruction. Of course, due to the inconsistency of the communication protocol, the first adjustment instruction can be sent after the protocol conversion ( Figure 3 not shown).
[0071] In addition, the traffic flow management module also obtains the state information and positioning information of all traffic participating objects (first traffic object and third traffic object) controlled by the built-in traffic entity model, the built-in intelligent traffic entity model and the external intelligent driving agent model, and generates the second fused obstacle information based on this information, and then sends the second fused obstacle information to the second intelligent driving system 03, so that the second intelligent driving system 03 generates a suitable second adjustment instruction based on the second fused obstacle information, the positioning information of the second traffic object from the map engine 012, the map data and navigation data of the area where the second traffic object is located from the map engine 012, and the chassis state information of the second traffic object from the dynamics engine 012. After that, the second intelligent driving system 03 can send the second adjustment instruction to the dynamics engine 012 so that it can adjust the driving process of the second traffic object. Of course, the adjustment of the driving process of the second traffic object by the dynamics engine 012 is also specifically completed by the processor or SOC of the device where the simulation platform is located according to the instruction sequence provided by the dynamics engine 012.
[0072] In some embodiments, if the second intelligent driving system and the simulation platform are both in the same device, the interaction between the two can be completed through an interface or port in the device. If the second intelligent driving system and the simulation platform are not in the same device, the interaction between the two can be completed through the communication interface between the devices. Of course, if the second intelligent driving system and the simulation platform interact with each other, the communication protocols supported by the two are inconsistent, and the interactive data also needs to be converted into the communication protocol before being sent.
[0073] The simulation test system provided by the embodiment of the present disclosure, in order to make the simulation scene richer and more intelligent, during the simulation test, the driving process of a certain type of traffic object (i.e., the first traffic object) in the simulation scene is handed over to the first intelligent driving system for control and adjustment. In this way, since there will be a more intelligent first traffic object and a second traffic object (controlled by the second intelligent driving system to be tested) in the simulation scene to interact in traffic, there can be more different scenes that are more in line with reality, and the interaction between different traffic objects is also more intelligent, so that the simulation test results of the second intelligent driving system are more accurate.
[0074] Exemplary Methods
[0075] Figure 3 is a flowchart of a simulation test method provided by an exemplary embodiment of the present disclosure. The method can be applied to the present embodiment and can be applied to the following Figure 1 The simulation platform in the simulation test system shown in FIG. Figure 3 As shown, it includes steps 401 to 409:
[0076] Step 401, obtaining simulation configuration information.
[0077] In the disclosed embodiment, the simulation configuration information may include obstacle operation parameters and scene text information. The obstacle operation parameters may specifically include information such as the location, type, name, size, performance (such as maximum speed, maximum acceleration) of all traffic participants in the simulated traffic scene. The scene text information may include information such as the initial speed, destination, and specific driving behavior of all traffic participants in the simulated traffic scene.
[0078] In the embodiment of the present disclosure, step 401 can be specifically completed by the traffic flow engine in the simulation platform. In a possible implementation, the simulation configuration information can be input into the traffic flow engine of the simulation platform by the tester who needs to perform simulation testing on the intelligent driving system before the simulation, so that the traffic flow engine in the simulation platform obtains the simulation configuration information. The simulation configuration information can be obtained by the tester after collecting and counting various types of information in a variety of actual traffic scenarios. The specific collection and statistics method can be any feasible method, and the present disclosure does not make specific restrictions on this.
[0079] Step 402: Generate a simulated traffic scene according to the obstacle operation parameters in the simulation configuration information.
[0080] In order to make the simulation test results more realistic, when simulating the intelligent driving system, it is necessary to make the simulated vehicle controlled by the intelligent driving system travel in a simulated traffic scene that is similar to the real traffic scene. Based on this, after obtaining the simulation configuration information, the traffic flow engine in the simulation platform parses the obstacle operation parameters in the simulation configuration information and generates a simulated traffic scene based on the obstacle operation parameters in the simulation configuration information.
[0081] In the embodiment of the present disclosure, the simulated traffic scene may include dynamic obstacles and static obstacles. Among them, the static obstacles may include virtual buildings, virtual trees, virtual roadblocks, virtual water barriers, virtual speed bumps and other simulated objects that will not move. Dynamic obstacles may include virtual pedestrians, virtual non-motor vehicles, virtual motor vehicles and other simulated objects that will move.
[0082] Step 403, controlling the operation of dynamic obstacles in the simulated traffic scene according to the scene text information in the simulation configuration information.
[0083] After the traffic flow engine of the simulation platform has built the simulated traffic scene, it can start controlling the operation of dynamic obstacles in the simulated traffic scene according to the scene text information in the simulation configuration information.
[0084] For example, for a dynamic obstacle, the traffic flow engine of the simulation platform can set the driving speed of the dynamic obstacle to the initial speed and destination of the dynamic obstacle indicated in the scene text information and make it drive on the road to the destination. Of course, if the scene text information also includes any other possible parameters related to the initial operation of the dynamic obstacle, the traffic flow engine of the simulation platform can also control the dynamic obstacle to start running in combination with these related parameters.
[0085] Step 404: Receive a first adjustment instruction from the first intelligent driving system.
[0086] Step 405: Receive a second adjustment instruction from a second intelligent driving system.
[0087] After the simulation platform controls the initial operation of the dynamic obstacles in the simulated traffic scene based on the obstacle operation parameters, in order to obtain better simulation test results for the second intelligent driving system. The simulation platform needs to control the driving process of the second traffic object with the help of the second driving system, while using the capabilities of the first intelligent driving system to control the driving process of the first traffic object. This allows the second traffic object to encounter richer scenes when driving in the simulation scene. Based on this, the simulation platform can receive the first adjustment instruction from the first intelligent driving system and the second adjustment instruction from the second intelligent driving system after all dynamic obstacles are running.
[0088] In the embodiment of the present disclosure, step 404 and step 405 may be executed synchronously or in a specific order according to the specific situation, and the present disclosure does not impose any specific restrictions on this. Step 404 may be implemented by the traffic flow engine in the simulation platform, and step 405 may be implemented by the dynamics engine in the simulation platform.
[0089] Furthermore, the simulation platform can adjust the driving process of the first traffic object based on the first adjustment instruction, and adjust the driving process of the second traffic object based on the second adjustment instruction. In addition, the dynamic obstacles in the simulated traffic scene will also include a third traffic object that does not need to be sufficiently intelligent. In order to allow the third traffic object to operate or travel synchronously with the first traffic object and the second traffic object, the simulation platform can also control the driving of the third traffic object in the dynamic obstacle based on predetermined rules when adjusting the driving process of the first traffic object and the second traffic object. That is, step 406 is executed after step 404, and step 407 is executed after step 405. In addition, in addition to executing step 404 and / or step 405 after step 403, step 408 can also be executed.
[0090] Step 406: Based on the first adjustment instruction, adjust the driving process of the first traffic object in the dynamic obstacle.
[0091] In the disclosed embodiment, the first adjustment instruction may specifically include target values of multiple specific driving parameters. After the simulation platform receives the first adjustment instruction, the multiple specific driving parameters of the first traffic object may be adjusted to the corresponding target values in the first adjustment instruction. Exemplarily, the multiple specific driving parameters may include acceleration and steering wheel angle. The first adjustment instruction may specifically include target acceleration and target steering wheel angle.
[0092] After receiving the first adjustment instruction, the simulation platform can adjust the acceleration of the first traffic object corresponding to the first adjustment instruction to the target acceleration, and adjust the steering wheel angle of the first traffic object to the target steering wheel angle.
[0093] In addition, since the first intelligent driving system and the first traffic object are in one-to-one correspondence, the first traffic object corresponding to the first adjustment instruction is the first traffic object corresponding to the first intelligent driving system that generates the first adjustment instruction. Specifically, in order to enable the simulation platform to accurately control the corresponding first traffic object based on the first adjustment instruction, the first adjustment instruction may also include an identifier of the corresponding first traffic object.
[0094] In the embodiment of the present disclosure, step 406 may be implemented by the traffic flow engine in the simulation platform, and the traffic flow engine may be implemented by calling the external intelligent driving agent model through the second thread. Figure 3 The relevant statements will not be repeated here.
[0095] Step 407: Based on the second adjustment instruction, adjust the driving process of the second traffic object in the dynamic obstacle.
[0096] The specific implementation of step 407 is similar to step 406 and will not be repeated here.
[0097] In the embodiment of the present disclosure, step 407 may be implemented by a dynamics engine in the simulation platform. Figure 3 The relevant statements will not be repeated here.
[0098] Step 408: Based on a predetermined rule, control the third traffic object in the dynamic obstacle to travel.
[0099] In the embodiment of the present disclosure, the third traffic object can be divided into a first sub-traffic object and a second sub-traffic object. For the first sub-traffic object, the simulation platform can control the first sub-traffic object to travel according to a set driving path (or preset trajectory).
[0100] For the second sub-traffic object, the simulation platform can control the second sub-traffic object to travel according to a preset trajectory, and adjust the driving process of the second sub-traffic object according to simple following rules and / or lane changing rules.
[0101] In the embodiment of the present disclosure, step 408 may be implemented by the traffic engine in the simulation platform. The traffic flow engine may be implemented by the first thread calling the built-in traffic entity model and the built-in intelligent traffic entity model. Figure 3 The relevant statements will not be repeated here.
[0102] It should be noted that the above steps 404 to 408 can be executed periodically, for example, once every 20 ms, when the simulation test method is implemented. The above steps 401 to 403 can be executed only once when the simulation test method is implemented.
[0103] Step 409: Use the driving data of the first traffic object, the second traffic object, and the third traffic object during the driving process as the detection result obtained by performing a simulation test on the second intelligent driving system.
[0104] After the above steps 401 to 408 are executed, the driving data of the first traffic object, the second traffic object, and the third traffic object during the driving process can be obtained. After the simulation test is completed, all the driving data can reflect the performance of the second intelligent driving system. In other words, the tester can determine the performance of the second intelligent driving system based on all the driving data. Based on this, in the embodiment of the present disclosure, the driving data of the first traffic object, the second traffic object, and the third traffic object during the driving process can be used as the detection result obtained by the simulation test of the second intelligent driving system.
[0105] Based on the simulation test method provided by the embodiment of the present disclosure, when the simulation platform performs simulation testing on the second intelligent driving system, the driving process of the first traffic object in the simulated traffic scene can be handed over to the first intelligent driving system for control. In this way, since there will be a more intelligent first traffic object in the simulation scene that interacts with the second traffic object (controlled by the second intelligent driving system to be tested) in terms of traffic, there can be more different scenes that are more in line with reality, and the interaction between different traffic objects is also more intelligent, so that the simulation test results of the second intelligent driving system are more accurate.
[0106] In some embodiments, in order to improve the parallelism of management, reduce the complexity of management, and ensure that the driving process of all traffic participants is synchronized, the traffic flow management module needs to start multiple parallel threads to complete the call of multiple models. Figure 4 , refer to Figure 5As shown, the above step 403 may specifically include step 4031:
[0107] Step 4031: Start a first thread to complete the control of the operation of at least one third traffic object in the dynamic obstacle, start at least one second thread to complete the control of the operation of at least one first traffic object in the dynamic obstacle, and control the operation of the second traffic object in the dynamic obstacle through the dynamic engine.
[0108] In the disclosed embodiment, since the simulation platform mainly tests the process of the second intelligent driving system controlling the second traffic object, there will be a corresponding dynamics engine in the simulation platform to directly control the second traffic object. As for other third traffic objects and the first traffic object, the third traffic object needs to be controlled by the built-in traffic entity model or the built-in intelligent traffic entity model, and the first traffic object needs to be controlled by the first intelligent driving system connected externally. In order to synchronize the control of all traffic participating objects, while controlling the operation of the second traffic object through the dynamics engine, the traffic engine in the simulation platform can start multiple threads to complete the control of the operation of the first traffic object and the third traffic object.
[0109] Furthermore, since the driving process of the third traffic object is relatively simple, a first thread can be started to complete the control of the operation of all third traffic objects. Therefore, the first thread can be started here to complete the control of the operation of at least one third traffic object. Specifically, the traffic management module in the traffic flow engine in the simulation platform can call the built-in traffic entity model and the built-in intelligent traffic entity model through the first thread to control the operation of the third traffic object.
[0110] The control operation of the first traffic object is generated by the first intelligent driving system, which is relatively complex and requires more processing resources. Therefore, each first traffic object needs to be controlled by a corresponding second thread. Specifically, the traffic management module in the traffic flow engine in the simulation platform can start the second thread to call the external intelligent driving agent model to control the operation of the first traffic object. For details, please refer to the above embodiment for Figure 3 Related expressions.
[0111] Based on the above disclosed embodiments, the simulation platform can complete the control of a type of traffic object (third traffic object) that does not need to be too intelligent by starting a single thread (i.e., the first thread), complete the separate control of multiple types of traffic objects (first traffic objects) that need to be relatively intelligent by starting multiple threads, and control the second traffic object corresponding to the second intelligent driving system to be tested through the dynamics engine. In this way, it can be ensured that the control of the first traffic object, the second traffic object, and the second traffic object is parallel during operation and driving, and at the same time, while saving processing resources, it can be ensured that the information interaction delay between the first intelligent system controlling the first traffic object and the simulation platform is lower, and the actions of multiple first traffic objects in the simulation process are more intelligent.
[0112] In some embodiments, in order to make the first adjustment instruction sent by the first intelligent driving system to the simulation platform more accurate, it is necessary to provide the first intelligent driving system with relevant information of all traffic participating objects except the first traffic object (including other first traffic objects, all second traffic objects and all third traffic objects, which may be referred to as reference traffic objects). This allows the first intelligent driving system to generate a more accurate first adjustment instruction based on this information. Figure 4 , refer to Figure 6 As shown, before step 404, steps 501 to 503 are also included:
[0113] Step 501: Acquire status information and positioning information of all reference traffic objects except the first traffic object among dynamic obstacles.
[0114] In the embodiment of the present disclosure, the state information may include information that can reflect the driving state of the reference traffic object, such as specific values of driving parameters, etc. The positioning information may be information that can reflect the location of the reference traffic object, such as longitude and latitude, the name of the road, etc.
[0115] Step 501 may be specifically implemented by the traffic flow engine of the simulation platform. Specifically, among the status information and positioning information of all reference traffic objects, the status information and positioning information of the second traffic object may be sent to the traffic flow engine by the dynamics engine. The status information and positioning information of the remaining reference traffic objects may be obtained by the traffic flow engine when controlling the remaining reference traffic objects. For example, the built-in traffic entity model and the built-in intelligent traffic entity model in the traffic flow engine may obtain the status information and positioning information of the third traffic object when controlling the operation or driving of the third traffic object; the external intelligent driving agent model in the traffic flow engine may also obtain the status information and positioning information of the first traffic object when controlling the first traffic object.
[0116] Step 502: Generate first fused obstacle information based on the state information and positioning information of all reference traffic objects except the first traffic object.
[0117] After obtaining the status information of all reference traffic objects, the simulation platform can generate first fused obstacle information based on the information for easy transmission and processing by the first intelligent driving system. Step 502 can be specifically completed by the traffic flow engine of the simulation platform.
[0118] Step 503: Send the first fused obstacle information to the first intelligent driving system.
[0119] After the simulation platform sends the first fused obstacle information to the first intelligent driving system, the first intelligent driving system can generate a first adjustment instruction that is more in line with the traffic scene of the first traffic object based on the first fused obstacle information and return it to the simulation platform. The simulation platform can further adjust the driving process of the first traffic object based on the first adjustment instruction so that the first traffic object completes the corresponding following or lane changing behavior.
[0120] In addition, in some embodiments, in order to make the first adjustment instruction more in line with the needs of the traffic scene where the first traffic object is located, the simulation platform will also send the chassis state information and positioning information of the first traffic object to the first intelligent driving system, so that the first intelligent driving system will fully consider the current position and state of the first traffic object when generating the first adjustment instruction. The chassis state information may include current speed, current acceleration, heading angle, driving mode, etc.
[0121] Based on the above disclosed embodiments, the simulation platform can provide the first intelligent driving system with relevant information of all reference traffic objects other than the first traffic object in the simulated traffic scene where the first traffic object is located. In this way, the first intelligent driving system can generate a first adjustment instruction that better meets the needs of the first traffic object based on this rich information, and the simulation platform can also make a more reasonable adjustment to the driving process of the first traffic object based on the first adjustment instruction, which will also make the final simulation test results more complete and accurate.
[0122] In some embodiments, in order to enable the first adjustment instruction to better control the first traffic object to complete following or avoiding, the state information may include chassis state information and a predicted trajectory within a first preset time after the current moment. Figure 6 , refer to Figure 7 As shown, step 501 may specifically include step 701 and step 702:
[0123] Step 701: Acquire positioning information and chassis status information of reference traffic objects other than the first traffic object.
[0124] The chassis status information may include current speed, current acceleration and heading angle.
[0125] Step 702: Determine a predicted trajectory of the reference traffic object within a first preset time period after the current moment according to the first reference trajectory, the current speed and the current acceleration of the reference traffic object.
[0126] The current speed and current acceleration of the reference traffic object are obtained from the chassis status information of the reference traffic object. Since the reference traffic object, whether following a vehicle or changing lanes, ultimately aims to move to the closest specific lane, the motion center of the first traffic object may be along the center line of the specific lane. Among them, taking the reference traffic object as a vehicle as an example, its motion center may be the center of the front axle of the vehicle. The line connecting the center points of a specific lane (or referred to as a center trajectory) may be referred to as the first reference trajectory. In the disclosed embodiment, the trajectory distance between adjacent reference trajectory points in the first reference trajectory may be a preset distance. Exemplarily, the preset distance may be 5m.
[0127] Furthermore, the current speed and current acceleration of the reference traffic object directly determine the subsequent driving speed of the reference traffic object. Based on this, according to the first reference trajectory, the current speed and current acceleration of the reference traffic object, the predicted trajectory of the reference traffic object within the first preset time after the current moment can be predicted and estimated.
[0128] The first reference trajectory is the lane centerline of the closest lane to the reference traffic object in the simulated traffic scene. The first reference trajectory may be composed of a plurality of reference trajectory points. For example, the positional relationship between the reference traffic object 801 and the first reference trajectory may be as follows: Figure 8 shown.
[0129] Based on the above disclosed embodiments, since the reference traffic object is traveling, regardless of whether following a vehicle or changing lanes occurs, its ultimate goal is to move to the closest specific lane for driving. Therefore, if it is necessary to predict the predicted trajectory of the reference traffic object, the simulation platform can first obtain chassis state information including speed and acceleration, and then determine the predicted trajectory based on part of the information in the chassis state information and the lane centerline of the lane closest to the reference traffic object (i.e., the first reference trajectory). In this way, the predicted trajectory of the reference traffic object within the first preset time after the current moment can be smoothly predicted, and then the state information of the reference traffic object and further the first fused obstacle information can be obtained, which provides data support for the subsequent process of the first intelligent driving system generating the first adjustment instruction and sending it to the simulation platform.
[0130] In some embodiments, in combination Figure 7, refer to Fig. 9 As shown, step 702 may specifically include steps 901 to 904:
[0131] Step 901: Determine a set of predicted interval distances according to a preset interval duration, a current speed and a current acceleration of a reference traffic object.
[0132] The prediction interval distance set includes the prediction distances between all adjacent prediction trajectory points of the reference traffic object within the first preset time. For example, the preset interval time may be 0.5s. If the first preset time is 5s, there may be 10 prediction distances in the prediction interval distance, and there may be 11 prediction trajectory points in the corresponding prediction trajectory.
[0133] In some embodiments, there is a maximum speed limit on each road, and there is also a maximum speed limit for each traffic participant. Based on this, when determining the predicted trajectory, the maximum speed also needs to be considered, that is, when determining the predicted interval distance based on the current speed and the current acceleration, the speed of the reference traffic object in the entire predicted trajectory cannot exceed the maximum speed. When the speed of the reference object has reached the maximum speed at a certain position in the predicted trajectory, the speed of the subsequent reference traffic object maintains the maximum speed unchanged. Furthermore, in the entire process of determining the predicted interval distance set, when it is determined that the speed of the reference object has reached the maximum speed, the current acceleration should no longer be used to estimate the subsequent predicted interval distance, but the predicted interval distance should be estimated only based on the maximum speed.
[0134] Step 902: Use the current position of the reference traffic object as the first predicted trajectory point of the reference traffic object.
[0135] In a possible implementation, the coordinates of the motion center of the reference traffic object may be used as the current position of the reference object. Taking the reference traffic object as a vehicle as an example, the motion center of the reference traffic object may be the center of the front axle of the reference traffic object. The specific content of the current position of the reference traffic object may exist in the positioning information of the reference traffic object.
[0136] In addition, the heading angle of the first predicted trajectory point is the heading angle of the reference traffic object. The heading angle of the reference traffic object may exist in the chassis state information of the reference traffic object.
[0137] Step 903: Determine all downstream predicted trajectory points of the first predicted trajectory point based on the prediction interval distance set and the coordinates of all reference trajectory points in the first reference trajectory.
[0138] In some embodiments, the specific implementation of step 903 may include the following steps:
[0139] S1. Determine a target reference point in a first reference trajectory based on a motion center of a reference traffic object.
[0140] In a possible implementation, first, a reference trajectory point closest to the motion center of the reference traffic object can be found from the first reference trajectory as the pending trajectory point. Figure 8 As shown, the reference trajectory point 802 in the first reference trajectory is the undetermined trajectory point closest to the motion center of the reference traffic object 801 .
[0141] In the disclosed embodiment, the target reference point is used to assist in determining the predicted trajectory point. When the center of motion of the reference traffic object is not on the first reference trajectory, the predicted trajectory point closest to the reference traffic among all the predicted trajectory points must be a reference trajectory point located on one side of the driving direction of the reference traffic when the reference traffic object changes lanes to the lane where the first reference trajectory is located. Therefore, when determining the target reference point for the first time, in addition to selecting the target reference point from the reference trajectory points of the first reference trajectory, it is also necessary to make the target reference point a reference trajectory point located on one side of the driving direction of the reference traffic object, and to make the distance between the target reference point and the center of motion of the reference traffic object greater than a preset threshold. In this way, the target reference point finally selected will be approximately the first point in the first reference trajectory that coincides with the center of motion of the reference traffic object when the reference traffic object changes lanes to the lane where the first reference trajectory is located.
[0142] Based on this, when the pending trajectory point is in front of the reference traffic object and the distance between the pending trajectory point and the motion center of the reference traffic object is greater than a preset threshold, the pending trajectory point is determined as the target reference point.
[0143] In the embodiment of the present disclosure, the front of the reference traffic object refers to the driving direction of the reference traffic object. Exemplarily, the preset threshold may be 15m.
[0144] When the pending trajectory point is behind the reference traffic object, or the distance between the pending trajectory point and the motion center of the reference traffic object is less than a preset threshold, if the pending trajectory point is not the last reference trajectory point of the first reference trajectory in the first direction, the next reference trajectory point of the pending trajectory point among all the reference trajectory points of the first reference trajectory in the first direction can be updated as a new pending trajectory point. The first direction is the driving direction of the reference traffic object. After that, the target reference point can be re-determined based on the above logic. The rear of the reference traffic object refers to the opposite direction of the driving direction of the reference traffic object.
[0145] When the pending trajectory point is behind the reference traffic object, or the distance between the pending trajectory point and the motion center of the reference traffic object is less than a preset threshold, if the pending trajectory point is the last reference trajectory point of the first reference trajectory in the first direction, the first reference trajectory point in the downstream reference trajectory adjacent to the first reference trajectory is updated to the new pending trajectory point, and then the target reference point is re-determined based on the above logic. The downstream reference trajectory of the first reference trajectory is a reference trajectory adjacent to the first reference trajectory in the lane to which the first reference trajectory belongs and in the forward direction corresponding to the first reference trajectory. The forward direction corresponding to the first reference trajectory is the driving direction of the vehicle when it is driving in the lane where the first reference trajectory is located, and this direction is pre-set.
[0146] Taking the preset threshold as 15m and the track distance between adjacent reference track points in the first reference track as 5m as an example, Figure 8 As shown, the track distance between reference track point 803 and reference track point 802 closest to reference traffic object 801 is 15m. At this time, it can be considered that the distance between track point 803 and the reference traffic object is greater than 15m, and since reference track point 803 is located in front of the reference traffic object, reference track point 803 can be determined as the first target reference point. In some embodiments, the first target reference point can be called a preview point.
[0147] In another possible implementation, since the driving direction of the vehicle in practice is generally close to the forward direction corresponding to the first reference trajectory, it can be considered that the reference trajectory point closest to the reference traffic object in the first reference trajectory will be located on the left or right side of the reference traffic object, rather than in front or behind. Based on this, a reference trajectory point in the first reference trajectory that is located downstream of the pending trajectory point and has a trajectory distance from the pending trajectory point of a preset threshold value can be determined as a target reference point that is located in front of the reference traffic object and has a distance from the motion center of the reference object greater than the preset threshold value.
[0148] Taking the preset threshold as 15m and the trajectory distance between adjacent reference trajectory points in the first reference trajectory as 5m as an example, the target reference point can be determined as a reference trajectory point in the first reference trajectory downstream of the pending trajectory point, which is two reference trajectory points away from the pending trajectory point.
[0149] S2. Determine all downstream predicted trajectory points of the first predicted trajectory point based on the predicted distances in the prediction interval distance set and the target reference point.
[0150] Specifically, the first predicted distance in the prediction interval distance set is first determined as the target predicted distance. The first predicted distance refers to the distance between the first predicted trajectory point and the second predicted trajectory point in the corresponding forward direction (ie, the driving direction of the reference traffic object) in the predicted trajectory.
[0151] Secondly, determine whether the current target reference point is located on the side of the direction corresponding to the heading angle of the last predicted trajectory point, and whether the distance from the last predicted trajectory point is greater than or equal to the target predicted distance. Figure 8 As shown, the reference track point 803 is located on one side of the direction corresponding to the heading angle of the last predicted track point 805. However, for the predicted track point 806, the reference track point 803 is not located on one side of the direction corresponding to its heading angle.
[0152] If it is determined that the current target reference point is located on the side of the direction corresponding to the heading angle of the previous predicted trajectory point, and the distance from the previous predicted trajectory point is greater than or equal to the target predicted distance, then the coordinates and heading angle of the predicted trajectory point corresponding to the target predicted distance are determined according to the distance between the target reference point and the previous predicted trajectory point, the target predicted distance, the heading angle of the target reference point, and the heading angle of the previous trajectory point. The predicted trajectory point corresponding to the target predicted distance may be the later one of the two consecutive predicted trajectory points corresponding to the target predicted distance at the corresponding time.
[0153] The heading angle of the target reference point is a heading angle corresponding to a tangent line of the target reference point on the first reference trajectory toward the corresponding forward direction.
[0154] For example, refer to Figure 8 As described above, taking the previous predicted trajectory point as predicted trajectory point 804 and the target reference point as reference trajectory point 803 as an example, the predicted trajectory point corresponding to the target predicted distance is predicted trajectory point 805 .
[0155] In a possible implementation, the coordinates and heading angle of the predicted trajectory point can be calculated according to the following formula group:
[0156] x=last_x+w(obj_x-last_x); (1)
[0157] y=last_y+w(obj_y-last_y); (2)
[0158] yaw=interpolate(w, last_yaw, obj_yaw); (3)
[0159] w = ds_pred / ds; (4)
[0160] Among them, x is the horizontal coordinate of the predicted trajectory point corresponding to the target predicted distance, y is the vertical coordinate of the predicted trajectory point corresponding to the target predicted distance, last_x is the horizontal coordinate of the previous predicted trajectory point, last_y is the vertical coordinate of the previous predicted trajectory point, obj_x is the horizontal coordinate of the target reference point, obj_y is the vertical coordinate of the target reference point, w is the weight, last_yaw is the heading angle of the previous predicted trajectory point, obj_yaw is the heading angle of the target reference point, yaw is the heading angle of the predicted trajectory point corresponding to the target predicted distance, interpolate is the interpolation prediction function, ds_pred is the target predicted distance, and ds is the distance between the target reference point and the previous predicted trajectory point.
[0161] If it is determined that the current target reference point is not located on the side of the direction corresponding to the heading angle of the last predicted trajectory point, or the distance from the last predicted trajectory point is less than the target predicted distance, then the next reference trajectory point of the target reference point in the reference trajectory points of the first reference trajectory in the corresponding forward direction can be updated as a new target reference point, and then the above judgment is repeated. In the process of updating the target reference point, if there is no new reference trajectory point in the first reference trajectory, a reference trajectory point can be selected in the downstream reference trajectory of the first reference trajectory, and the subsequent update of the target reference point can be further selected from the reference trajectory points of the reference trajectory further downstream.
[0162] In addition, if there is no further downstream reference trajectory during the process of updating the target reference point, it means that the determination of the target reference point at this time has reached the map edge corresponding to the local map data corresponding to the reference traffic object. At this time, it can be determined that the target reference point does not exist. Furthermore, in order to determine the predicted trajectory points that have not yet been determined, the next predicted trajectory point can be determined by linear extrapolation. Specifically, based on the coordinates, heading angle and target predicted distance of the most recently obtained predicted trajectory point, a new predicted trajectory point can be determined on the ray corresponding to the heading angle of the most recently obtained predicted trajectory point.
[0163] S3, looping the above steps to obtain the predicted trajectory points corresponding to all the predicted distances in the prediction interval distance set, that is, obtaining all the downstream predicted trajectory points of the first predicted trajectory point.
[0164] Through the technical solutions corresponding to S1-S3 above, all downstream predicted trajectory points of the first predicted trajectory point can be obtained by traversing the predicted intervals and updating the target reference points, thereby providing data support for the subsequent determination of the predicted trajectory.
[0165] Step 904: Determine a predicted trajectory of the reference traffic object within a first preset time period based on the first predicted trajectory point and all downstream predicted trajectory points.
[0166] In a possible implementation manner, after all predicted trajectory points in the predicted trajectory are obtained, all adjacent predicted trajectory points may be connected to form a predicted trajectory.
[0167] Based on the above disclosed embodiments, the simulation platform can estimate the distance between the predicted trajectory points and then determine all the predicted trajectory points in combination with the first reference trajectory to obtain the predicted trajectory. In addition, more complete state information and even further first fused obstacle information can be obtained, providing data support for the subsequent process of the first intelligent driving system generating the first adjustment instruction and sending it to the simulation platform.
[0168] In some embodiments, in order to make the second adjustment instruction sent by the second intelligent driving system to the simulation platform more accurate, the simulation platform needs to provide the second intelligent driving system with relevant information of all traffic participants (including all first traffic objects and all third traffic objects) except the second traffic object in advance. Thus, the second intelligent driving system can generate a more accurate second adjustment instruction based on this information. Figure 4 , refer to Fig.10 As shown, before step 405, steps 1001 to 1003 are also included:
[0169] Step 1001: Obtain status information and location information of all traffic objects except a second traffic object in a simulated traffic flow.
[0170] The relevant definitions of the status information and the positioning information may refer to the relevant description after step 501 in the aforementioned embodiment, and will not be repeated here.
[0171] Step 1001 may be implemented by a traffic flow engine of a simulation platform. Specifically, the state information and location information of all traffic objects except the second traffic object may be obtained by the traffic flow engine when controlling the corresponding traffic objects. The specific implementation may refer to the relevant description after step 501 in the aforementioned embodiment, which will not be repeated here.
[0172] Step 1002: Generate second fused obstacle information based on the state information and positioning information of all traffic objects except the second traffic object.
[0173] After obtaining the status information of all traffic objects except the second traffic object, the simulation platform can generate second fused obstacle information based on the information for easy transmission and processing by the second intelligent driving system. Step 1002 can be specifically completed by the traffic flow engine of the simulation platform.
[0174] Step 1003: Send a second fused obstacle message to the second intelligent driving system.
[0175] After the simulation platform sends the second fused obstacle information to the second intelligent driving system, the second intelligent driving system can generate a second adjustment instruction based on the second fused obstacle information that is more in line with the traffic scene where the second traffic object is located and return it to the simulation platform. The simulation platform can further adjust the driving process of the second traffic object based on the second adjustment instruction so that the second traffic object completes the corresponding following or lane changing behavior.
[0176] In addition, in some embodiments, in order to make the second adjustment instruction more in line with the needs of the traffic scene where the second traffic object is located, the simulation platform will also send the chassis state information and positioning information of the second traffic object to the second intelligent driving system, so that the second intelligent driving system will fully consider the current position and state of the second traffic object when generating the second adjustment instruction. Specifically, the chassis state information of the second traffic object can be provided to the second intelligent driving system by the dynamics engine in the simulation platform, and the positioning information of the second traffic object can be provided to the second intelligent driving system by the map engine.
[0177] Based on the above disclosed embodiments, the simulation platform can provide the second intelligent driving system with the relevant information of all traffic objects (first traffic object and third traffic object) except the second traffic object in the simulated traffic scene where the second traffic object is located. In this way, the second intelligent driving system can generate a second adjustment instruction that better meets the needs of the second traffic object based on this rich information, and the simulation platform can also make a more reasonable adjustment to the driving process of the second traffic object based on the second adjustment instruction, which will also make the final simulation test results more complete and accurate.
[0178] In some embodiments, for the third traffic object that does not need to be adjusted by the second intelligent driving system during the driving process, it may include a first sub-traffic object that directly follows the set path without adjustment during the entire driving process, and a second sub-traffic object that needs to adjust the driving process in a relatively simple manner. Figure 4 , refer to Fig.11 , step 408 may specifically include step 1101 and step 1102:
[0179] Step 1101: Control the first sub-traffic object to travel based on a preset trajectory.
[0180] The predicted trajectory may be included in the simulation configuration information. The traffic flow engine in the simulation platform may use the built-in traffic entity model to control the first sub-traffic object to travel according to the predicted trajectory, and the driving parameters (which may also be included in the simulation configuration information) during the driving process remain unchanged.
[0181] Step 1102: Control the second sub-traffic object to travel based on a preset posture update algorithm, and adjust the travel process of the second sub-traffic object based on a preset avoidance rule.
[0182] Exemplarily, the preset avoidance rule may include: when there is a traffic object to be avoided with a collision risk in front of the lane where the second sub-traffic object is located, the speed of the second sub-traffic object may be controlled to be lowered to a speed lower than the speed of the traffic object to be avoided. If a certain traffic object is in front of the lane where the second sub-traffic object is located, the distance between the traffic object and the second sub-traffic object is less than the preset collision threshold, and the speed of the traffic object is less than the speed of the second sub-traffic object, then there is no collision risk between the two. Exemplarily, the preset collision threshold may be any possible value such as 20m, which may be determined specifically according to the speed difference between the second sub-traffic object and the traffic object.
[0183] In some embodiments, step 1102 may be implemented by a traffic flow engine in a simulation platform using a built-in intelligent traffic entity model.
[0184] In the embodiment of the present disclosure, step 1101 and step 1102 may be executed in parallel.
[0185] Based on the above disclosed embodiments, the simulation platform can control the driving of two types of third traffic objects in two different ways to enrich the traffic scenes, thereby making the simulation test results of the second intelligent driving system by the simulation platform richer and more accurate.
[0186] In some embodiments, in combination Fig.11 , refer to Fig.12 As shown, step 1102 may specifically include step 1201 and step 1202:
[0187] Step 1201: Determine an expected turning angle and a speed gain of the second sub-traffic object according to the current position and the second reference trajectory of the second sub-traffic object.
[0188] The second reference trajectory is the lane centerline of the lane that the second sub-traffic object is closest to in the simulated traffic scene. The first reference trajectory may be composed of a plurality of reference trajectory points. The speed gain may specifically be acceleration.
[0189] In the embodiment of the present disclosure, the positioning information of the second sub-traffic object may include the current position and posture of the second sub-traffic object.
[0190] Since the second sub-traffic object, whether following a vehicle or changing lanes, ultimately aims to move to the closest specific lane, the second sub-traffic object's driving process may actually be a change in position and posture, and controlling the second sub-traffic object's driving may be understood as periodically or in real time updating the position and posture of the second sub-traffic object.
[0191] In order to update the position and posture of the second sub-traffic object, it is necessary to know the current position and posture of the second sub-traffic object, as well as the changes in the driving direction (represented by the steering wheel angle) and speed (represented by acceleration) of the second sub-traffic object before and after the position and posture update. Based on this, the disclosed embodiment needs to determine the expected turning angle and speed gain of the second sub-traffic object according to the current position and posture of the second sub-traffic object and the second reference trajectory. Among them, the expected turning angle refers to the steering wheel angle that the second sub-traffic object needs to use in the process of driving to the second reference trajectory, and the speed gain refers to the speed change caused by this process.
[0192] Step 1202: Update the current position of the second sub-traffic object according to the expected turning angle and speed gain of the second sub-traffic object.
[0193] Taking the period of posture update as the preset period duration as an example, after obtaining the expected turning angle and speed gain of the second sub-traffic object, the simulation platform can update the current posture of the second sub-traffic object based on the expected turning angle, speed gain and the preset period duration. The specific calculation method can be any feasible method, and the present disclosure does not make specific restrictions on this.
[0194] The technical solution provided by the above disclosed embodiment accurately determines the expected turning angle and speed gain of the second sub-traffic object through the position and posture of the second sub-traffic object and the center trajectory of the lane closest to it. Then, the position and posture of the second sub-traffic object can be accurately updated, so that the second sub-traffic object in the simulation scene can travel normally, ensuring the richness of traffic objects in the simulation test scene of the second intelligent driving system, and further improving the accuracy of the simulation test results.
[0195] In some embodiments, in combination Fig.12 , refer to Fig.13 As shown, step 1201 may specifically include steps 1301 to 1305:
[0196] Step 1301: Determine the motion center of the second sub-traffic object according to the current position and posture of the second sub-traffic object.
[0197] In the embodiment of the present disclosure, any possible calculation method may be used to determine the motion center of the second sub-traffic object based on its position and posture, and the present disclosure does not impose any specific limitation on this.
[0198] Step 1302: Determine a target reference point in a second reference trajectory according to the motion center of the second sub-traffic object.
[0199] In a possible implementation, determining the target reference point in the second reference trajectory according to the motion center of the second sub-traffic object may specifically include: first, finding the reference trajectory point closest to the motion center of the second sub-traffic object from the second reference trajectory as the pending trajectory point. Secondly, when the pending trajectory point is located on the side of the travel direction of the second sub-traffic object (i.e., in front of the second sub-traffic object), and the distance between the pending trajectory point and the motion center of the second sub-traffic object is greater than a preset threshold, the pending trajectory point is determined as the target reference point.
[0200] In the disclosed embodiment, the target reference point is used to determine the position of the center of motion of the second sub-traffic object when it initially drives to the lane where the second reference trajectory is located. Therefore, when determining the target reference point, in addition to selecting the target reference point from the reference trajectory points of the second reference trajectory, it is also necessary to make the target reference point a reference trajectory point located on one side of the driving direction of the second sub-traffic object, and the distance between the target reference point and the center of motion of the second sub-traffic object is greater than a preset threshold. In this way, the target reference point finally selected will be approximately the first reference trajectory point in the first reference trajectory that coincides with the center of motion of the second sub-traffic object during the continued driving of the second sub-traffic object. Therefore, based on the above scheme, a more suitable target reference point can be obtained, which provides data support for the subsequent determination of the expected turning angle and speed gain of the second sub-traffic object.
[0201] In addition, when the pending trajectory point is behind the second sub-traffic object, or the distance between the pending trajectory point and the motion center of the second sub-traffic object is less than a preset threshold, if the pending trajectory point is not the last reference trajectory point of the second reference trajectory in the second direction, the next reference trajectory point of the pending trajectory point among all the reference trajectory points in the second reference trajectory in the second direction may be updated as a new pending trajectory point; wherein the second direction is the driving direction of the second sub-traffic object (or the direction corresponding to the front of the second sub-traffic object);
[0202] If the pending trajectory point is the last reference trajectory point of the second reference trajectory in the second direction, the first reference trajectory point in the third reference trajectory is updated as the new pending trajectory point; the third reference trajectory is the downstream reference trajectory of the second reference trajectory on the target lane, and the target lane is the lane to which the second reference trajectory belongs.
[0203] In this way, once the target reference point cannot be selected in the second reference trajectory, a suitable target reference point can be successfully determined in the downstream reference trajectory of the second reference trajectory.
[0204] Step 1303: Calculate the expected turning angle of the second sub-traffic object based on the reference heading angle and the lateral error of the target reference point.
[0205] In a possible implementation, the expected rotation angle can be calculated using the Stanley kinematic control method. Specifically, the calculation can be performed using the following formula group:
[0206]
[0207] Where δ is the desired rotation angle, is the reference heading angle of the target reference point, e y(t) is the lateral error from the center of the front wheel to the tangent of the target reference line, v(t) is the speed of the second sub-traffic object, k is the preset proportional coefficient, and d(t) is the distance from the reference point of the second sub-traffic object to the preview point, which is related to the speed.
[0208] Step 1304: Determine the expected speed of the target reference point.
[0209] In one possible implementation, determining the expected speed of the target reference point may include: when there are no other traffic objects in front of the second sub-traffic object (i.e., on the side of the second sub-traffic object in the direction of travel), determining the set speed of the target reference point as the expected speed of the target reference point; the set speed of the target reference point is the road speed limit or the maximum speed of the second sub-traffic object; when there is a fourth traffic object in front of the second sub-traffic object, determining the pending speed based on the current speed of the second sub-traffic object, the speed of the fourth traffic object, and the distance between the second sub-traffic object and the fourth traffic object, and determining the smaller of the pending speed and the set speed of the target reference point as the expected speed of the target reference point.
[0210] The specific calculation method for determining the pending speed based on the current speed of the second sub-traffic object, the speed of the fourth traffic object, and the distance between the second sub-traffic object and the fourth traffic object may be any feasible method, and the present disclosure does not impose any specific limitation on this.
[0211] In this way, based on the judgment result of whether there are other traffic objects in front of the second sub-traffic object, the expected speed of the target reference point that meets the current traffic scene of the second sub-traffic object can be determined. This speed is also the maximum speed that the second sub-traffic object can reach when driving to the target reference point. Based on this expected speed, the speed gain of the second sub-traffic object can be accurately determined in the subsequent process, providing data support for the subsequent update of the position and posture of the second sub-traffic object.
[0212] Step 1305: Determine a speed gain based on the expected speed of the target reference point and the current speed of the second sub-traffic object.
[0213] In the embodiment of the present disclosure, the combination of step 1304 and step 1305 and step 1303 may be executed simultaneously or successively, and the present disclosure does not impose any specific limitation on this.
[0214] The technical solution provided by the embodiment of the present disclosure can first determine the center of motion of the second sub-traffic object, and then facilitate the calculation of the subsequent expected turning angle and speed gain based on the center of motion. In addition, by determining the relevant data of the target reference point that the center of motion is most likely to first contact when the second sub-traffic object travels to the second reference trajectory, the relevant data of the target reference point will inevitably affect the travel of the second sub-traffic object. Therefore, based on the relevant data of the target reference point, the expected turning angle and speed gain of the second sub-traffic object can be further and more accurately inferred, providing strong data support for the subsequent update of the position and posture of the second sub-traffic object.
[0215] It should be noted that, in the simulation test method disclosed in the aforementioned embodiment, some steps completed by the traffic flow engine may be completed by the processor or SOC of the device where the simulation platform is located based on the instruction sequence given by the traffic flow engine. Some steps completed by the dynamics engine may be completed by the processor or SOC of the device where the simulation platform is located based on the instruction sequence given by the dynamics engine.
[0216] Furthermore, the traffic flow engine completes the steps of calling the built-in traffic entity model and the built-in intelligent traffic entity model through the first thread, which can be completed by the processor or SOC of the device where the simulation platform is located based on the instruction sequence given by the first thread. The traffic flow engine completes the steps of calling the external intelligent driving agent model through the second thread, which can be completed by the processor or SOC of the device where the simulation platform is located based on the instruction sequence given by the second thread.
[0217] Exemplary Devices
[0218] Fig.14 is a schematic diagram of the composition structure of a simulation test device provided by an exemplary embodiment of the present disclosure, such as Fig.14 As shown, the simulation test device 1400 may include:
[0219] An acquisition module 1401 is used to acquire simulation configuration information;
[0220] The operation module 1402 is used to control the operation of dynamic obstacles in the simulated traffic scene according to the scene text information in the simulation configuration information obtained by the acquisition module 1401;
[0221] A receiving module 1403 is used to receive a first adjustment instruction from the first intelligent driving system and a second adjustment instruction from the second intelligent driving system;
[0222] The adjustment module 1404 is used to adjust the driving process of the first traffic object in the dynamic obstacle based on the first adjustment instruction received by the receiving module 1403; adjust the driving process of the second traffic object in the dynamic obstacle based on the second adjustment instruction received by the receiving module 1403; and control the driving of the third traffic object in the dynamic obstacle based on a predetermined rule;
[0223] The processing module 1405 is used to use the driving data of the first traffic object, the second traffic object and the third traffic object during the driving process as a simulation test for the second intelligent driving system to obtain a detection result.
[0224] In some embodiments, in combination Fig.14 , refer to Fig.15 As shown, the operation module 1402 may specifically include:
[0225] The first operation unit 14021 is used to start the first thread to complete the control of the operation of at least one third traffic object in the dynamic obstacle; the second operation unit 14022 is used to start at least one second thread to complete the control of the operation of at least one first traffic object in the dynamic obstacle; the third operation unit 14023 is used to control the operation of the second traffic object in the dynamic obstacle through the dynamic engine.
[0226] In some embodiments, reference Fig.15 As shown, the acquisition module 1401 may include an acquisition unit 14011, a processing unit 14012, and a sending unit 14013. Before the receiving module 1403 receives the first adjustment instruction from the first intelligent driving system,
[0227] The acquisition unit 14011 is used to acquire the state information and positioning information of all reference traffic objects except the first traffic object in the dynamic obstacle;
[0228] The processing unit 14012 is configured to generate first fused obstacle information based on the state information and positioning information of all reference traffic objects except the first traffic object;
[0229] The sending unit 14013 is used to send the first fused obstacle information to the first intelligent driving system.
[0230] In some embodiments, the state information includes chassis state information and a predicted trajectory within a first preset time after the current moment, and the chassis state information includes: current speed, current acceleration and heading angle. The acquisition unit 14011 is specifically used to: determine the predicted trajectory of the reference traffic object within the first preset time after the current moment according to the first reference trajectory, the current speed and current acceleration of the reference traffic object; the first reference trajectory is the center trajectory of the closest lane of the reference traffic object in the simulated traffic scene.
[0231] In some embodiments, the acquisition unit 14011 may specifically include:
[0232] The first subunit is used to determine a predicted interval distance set according to a preset interval duration, a current speed and a current acceleration of a reference traffic object; the predicted interval distance set includes predicted distances between all adjacent predicted trajectory points of the reference traffic object within a first preset duration;
[0233] A second subunit is used to use the current position of the reference traffic object as a first predicted trajectory point of the reference traffic object;
[0234] A third subunit is used to determine all downstream predicted trajectory points of the first predicted trajectory point based on the prediction interval distance set and the coordinates of all reference trajectory points in the first reference trajectory;
[0235] The fourth subunit is used to determine the predicted trajectory of the reference traffic object within a first preset time period based on the first predicted trajectory point and all downstream predicted trajectory points.
[0236] In some embodiments, before the receiving module 1403 receives the second adjustment instruction from the second intelligent driving system,
[0237] The acquisition unit 14011 is further used to acquire the state information and location information of all traffic objects except the second traffic object in the simulated traffic flow;
[0238] The processing unit 14012 is further configured to generate second fused obstacle information based on the state information and positioning information of all traffic objects except the second traffic object;
[0239] The sending unit 14013 is further used to send a second fused obstacle message to the second intelligent driving system.
[0240] In some embodiments, the third traffic object includes a first sub-traffic object and a second sub-traffic object. The adjustment module 1404 may include:
[0241] The first control unit 14041 is used to control the first sub-traffic object to travel based on a preset trajectory;
[0242] The second control unit 14042 is used to control the driving of the second sub-traffic object based on a preset posture update algorithm, and adjust the driving process of the second sub-traffic object based on a preset avoidance rule.
[0243] In some embodiments, the second control unit 14042 may specifically include:
[0244] The first control subunit is used to determine the expected turning angle and speed gain of the second sub-traffic object according to the current position of the second sub-traffic object and the second reference trajectory; the second reference trajectory is the center trajectory of the road that the second sub-traffic object is closest to in the simulated traffic scene;
[0245] The second control subunit is used to update the current position and posture of the second sub-traffic object according to the expected turning angle and speed gain of the second sub-traffic object.
[0246] In some embodiments, the first control subunit may specifically include:
[0247] The first grandchild unit is used to determine the motion center of the second sub-traffic object according to the current position of the second sub-traffic object;
[0248] A second grandchild unit, configured to determine a target reference point in a second reference trajectory according to a motion center of the second sub-traffic object;
[0249] A third subunit is used to calculate the expected turning angle of the second sub-traffic object based on the reference heading angle and the lateral error of the target reference point;
[0250] The fourth grandson unit is used to determine the expected speed of the target reference point;
[0251] The fifth sub-unit is used to determine the speed gain based on the expected speed of the target reference point and the current speed of the second sub-traffic object.
[0252] In some embodiments, the fourth grandchild unit is specifically configured to:
[0253] When there is no other traffic object in front of the second sub-traffic object, the set speed of the target reference point is determined as the expected speed of the target reference point; the set speed of the target reference point is the road speed limit or the limit speed of the second sub-traffic object;
[0254] When there is a fourth traffic object in front of the second sub-traffic object, the pending speed is determined based on the current speed of the second sub-traffic object, the speed of the fourth traffic object, and the distance between the second sub-traffic object and the fourth traffic object, and the smaller one of the pending speed and the set speed of the target reference point is determined as the expected speed of the target reference point.
[0255] In some embodiments, the second grandchild unit may specifically include:
[0256] an initial determination unit, configured to determine a pending trajectory point in the second reference trajectory that is closest to a motion center of the second sub-traffic object;
[0257] The final determination unit is used to determine the pending trajectory point as the target reference point when the pending trajectory point is in front of the second sub-traffic object and the distance between the pending trajectory point and the motion center of the second sub-traffic object is greater than a preset threshold.
[0258] In some embodiments, the final determination unit may also be configured to: when the pending trajectory point is behind the second sub-traffic object, or when the distance between the pending trajectory point and the motion center of the second sub-traffic object is less than a preset threshold,
[0259] If the pending trajectory point is not the last reference trajectory point of the second reference trajectory in the direction corresponding to the front of the second sub-traffic object, updating the next reference trajectory point of the pending trajectory point in the second reference trajectory to the pending trajectory point;
[0260] If the pending trajectory point is the last reference trajectory point of the second reference trajectory in the direction corresponding to the front of the second sub-traffic object, the first reference trajectory point in the third reference trajectory is updated to the pending trajectory point; the third reference trajectory is the downstream reference trajectory of the second reference trajectory on the target lane, and the target lane is the lane to which the second reference trajectory belongs.
[0261] In some embodiments, the operation module 1402 further includes a generation unit 14024. Before controlling the operation of the dynamic obstacles in the simulated traffic scene according to the obstacle operation parameters in the simulation configuration information, the generation unit 14024 is used to generate the simulated traffic scene according to the scene text information in the simulation configuration information.
[0262] It should be noted that the description of the above exemplary embodiment of the device is similar to the description of the above exemplary embodiment of the method, and has the same beneficial effects as the exemplary embodiment corresponding to the method. For technical details and corresponding beneficial technical effects not disclosed in the exemplary embodiment of the device disclosed in the present invention, those skilled in the art should refer to the description of the exemplary embodiment of the method disclosed in the present invention for understanding, and no further description will be given here.
[0263] Exemplary Electronic Devices
[0264] Fig.16 A structural diagram of an electronic device provided for an embodiment of the present disclosure includes at least one processor 161 and a memory 162 for storing processor executable instructions.
[0265] The processor 161 may be a central processing unit (CPU) or other forms of processing units having data processing capabilities and / or instruction execution capabilities, and may control other components in the electronic device to perform desired functions.
[0266] The memory 162 may include one or more computer program products, which may include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. Volatile memory may include, for example, random access memory (RAM) and / or cache memory (cache), etc. Non-volatile memory may include, for example, read-only memory (ROM), hard disk, flash memory, etc. One or more computer program instructions may be stored on the computer-readable storage medium, and the processor 161 may execute one or more computer program instructions to implement the simulation test method and / or other desired functions of the various embodiments of the present disclosure described above.
[0267] In one example, the electronic device may further include: an input device 163 and an output device 164 , and these components are interconnected via a bus system and / or other forms of connection mechanisms (not shown).
[0268] The input device 163 may also include, for example, a keyboard, a mouse, etc.
[0269] The output device 164 can output various information to the outside, and may include, for example, a display, a speaker, a printer, a communication network and its connected remote output device, etc.
[0270] Of course, to simplify, Fig.16 Only some of the components related to the present disclosure in the electronic device are shown, and components such as a bus, an input / output interface, etc. are omitted. In addition, according to specific application situations, the electronic device may further include any other appropriate components.
[0271] Exemplary computer program products and computer-readable storage media
[0272] In addition to the above-mentioned methods and devices, embodiments of the present disclosure may also provide a computer program product, including computer program instructions, which, when executed by a processor, enable the processor to execute the steps of the simulation test method of various embodiments of the present disclosure described in the above-mentioned "Exemplary Method" section.
[0273] The computer program product may be written in any combination of one or more programming languages to write program code for performing the operations of the disclosed embodiments, including object-oriented programming languages such as Java, C++, etc., and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server.
[0274] In addition, an embodiment of the present disclosure may also be a computer-readable storage medium having computer program instructions stored thereon, which, when executed by a processor, enables the processor to execute the steps in the simulation test method of various embodiments of the present disclosure described in the above “Exemplary Method” section.
[0275] Computer readable storage media can adopt any combination of one or more readable media. The readable medium can be a readable signal medium or a readable storage medium. The readable storage medium is, for example, but not limited to, a system, device or device including electricity, magnetism, light, electromagnetic, infrared, or semiconductor, or any combination of the above. More specific examples (non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable 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 above.
[0276] The basic principles of the present disclosure are described above in conjunction with specific embodiments. However, the advantages, strengths, effects, etc. mentioned in the present disclosure are only examples and not limitations, and cannot be considered as necessary for each embodiment of the present disclosure. In addition, the specific details disclosed above are only for the purpose of illustration and ease of understanding, rather than limitation, and the above details do not limit the present disclosure to being implemented by adopting the above specific details.
[0277] Those skilled in the art may make various changes and modifications to the present disclosure without departing from the spirit and scope of the present disclosure. Thus, if these modifications and variations of the present disclosure fall within the scope of the present claims and their equivalents, the present disclosure is also intended to include these modifications and variations.
Claims
1. A simulation test method, comprising: Acquire simulation configuration information, and control the operation of dynamic obstacles in the simulated traffic scene according to scene text information in the simulation configuration information; Receiving a first adjustment instruction from the first intelligent driving system and a second adjustment instruction from the second intelligent driving system; Based on the first adjustment instruction, adjusting the driving process of the first traffic object in the dynamic obstacle; adjusting the driving process of the second traffic object in the dynamic obstacle based on the second adjustment instruction; Based on a predetermined rule, controlling the movement of a third traffic object in the dynamic obstacle; The driving data of the first traffic object, the second traffic object and the third traffic object during the driving process are used as the detection results obtained by the simulation test of the second intelligent driving system.
2. The method according to claim 1, wherein: The controlling of the operation of dynamic obstacles in the simulated traffic scene includes: A first thread is started to complete the control of the operation of at least one of the third traffic objects in the dynamic obstacle, at least one second thread is started to complete the control of the operation of at least one first traffic object in the dynamic obstacle, and the operation of the second traffic object in the dynamic obstacle is controlled by a dynamic engine.
3. The method according to claim 1, wherein: Before receiving the first adjustment instruction from the first intelligent driving system, the method further includes: Acquire status information and positioning information of all reference traffic objects in the dynamic obstacle except the first traffic object; generating first fused obstacle information based on the state information and positioning information of all reference traffic objects except the first traffic object; Send the first fused obstacle information to the first intelligent driving system.
4. The method according to claim 3, wherein: The state information includes chassis state information and a predicted trajectory within a first preset time after the current moment, wherein the chassis state information includes: current speed, current acceleration, and heading angle; the obtaining of the predicted trajectory within the first preset time after the current moment includes: The predicted trajectory of the reference traffic object within a first preset time period after a current moment is determined based on a first reference trajectory, a current speed and a current acceleration of the reference traffic object; the first reference trajectory is a center trajectory of a lane closest to the reference traffic object in the simulated traffic scene.
5. The method according to claim 4, wherein: Determining a predicted trajectory of the reference traffic object within a first preset time period after a current moment according to a first reference trajectory, a current speed, and a current acceleration of the reference traffic object includes: Determine a prediction interval distance set according to a preset interval duration, a current speed and a current acceleration of the reference traffic object; the prediction interval distance set includes predicted distances between all adjacent predicted trajectory points of the reference traffic object within the first preset duration; Using the current position of the reference traffic object as a first predicted trajectory point of the reference traffic object; Determine all downstream predicted trajectory points of the first predicted trajectory point based on the predicted interval distance set and the coordinates of all reference trajectory points in the first reference trajectory; Based on the first predicted trajectory point and all the downstream predicted trajectory points, a predicted trajectory of the reference traffic object within the first preset time period is determined.
6. The method according to claim 1, wherein: Before receiving the second adjustment instruction from the second intelligent driving system, the method further includes: Acquire status information and location information of all traffic objects in the simulated traffic flow except the second traffic object; generating second fused obstacle information based on the state information and positioning information of all traffic objects except the second traffic object; Send the second fused obstacle message to the second intelligent driving system.
7. The method according to claim 1, wherein: The third traffic object includes a first sub-traffic object and a second sub-traffic object, and the controlling the third traffic object in the dynamic obstacle to travel based on a predetermined rule includes: Controlling the first sub-traffic object to travel based on a preset trajectory; The second sub-traffic object is controlled to travel based on a preset posture update algorithm, and the travel process of the second sub-traffic object is adjusted based on a preset avoidance rule.
8. The method according to claim 7, wherein: The controlling the second sub-traffic object to travel based on a preset posture update algorithm includes: Determine the expected turning angle and speed gain of the second sub-traffic object according to the current position of the second sub-traffic object and the second reference trajectory; the second reference trajectory is the center trajectory of the road closest to the second sub-traffic object in the simulated traffic scene; The current position and posture of the second sub-traffic object is updated according to the expected turning angle and the speed gain of the second sub-traffic object.
9. The method according to claim 8, wherein: The step of determining the expected turning angle and speed gain of the second sub-traffic object according to the current position and the second reference trajectory of the second sub-traffic object comprises: determining a motion center of the second sub-traffic object according to a current position of the second sub-traffic object; determining a target reference point in the second reference trajectory according to a motion center of the second sub-traffic object; Calculating the expected turning angle of the second sub-traffic object based on the reference heading angle and the lateral error of the target reference point; determining a desired velocity of the target reference point; A speed gain is determined based on the desired speed of the target reference point and the current speed of the second sub-traffic object.
10. The method according to claim 9, wherein: The determining the expected speed of the target reference point includes: In the case where there is no other traffic object in front of the second sub-traffic object, the set speed of the target reference point is determined as the expected speed of the target reference point; the set speed of the target reference point is the road speed limit or the limit speed of the second sub-traffic object; When there is a fourth traffic object in front of the second sub-traffic object, a pending speed is determined based on the current speed of the second sub-traffic object, the speed of the fourth traffic object, and the distance between the second sub-traffic object and the fourth traffic object, and the smaller one of the pending speed and the set speed of the target reference point is determined as the expected speed of the target reference point.
11. The method according to claim 9, wherein: The determining the target reference point in the second reference trajectory according to the motion center of the second sub-traffic object includes: Determine a pending trajectory point in the second reference trajectory that is closest to the motion center of the second sub-traffic object; When the pending trajectory point is in front of the second sub-traffic object and the distance between the pending trajectory point and the motion center of the second sub-traffic object is greater than a preset threshold, the pending trajectory point is determined as a target reference point.
12. The method according to claim 11, wherein: The step of determining the target reference point in the second reference trajectory according to the motion center of the second sub-traffic object further includes: When the pending trajectory point is behind the second sub-traffic object, or the distance between the pending trajectory point and the motion center of the second sub-traffic object is less than a preset threshold, If the pending trajectory point is not the last reference trajectory point of the second reference trajectory in the direction corresponding to the front of the second traffic sub-object, updating the next reference trajectory point of the pending trajectory point in the second reference trajectory to the pending trajectory point; If the pending trajectory point is the last reference trajectory point of the second reference trajectory in the direction corresponding to the front of the second sub-traffic object, the first reference trajectory point in the third reference trajectory is updated to the pending trajectory point; the third reference trajectory is the downstream reference trajectory of the second reference trajectory on the target lane, and the target lane is the lane to which the second reference trajectory belongs.
13. The method according to claim 1, wherein: Before controlling the operation of dynamic obstacles in the simulated traffic scene according to the scene text information in the simulation configuration information, the method further includes: The simulated traffic scene is generated according to the obstacle operation parameters in the simulation configuration information.
14. A simulation test device, comprising: An acquisition module is used to obtain simulation configuration information; An operation module, used for controlling the operation of dynamic obstacles in the simulated traffic scene according to the scene text information in the simulation configuration information acquired by the acquisition module; A receiving module, configured to receive a first adjustment instruction from the first intelligent driving system and a second adjustment instruction from the second intelligent driving system; an adjustment module, configured to adjust a driving process of a first traffic object in the dynamic obstacle based on the first adjustment instruction received by the receiving module; Adjusting the driving process of the second traffic object in the dynamic obstacle based on the second adjustment instruction received by the receiving module; Based on a predetermined rule, controlling the movement of a third traffic object in the dynamic obstacle; A processing module is used to use the driving data of the first traffic object, the second traffic object and the third traffic object during the driving process as a simulation test for the second intelligent driving system to obtain a detection result.
15. A computer-readable storage medium storing a computer program, wherein the computer program is used to execute the simulation test method according to any one of claims 1 to 13.
16. An electronic device, comprising: processor; a memory for storing instructions executable by the processor; The processor is used to read the executable instructions from the memory and execute the instructions to implement the simulation test method described in any one of claims 1-13 above.