Method, device, equipment and storage medium for scene simulation reproduction

By managing the messages of the combination of tested modules in autonomous driving testing, the problem of poor simulation reproduction effect in multi-module combinations under the single module replay mechanism is solved, and a more efficient simulation reproduction effect is achieved.

CN115508105BActive Publication Date: 2025-11-07BEIJING BAIDU NETCOM SCI & TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211136576.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-09-19
Publication Date
2025-11-07
Estimated Expiration
2042-09-19

AI Technical Summary

Technical Problem

In existing autonomous driving tests, playback mechanisms based on a single module are difficult to effectively reproduce abnormal problems in a combination of multiple modules under test. In particular, the upstream module's processing speed is too fast, causing chaos in the data message processing of the downstream module, resulting in poor simulation reproduction.

Method used

By sequentially inputting sensor messages from the drive test into the module at the beginning of the processing link in the module under test, and inputting the output messages of the upstream module when the downstream module is detected to be idle, the messages of each module can be controlled, avoiding the downstream module processing chaos caused by the upstream module processing speed being too fast.

Benefits of technology

This improves the simulation reproduction effect in autonomous driving testing, ensures that downstream modules can process messages as expected, and enhances the accuracy and consistency of simulation reproduction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115508105B_ABST
    Figure CN115508105B_ABST
Patent Text Reader

Abstract

The present disclosure provides a scenario simulation reproduction method and device, equipment and storage medium, relates to the technical field of automatic driving, in particular to the technical field of automatic driving test and automatic driving simulation. The specific implementation scheme is: inputting the input messages of each module of the measured module combination in a preset time period before the target reproduction period during road test into each module of the measured module combination; inputting the sensor messages processed by the module at the head of the processing link in the measured module combination in the target reproduction period during road test into the module in sequence; obtaining the output messages output by the first module of the measured module combination each time, and generating a to-be-processed message queue in sequence; when detecting that the second module located next to the first module in the measured module combination is idle, removing the output message at the head of the to-be-processed message queue and inputting the output message into the second module. The state of each module in the measured module combination can be restored, and the messages between the modules can be controlled, so that the simulation reproduction effect is improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to the technical field of automatic driving, in particular to the technical field of automatic driving testing and automatic driving simulation, and specifically to a scenario simulation reproduction method and device, equipment and a storage medium. BACKGROUND

[0002] In daily automatic driving testing, it is often necessary to reproduce abnormal problems in the process of automatic driving road testing (i.e., road testing by a real vehicle), such as emergency braking, collision risk and exiting automatic driving, as well as some somatosensory and rule violation problems. Data message playback is a very typical scenario reproduction technology. In the industry, most reproduction schemes are based on a playback mechanism of a single module. However, for an automatic driving scheme with heavy perception and light map, it is often difficult to strictly attribute the cause of abnormal problems to the division of modules in the automatic driving system. Therefore, the playback mechanism based on a single module cannot reproduce scenarios for a measured module combination composed of multiple modules that are difficult to separate. SUMMARY

[0003] The present disclosure provides a scenario simulation reproduction method, device, equipment and storage medium, which can control the messages between the modules in the measured module combination, thereby avoiding the problem of poor simulation reproduction effect caused by the confusion of the modules in processing data messages.

[0004] According to a first aspect of the present disclosure, a scenario simulation reproduction method is provided, which comprises:

[0005] inputting, to each module of a measured module combination comprising at least two modules, input messages of the respective module within a preset time length before a target reproduction time period during road testing; inputting, to a module at the beginning of a processing link in the measured module combination, sensor messages processed by the module at the beginning of the processing link within the target reproduction time period during road testing in a time sequence; acquiring output messages output by a first module in the measured module combination each time, and generating a to-be-processed message queue in a time sequence; and when a second module in the measured module combination is detected to be idle, removing an output message at the head of the to-be-processed message queue and inputting the output message to the second module; wherein the second module and the first module are adjacent in the processing link, and the second module is next to the first module.

[0006] According to a second aspect of the present disclosure, there is provided a device for scenario simulation reproduction, comprising: a playback module configured to input, to each module of a module combination under test, an input message of each module within a preset time period before a target reproduction time period during road testing; and input, to a module at a head of a processing link in the module combination under test, sensor messages processed by the module at the head of the processing link within the target reproduction time period in a time sequence; and a message control module configured to acquire an output message output by a first module in the module combination under test each time, and generate a to-be-processed message queue in a time sequence; and when detecting that a second module in the module combination under test is idle, remove the output message at the head of the to-be-processed message queue and input the output message to the second module; wherein the second module and the first module are adjacent in the processing link, and the second module is next to the first module.

[0007] According to a third aspect of the present disclosure, there is provided an electronic device, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to the first aspect.

[0008] According to a fourth aspect of the present disclosure, there is provided a non-transitory computer-readable storage medium storing computer instructions for causing a computer to perform the method according to the first aspect.

[0009] According to a fifth aspect of the present disclosure, there is provided a computer program product comprising a computer program, the computer program being configured to implement the method according to the first aspect when executed by a processor.

[0010] The present disclosure can simulate and reproduce the scenario in which the measured module combination processes sensor messages during road testing by sequentially inputting the sensor messages processed each time during road testing to the module located at the beginning of the processing link in the measured module combination. After the module located at the beginning of the processing link in the measured module combination receives the sensor messages, each module in the measured module combination can process the messages based on the processing link, and finally output the processing result by the module located at the end of the processing link. In the present disclosure, the output and input of the messages of each module in the measured module combination are also controlled after the measured module combination starts processing. For example, for the first module and the second module located at adjacent positions in the processing link in the measured module combination, the output message output by the first module is controlled, so that when the second module is idle, i.e., after the second module finishes processing the last input message, the output message output by the first module is input to the second module so that the second module continues to process the message, thereby avoiding the problem that the output message output by the first module accumulates in the second module due to the too fast processing speed of the first module, causing the processing of the second module to be chaotic. That is, the present disclosure can control the messages of each module in the measured module combination to avoid the problem that the data message processing of the downstream module is chaotic due to the too fast processing speed of the upstream module, and finally improve the simulation and reproduction effect.

[0011] It should be understood that the content described in this part is not intended to identify key or important features of the embodiments of the present disclosure, nor to limit the scope of the present disclosure. Other features of the present disclosure will become apparent from the following description. BRIEF DESCRIPTION OF DRAWINGS

[0012] The accompanying drawings are used to better understand the present scheme and do not limit the present disclosure. Among them:

[0013] Figure 1 One of the flowcharts of the scenario simulation and reproduction method provided by the embodiments of the present disclosure;

[0014] Figure 2 The second flowchart of the scenario simulation and reproduction method provided by the embodiments of the present disclosure;

[0015] Figure 3 The third flowchart of the scenario simulation and reproduction method provided by the embodiments of the present disclosure;

[0016] Figure 4 The fourth flowchart of the scenario simulation and reproduction method provided by the embodiments of the present disclosure;

[0017] Figure 5 The fifth flowchart of the scenario simulation and reproduction method provided by the embodiments of the present disclosure;

[0018] Figure 6 The composition schematic diagram of the scenario simulation and reproduction device provided by the embodiments of the present disclosure;

[0019] Figure 7 A schematic block diagram of an example electronic device 700 that can be used to implement embodiments of the present disclosure is shown. DETAILED DESCRIPTION

[0020] Exemplary embodiments of the present disclosure are described below with reference to the accompanying drawings, which show various details of embodiments of the present disclosure by way of example in order to facilitate understanding. It should be recognized that various modifications and changes can be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Also, for the sake of brevity and clarity, descriptions of well-known functions and constructions are omitted from the following description.

[0021] The method and device for scenario simulation reproduction provided by the present disclosure are suitable for a scenario in which a measured module combination including at least two modules is subjected to scenario simulation reproduction. The method for scenario simulation reproduction provided by the present disclosure can be executed by a device for scenario simulation reproduction, which can be implemented in software and / or hardware and specifically configured in an electronic device, which can be a server, a smart phone, a notebook computer, a computer, a single-chip microcomputer, or other computing devices, without limitation.

[0022] The method for scenario simulation reproduction provided by the present disclosure is described in detail below.

[0023] In daily automatic driving tests, it is often necessary to reproduce abnormal problems in the process of automatic driving road tests (i.e., road tests performed by actual vehicles), such as emergency braking, collision risks, and exiting automatic driving, as well as some somatosensory and rule violation problems. Data message playback is a very typical scenario reproduction technology. In the industry, most reproduction schemes are based on a single-module playback mechanism. However, for automatic driving schemes that emphasize perception and de-emphasize maps, abnormal problems are often difficult to strictly attribute to the division of modules in the automatic driving system. Therefore, the playback mechanism based on a single module cannot be used to reproduce scenarios for a measured module combination composed of multiple modules that are difficult to separate.

[0024] Since the modules of the measured module combination can interact with each other according to the processing link after the module at the upstream end of the measured module combination (i.e., the module at the head of the processing link) receives the sensor message, and finally the module at the downstream end (i.e., the module at the tail of the processing link) outputs the processing result, the existing scene simulation reproduction of the multi-module scenario generally adopts integrated black box processing, does not consider the interaction logic and message sequence of the processing link composed of each module, and directly reads the result output by the final module at the downstream end after inputting the data message (such as a sensor message) of the module at the upstream end. Therefore, the data message processing of the downstream module may be disordered due to the too fast processing speed of the upstream module, and finally the simulation reproduction effect is poor.

[0025] To this end, the present disclosure provides a scene simulation reproduction method, which comprises: inputting, to each module of a measured module combination comprising at least two modules, an input message within a preset time length before a target reproduction period during road testing; inputting, to the module at the head of the processing link in the measured module combination, in time sequence, a sensor message processed by the module at the head of the processing link within the target reproduction period during road testing; acquiring an output message output by the first module of the measured module combination each time, and generating a to-be-processed message queue in time sequence; when detecting that the second module of the measured module combination is idle, removing the output message at the head of the to-be-processed message queue and inputting it to the second module; wherein the second module and the first module are adjacent in the processing link, and the second module is at the next position of the first module.

[0026] The present disclosure can first restore the state of each module in the measured module combination by inputting the input message in a time period before the target reproduction period to each module in the measured module combination, so that each module in the measured module combination can have a certain perception of the calculation process before the target reproduction period, facilitating subsequent reproduction of the measured module combination in the target reproduction period. The measured module combination can be reproduced in a state closer to road testing, thereby improving the simulation reproduction effect of the measured module combination in the target reproduction period. Then, when simulating the reproduction of the measured module combination, the scene when the measured module combination processes the sensor message during road testing can be simulated by sequentially inputting the sensor message processed by the module at the beginning of the processing link in the target reproduction period during road testing to the module at the beginning of the processing link in the measured module combination. When the module at the beginning of the processing link in the measured module combination receives the sensor message, each module in the measured module combination can process the message based on the processing link, and finally output the processing result by the module at the end of the processing link. In the present disclosure, the output and input of the message of each module in the measured module combination are controlled after the measured module combination starts processing. For example, for the first module and the second module at adjacent positions in the processing link in the measured module combination, the output message output by the first module is controlled, so that when the second module is idle, i.e. after the second module finishes processing the last input message, the output message output by the first module is input to the second module for the second module to continue processing the message, thereby avoiding the problem of accumulation of output messages in the second module due to the too fast processing speed of the first module, causing the processing of the second module to be chaotic. That is, the present disclosure can control the message of each module in the measured module combination to avoid the problem of chaotic data message processing of downstream modules due to the too fast processing speed of upstream modules, and finally improve the simulation reproduction effect.

[0027] Figure 1 The flowchart of the method for simulating the scene reproduction provided by the embodiment of the present disclosure is shown in FIG. 1. Figure 1 As shown in FIG. 1, the method can include the following S101-S104.

[0028] S101, input the input message in a preset time period before the target reproduction period to each module in the measured module combination including at least two modules.

[0029] Generally, the road testing time is relatively long, so when simulating the reproduction of the measured module combination, only the period when the fault occurs during road testing needs to be simulated and reproduced. Therefore, the target reproduction period is usually the period when the fault occurs during road testing.

[0030] The input message input to each module of the measured module combination can be the corresponding disk data of each module during road testing. That is, during road testing, the output message of each module is stored in the memory, so that in S101, the output message of the upstream module of the corresponding module can be read from the memory and input to the corresponding module in sequence. For example, the module 1 and the module 2 adjacent in the processing link are included in the measured module combination, so when the input message of the module 2 within the preset time period before the target reproduction period during road testing is input, the output message of the module 1 within the preset time period before the target reproduction period stored in the memory can be input to the module 2 in sequence.

[0031] It should be noted that the corresponding input message of each module of the measured module combination can be input at the same time, or the corresponding input message of each module can be input in sequence according to the order of the processing link, or the corresponding input message of each module of the measured module combination can be randomly input in disorder until the input of the corresponding input message of each module is completed. Of course, in actual application, the corresponding input message of each module of the measured module combination can be input at the same time, so as to improve the efficiency of inputting the corresponding input message of each module and save time.

[0032] Optionally, the preset time period in S101 can be set according to actual conditions.

[0033] For example, the preset time period can be determined according to the scene of the vehicle during road testing within the target reproduction period which needs to be simulated and reproduced. For example, when the vehicle is in a turning scene during road testing, the preset time period can be set to 5 seconds, so that the input message of each module of the measured module combination within 5 seconds before the target reproduction period can be input. For example, the preset time period can also be determined according to the algorithm characteristics of the data processing process of the measured module combination, and the like. Of course, the above is only an example, and the specific value of the preset time period is not limited herein.

[0034] S102, inputting, to the module located at the beginning of the processing link in the measured module combination, in sequence, the sensor message processed by the module located at the beginning of the processing link in the measured module combination within the target reproduction period during road testing.

[0035] Since each module in the measured module combination can interact according to the processing link to finally output the processing result by the module located at the end of the processing link. Therefore, by inputting the sensor message processed by the module located at the beginning of the processing link in the measured module combination within the target reproduction period during road testing to the module located at the beginning of the processing link in the measured module combination, the measured module combination can process each processor message and finally output the processing result, so as to realize the scene simulation reproduction of the road testing result of the measured module combination.

[0036] For example, the sensor messages are usually stored in the memory, and thus, the sensor messages can be read in sequence to input the module located at the head of the processing link in the measured module combination.

[0037] Optionally, in order to truly reproduce the message input condition when the measured module combination is road tested, the sensor messages can be input in sequence to the corresponding module (i.e., the module located at the head of the processing link in the measured module combination) according to the time sequence.

[0038] S103, obtaining the output messages output by the first module in the measured module combination each time, and generating a to-be-processed message queue according to the time sequence.

[0039] S104, when detecting that the second module in the measured module combination is idle, removing the output message at the head of the to-be-processed message queue and inputting the output message to the second module.

[0040] The second module and the first module are adjacent in the processing link, and the second module is located next to the first module.

[0041] It should be noted that removing the output message at the head of the to-be-processed message queue means removing the corresponding output message from the queue, so as to avoid repeatedly inputting the same output message to the second module.

[0042] Since the sensor messages processed by the measured module combination each time are input in sequence, for each input sensor message, each module in the measured module combination will perform a corresponding data message processing, so that the measured module combination finally inputs the corresponding processing result for each input sensor message. Therefore, for the first module in the measured module combination, the first module will output a corresponding number of output messages corresponding to each input message.

[0043] Therefore, after obtaining the output messages output by the first module in the measured module combination each time, the output messages can be arranged in sequence to form a queue. Then, the message input of the second module (i.e., the module in the processing link that needs to process the message output by the first module) is controlled. When detecting that the second module is idle, the output message output by the first module at the head of the queue is input to the second module for processing. Through continuous detection of the idle state of the second module, the output message at the head of the queue is input to the second module each time the second module is detected to be idle. In this way, the second module can process the output messages output by the first module in sequence. Thus, when the processing speed of the first module is too fast, the output messages output by the first module can be prevented from rushing into the second module before the second module completes the processing of the last output message output by the first module, thereby preventing the processing of the second module from being chaotic.

[0044] Since the second module and the first module are adjacent in the processing link and the second module is located next to the first module, S103 and S104 can be performed for any adjacent modules in the measured module combination in the processing link. Thus, the messages among the modules in the measured module combination are controlled.

[0045] Optionally, in the measured module combination, according to the setting of the processing link, there can be a case that after multiple modules in the measured module combination process and output messages, one module simultaneously processes the messages output by the multiple modules. At this time, the messages output by the multiple upstream modules can be controlled, and only when the modules all process and output messages, the messages output by the modules are simultaneously input to the corresponding downstream module, so as to avoid the problem that the downstream module does not simultaneously process the messages output by the multiple upstream modules, resulting in incorrect processing results.

[0046] For example, based on the method shown in the flowchart shown in Figure 1 When it is detected that the second module in the measured module combination is idle, the output message at the head of the to-be-processed message queue is input to the second module, and before the output message is input to the second module, the method further includes: Figure 2

[0047] S201, it is determined that the to-be-processed message queue corresponding to each first module is not empty.

[0048] Since the second module needs to jointly process the output messages output by the first modules to output the processed output message, when the output message at the head of the to-be-processed message queue corresponding to a first module is empty, it indicates that the first module has not yet output the message required by the second module for this processing. Therefore, when the to-be-processed message queues corresponding to the first modules are all not empty, it indicates that the first modules all calculate and output the messages required by the second module for this processing. At this time, S103 is performed, which can avoid the problem that the first modules have not all processed and output the corresponding messages, the output messages of the first modules that have completed processing and output are input to the second module and processed, resulting in incorrect processing of the second module.

[0049] ​For example, the second module needs to perform processing calculations based on the output messages from the two upstream modules, Module 1 and Module 2. Therefore, it needs to determine whether there are messages in the message queues corresponding to the output messages of Module 1 and Module 2. When both the message queues corresponding to Module 1 and Module 2 contain messages (i.e., neither is empty), the messages at the head of their respective queues are input into the second module. The second module can then process and calculate the messages from Module 1 and Module 2 to obtain the processing result and generate the output message. Otherwise, if at least one of the message queues corresponding to the first module 1 and the first module 2 is empty, it means that the first module corresponding to the empty queue has not completed message processing and has not output any messages. In this case, messages from the non-empty message queues should not be input to the second module. This will prevent the second module from inputting messages output by only one of the first modules 1 or 2, which would result in the second module failing to process and calculate messages output by both the first module 1 and the first module 2 simultaneously during the drive test.

[0050] In other words, this allows for the control of messages output by multiple upstream modules when a single module processes messages from multiple upstream modules simultaneously. Only when all these modules have finished processing and outputting messages are the messages simultaneously input to the corresponding downstream module. This avoids the problem of incorrect processing results caused by the downstream module not processing messages from multiple upstream modules simultaneously.

[0051] Optionally, during road testing, each module in the module assembly under test can record its input messages for each calculation to obtain the corresponding module's input message sequence. In this case, based on the above... Figure 1 The method described above inputs the sensor messages processed during the drive test sequentially to the module at the beginning of the processing link in the module assembly under test, in chronological order. Figure 3 As shown, it may include:

[0052] S301. For the module at the beginning of the processing link in the module under test, according to the input message sequence recorded by the module at the beginning of the processing link during the road test, input the sensor messages processed by the module at the beginning of the processing link during the target reproduction period.

[0053] For example, since the sensor messages are stored in the memory respectively during the road test, the stored sensor messages include all the sensor messages output by the sensor. During the actual road test, part of the sensor messages may not be actually input into the module at the head of the processing link due to frame loss and other reasons. Therefore, the sensor messages actually input into the module at the head of the processing link during the road test can be determined by the input message sequence recorded by the module at the head of the processing link during the road test. When frame loss occurs at a certain moment, the sensor message corresponding to the moment is not actually input into the module at the head of the processing link, and therefore the corresponding sensor message will not appear in the input message sequence recorded by the module at the head of the processing link.

[0054] Therefore, S301 can specifically be inputting the sensor messages stored in the memory into the module at the head of the processing link in time sequence according to the messages at each moment in the input message sequence. When the message at a certain moment does not appear at the corresponding moment in the input message sequence (i.e., the sensor message at a certain moment stored in the memory is not actually input into the module at the head of the processing link during the road test), the message is discarded and not input into the module at the head of the processing link.

[0055] For example, in the target reproduction period, at the third moment, the sensor outputs a sensor message during the actual road test and stores the sensor message in the memory, but the corresponding sensor message is not input into the module at the head of the processing link. Accordingly, the module at the head of the processing link will not record the corresponding sensor message at the third moment in the input message sequence corresponding to the module. Therefore, based on S301, when the sensor message corresponding to the third moment stored in the memory needs to be input, it can be determined whether the sensor message corresponding to the third moment exists in the input message sequence at the third moment. If not, the sensor message at the third moment can be discarded and not input into the module at the head of the processing link.

[0056] Since the input message sequence recorded by the module includes the messages actually input each time during the road test of the module, the specific messages input into the module each time and the number and source of the messages input each time can be determined according to the input message sequence. Therefore, according to the input message sequence recorded by the module at the head of the processing link during the road test, the sensor messages processed during the road test are input in sequence, which can accurately replay the sensor messages input into the module at the head of the processing link. When frame loss occurs during the actual road test of all the sensor messages (i.e., individual sensor messages are not input), the corresponding sensor messages can not be input into the module at the head of the processing link in the corresponding scene simulation reproduction, thereby better reproducing the frame loss during the road test and improving the scene simulation reproduction effect.

[0057] Optionally, in the road test process, each module in the module combination under test can also record the input message at each time of calculation to obtain the input message sequence of the corresponding module. At this time, based on the above Figure 1 The method includes: Figure 4 The method includes:

[0058] S401, according to the input message sequence recorded by the second module during the road test, the output message at the head of the message queue under processing is dequeued and input to the second module.

[0059] For example, in the actual road test process, at a certain time, a module in the module combination under test can not actually receive the message output by the module upstream due to frame loss and other reasons. Therefore, the input message actually input to the module during the road test can be determined through the input message sequence recorded by each module during the road test. When a module appears frame loss at a certain time, the corresponding input message at the time is not actually input to the module, and the corresponding input message at the time will not appear in the input message sequence recorded by the module.

[0060] Therefore, S401 can be specifically that according to the message at each time in the input message sequence, the output message of the corresponding first module is input to the second module. When the output message output by the first module at a certain time does not appear at the corresponding time in the input message sequence of the second module, it indicates that the input message is not actually input to the second module during the road test, and therefore the message can be discarded and not input to the second module, so that the simulation reproduction process is consistent with the road test process.

[0061] For another example, when the module combination under test includes multiple first modules, according to the message at each time in the input message sequence, when the output message output by each first module is input to the second module at a certain time, if the output message of a certain first module is missing at the corresponding time in the input message sequence of the second module, only the output message of the first module missing in the input message sequence (i.e. the output message at the head of the message queue under processing corresponding to the first module) can be dequeued and not input to the second module.

[0062] For example, the first module includes the first module 1 and the first module 2. When it is determined that the to-be-processed message queues corresponding to the first module 1 and the first module 2 are both not empty, the input message recorded in the input message sequence of the second module at the corresponding time can be determined first. When it is determined that the input message sequence at the corresponding time lacks the message output by the first module 1, it is indicated that the message output by the first module 1 is not actually input to the second module in this time during the road test. Therefore, the output message at the head of the to-be-processed message queue corresponding to the first module 1 can be dequeued but not input to the second module, and only the output message at the head of the to-be-processed message queue corresponding to the first module 2 is input to the second module.

[0063] Alternatively, when it is determined that the input message sequence at the corresponding time lacks the message output by the first module 2, it is indicated that the message output by the first module 2 is not actually input to the second module in this time during the road test. Therefore, the output message at the head of the to-be-processed message queue corresponding to the first module 2 can be dequeued but not input to the second module, and only the output message at the head of the to-be-processed message queue corresponding to the first module 1 is input to the second module.

[0064] Alternatively, when it is determined that the input message sequence at the corresponding time lacks the message output by the first module 1 and the message output by the first module 2, it is indicated that the messages output by the first module 1 and the first module 2 are not actually input to the second module in this time during the road test. Therefore, the output messages at the heads of the to-be-processed message queues corresponding to the first module 1 and the first module 2 can be dequeued but not input to the second module.

[0065] Since the input message sequence recorded by the module includes the message actually input to the module each time during the road test of the module, the specific message input to the module each time and the number and source of the message input each time can be determined according to the input message sequence. Therefore, when the output message at the head of the to-be-processed message queue is dequeued and input to the second module according to the input message sequence recorded by the second module during the road test, the message input to the second module can be accurately played back. When there is frame loss (i.e., individual messages are not input) when the message is actually input to the second module during the road test, the output message output by the corresponding first module can not be input to the second module in the corresponding scene simulation reproduction, so that the frame loss in the road test can be better reproduced, the message input of each module can be consistent with the actual input during the road test, and the scene simulation reproduction effect is improved.

[0066] As an example, in the present application, the above method can further include the step of obtaining the input message sequence recorded by each module during the road test of the corresponding module, so that it is more convenient to use the input message sequence of the corresponding module when needed.

[0067] Optionally, in the processing logic of some tested module combinations, part of the modules need to combine the time length used by the module processing the output message when processing the received message (i.e. the clock information of the module corresponding to the received message) when processing the message, so the clock information can be carried in the output message of each module. Therefore, the clock information in the output message of each module can be recorded during road testing to generate the clock information sequence of each module, so that the clock information in the output message during simulation reproduction of the module can be updated according to the clock information sequence recorded by the module.

[0068] For example, based on the above Figure 1 The method described above, the output message contains clock information, the clock information is used to indicate the time length used by the corresponding module when processing the output message, the output message output by the first module in the tested module combination each time is obtained, such as Figure 5 As shown in the method, the method can include:

[0069] S501, the output message output by the first module each time is obtained, and the clock information contained in the output message output by the first module each time is updated according to the clock information sequence recorded by the first module during road testing.

[0070] Optionally, the clock information carried by the output message output by the first module can be updated every time the output message is obtained. The clock information carried by the output messages can also be updated respectively after a plurality of output messages are obtained.

[0071] By updating the clock information carried in the output message output by the first module, the clock information in the message input by the second module during scene simulation reproduction can be consistent with the clock information in the corresponding message input by the second module during actual road testing, so that the processing result of the second module when processing the message according to the clock information can be more close to the road testing, and the scene simulation reproduction effect is improved.

[0072] In an exemplary embodiment, the present disclosure also provides a device for scene simulation reproduction, which can be used to implement the method for scene simulation reproduction as described in the foregoing embodiments.

[0073] Figure 6 The device for scene simulation reproduction provided by the present disclosure is shown in the composition schematic diagram.

[0074] As Figure 6 shown, the device can include:

[0075] The playback module 601 is configured to input, to each module of the measured module combination comprising at least two modules, an input message of the respective module within a preset time length before a target reproduction time period during road testing; and input, to a module at a head of a processing link in the measured module combination, sensor messages processed by the module at the head of the processing link within the target reproduction time period during road testing in a time sequence.

[0076] The message control module 602 is configured to obtain an output message output by each first module in the measured module combination, and generate a to-be-processed message queue in a time sequence; and when detecting that a second module in the measured module combination is idle, remove the output message at the head of the to-be-processed message queue from the to-be-processed message queue and input the output message to the second module; the second module and the first module are adjacent in the processing link, and the second module is located next to the first module.

[0077] In some possible implementation manners, the measured module combination comprises a plurality of first modules; and the message control module 602 is further configured to determine that the to-be-processed message queue corresponding to each first module is not empty.

[0078] In some possible implementation manners, the playback module 601 is specifically configured to input, to the module at the head of the processing link in the measured module combination, sensor messages processed by the measured module combination during road testing in a time sequence according to the obtained input message sequence recorded by the module at the head of the processing link during road testing.

[0079] In some possible implementation manners, the message control module 602 is specifically configured to remove the output message at the head of the to-be-processed message queue from the to-be-processed message queue and input the output message to the second module according to the obtained input message sequence recorded by the second module during road testing.

[0080] In some possible implementation manners, the output message comprises clock information, the clock information is used to indicate a time length for processing the output message by a corresponding module; and the apparatus further comprises a clock control module 603 configured to update the clock information contained in the output message output by each first module according to the obtained clock information sequence recorded by the first module during road testing.

[0081] In the technical solution of the present disclosure, the acquisition, storage and application of user personal information comply with relevant laws and regulations and do not violate public order and good customs.

[0082] According to the embodiments of the present disclosure, the present disclosure further provides an electronic device, a readable storage medium and a computer program product.

[0083] In an exemplary embodiment, an electronic device includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the method as described in the above embodiments.

[0084] In an exemplary embodiment, the readable storage medium may be a non-transitory computer-readable storage medium storing computer instructions for causing the computer to perform the method described in the above embodiments.

[0085] In an exemplary embodiment, the computer program product includes a computer program that, when executed by a processor, implements the method described in the above embodiments.

[0086] Figure 7 A schematic block diagram of an example electronic device 700 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0087] like Figure 7 As shown, device 700 includes a computing unit 701, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 702 or a computer program loaded from storage unit 708 into random access memory (RAM) 703. RAM 703 may also store various programs and data required for the operation of device 700. The computing unit 701, ROM 702, and RAM 703 are interconnected via bus 704. Input / output (I / O) interface 705 is also connected to bus 704.

[0088] Multiple components in device 700 are connected to I / O interface 705, including: input unit 706, such as keyboard, mouse, etc.; output unit 707, such as various types of monitors, speakers, etc.; storage unit 708, such as disk, optical disk, etc.; and communication unit 709, such as network card, modem, wireless transceiver, etc. Communication unit 709 allows device 700 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0089] The computing unit 701 can be various general and / or special purpose processing components with processing and computing capabilities. Some examples of the computing unit 701 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various specialized artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The computing unit 701 performs various methods and processes described above, such as the method of scene simulation reproduction. For example, in some embodiments, the method of scene simulation reproduction can be implemented as a computer software program tangibly embodied in a machine-readable medium, such as the storage unit 708. In some embodiments, part or all of the computer program can be loaded and / or installed onto the device 700 via the ROM 702 and / or the communication unit 709. When the computer program is loaded onto the RAM 703 and executed by the computing unit 701, one or more steps of the method of scene simulation reproduction described above can be performed. Alternatively, in other embodiments, the computing unit 701 can be configured to perform the method of scene simulation reproduction by any other appropriate means, such as by means of firmware.

[0090] Various implementations of the systems and techniques described above can be realized in digital electronic circuitry, integrated circuitry, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on a chip (SOC), a programmable logic device (PLD), a computer hardware, firmware, software, and / or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which can be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.

[0091] Program code for carrying out methods of the present disclosure can be written in any combination of one or more programming languages. The program code can be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the program code, when executed by the processor or controller, produces the functions / operations specified in the flowcharts and / or the block diagrams. The program code can be executed entirely on a machine, partially on a machine, partially on a machine as a stand-alone software package, partially on a machine and partially on a remote machine or entirely on a remote machine or server.

[0092] In the context of this disclosure, a machine-readable medium can be a tangible medium that contains or stores a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include but is not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0093] To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.

[0094] The systems and techniques described here can be implemented in a computing system that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a user computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), and the Internet.

[0095] The computer system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server can be a cloud server, a server of a distributed system, or a server combined with a blockchain.

[0096] It should be understood that the various forms of flow shown above can be used to reorder, add, or delete steps. For example, the steps recited in the present disclosure can be performed in parallel, in series, or in a different order, as long as the desired results of the technology disclosed in the present disclosure can be achieved, which is not limited herein.

[0097] The above detailed description does not constitute a limitation on the protection scope of the present disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent replacements, and improvements made within the spirit and principles of the present disclosure shall be included in the protection scope of the present disclosure.

Claims

1. A method of scenario simulation replication, characterized by, The method comprises the following steps: inputting input messages of each module of a measured module combination comprising at least two modules to each module respectively, the input messages being inputted within a preset time period before a target reproduction time period; inputting sensor messages processed by a module at the head of a processing link in the measured module combination in a time sequence to the module at the head of the processing link in the measured module combination, the sensor messages being processed within the target reproduction time period during a test; obtaining output messages outputted by a first module in the measured module combination each time, and generating a to-be-processed message queue in a time sequence; when detecting that a second module in the measured module combination is idle, removing an output message at the head of the to-be-processed message queue and inputting the output message to the second module, the second module and the first module being adjacent in the processing link, and the second module being next to the first module.

2. The method of claim 1, wherein, The measured module combination comprises a plurality of first modules; before inputting the output message at the head of the to-be-processed message queue to the second module when detecting that the second module in the measured module combination is idle, the method further comprises the following steps: determining that the to-be-processed message queue corresponding to each first module is not empty.

3. The method according to claim 1 or 2, characterized in that, The step of inputting the sensor messages processed by the module at the head of the processing link in the measured module combination in a time sequence to the module at the head of the processing link in the measured module combination, the sensor messages being processed within the target reproduction time period during a test, comprises the following steps: inputting the sensor messages processed by the module at the head of the processing link in the measured module combination in a time sequence to the module at the head of the processing link in the measured module combination, the sensor messages being processed within the target reproduction time period during a test according to a sequence of input messages recorded by the module at the head of the processing link during a test.

4. The method according to claim 1 or 2, characterized in that, The step of removing the output message at the head of the to-be-processed message queue and inputting the output message to the second module, comprises the following steps: removing the output message at the head of the to-be-processed message queue and inputting the output message to the second module according to a sequence of input messages recorded by the second module during a test.

5. The method according to claim 1 or 2, characterized in that, The output message comprises clock information, the clock information being used to indicate a time length for processing the output message by a corresponding module; The step of obtaining the output messages outputted by the first module in the measured module combination each time, comprises the following steps: obtaining the output messages outputted by the first module each time, and updating the clock information contained in the output messages outputted by the first module each time according to a sequence of clock information recorded by the first module during a test.

6. An apparatus for scenario simulation replication, characterized in that, The method comprises the following steps: a replay module is configured to input input messages of each module of a measured module combination comprising at least two modules to each module respectively, the input messages being inputted within a preset time period before a target reproduction time period; inputting sensor messages processed by a module at the head of a processing link in the measured module combination in a time sequence to the module at the head of the processing link in the measured module combination, the sensor messages being processed within the target reproduction time period during a test; The message control module is configured to obtain an output message output by each time of the first module in the module combination under test, and generate a to-be-processed message queue according to time sequence; when detecting that the second module in the module combination under test is idle, the output message at the head of the to-be-processed message queue is dequeued and input to the second module; the second module and the first module are adjacent in the processing link, and the second module is located next to the first module.

7. The apparatus of claim 6, wherein, The module combination under test comprises a plurality of first modules; the message control module is further configured to determine that the to-be-processed message queue corresponding to each first module is not empty.

8. The apparatus of claim 6 or 7, wherein, The playback module is specifically configured to input, to the module located at the head of the processing link in the module combination under test, the input message sequence recorded when the module located at the head of the processing link is tested, and sequentially input the sensor message processed by the module located at the head of the processing link in the target reproduction period.

9. The apparatus of claim 6 or 7, wherein, The message control module is specifically configured to dequeue the output message at the head of the to-be-processed message queue and input the output message to the second module according to the input message sequence recorded when the second module is tested.

10. The apparatus of claim 6 or 7, wherein, The output message comprises clock information, the clock information is used to indicate the time length for processing the output message by the corresponding module, and the device further comprises a clock control module configured to update the clock information contained in the output message output by each time of the first module according to the clock information sequence recorded when the first module is tested. 11.An electronic device comprising: at least one processor; and a memory connected to the at least one processor in communication; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-5.

12. A non-transitory computer readable storage medium having stored thereon computer instructions, wherein, The computer instructions are used to enable the computer to perform the method of any one of claims 1-5. 13.A computer program product comprising a computer program which, when executed by a processor, implements the method of any one of claims 1-5.

Citation Information

Patent Citations

  • Automatic driving full-stack algorithm closed-loop simulation test system and method

    CN112597005A

  • Message Processing Method and Device

    US20150304124A1