Simulation scene description file generation method and device and program product

By organizing and repositioning real-world scene data frames to generate simulation scene description files that conform to the OpenDrive and OpenScenario standards, the testing challenges in real-world scenarios are solved, enabling efficient and accurate simulation testing of ADAS functions.

CN121457048APending Publication Date: 2026-02-03ROBERT BOSCH GMBH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411049980.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-01
Publication Date
2026-02-03

AI Technical Summary

Technical Problem

In autonomous driving technology, it is difficult to complete all tests in real-world scenarios, especially under extreme conditions, and existing technologies are unable to efficiently generate accurate simulation scenario description files to test ADAS functions.

Method used

By acquiring multiple data frames from real-world scenarios, organizing and relocating the positions of vehicles and dynamic objects, a simulation scenario description file conforming to the OpenDrive and OpenScenario standards is generated. Road reference lines are smoothly connected and lane widths are calculated to achieve accurate restoration and generalization of the simulation scenario.

Benefits of technology

It enables efficient and accurate reproduction of real-world scenarios in simulation environments, supports the setup of various simulation tools, and improves the efficiency and accuracy of ADAS function testing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121457048A_ABST
    Figure CN121457048A_ABST
Patent Text Reader

Abstract

The invention relates to a method and device for generating a simulation scene description file for testing an ADAS function and a computer program product, and the method comprises the steps: obtaining a plurality of time-based data frames generated during the driving of a host vehicle with the ADAS function in a real scene, the information contained in the plurality of data frames comprises a unique identifier of each road section, a road section connection relationship and a first position point sequence, a unique identifier and a plurality of second position points of the host vehicle, and a unique identifier and a plurality of third position points of each dynamic target object related to the host vehicle; arranging information contained in the plurality of data frames into a data dictionary frame by frame on the basis of the unique identifier, wherein the arrangement operation comprises a first position point sequence of one road section in the data frame at the earliest time and a second position point sequence of the other road section in the data frame at the earliest time; repositioning a plurality of first position point sequences, a plurality of second position points and a plurality of third position points in subsequent data frames; and generating at least some elements in the simulation scene description file based on the data dictionary.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to a method, device and program product for generating a simulation scenario description file for ADAS (Advanced Driver Assistance System) function testing. BACKGROUND

[0002] With the continuous development of automatic driving technology and the continuous improvement of the automation level of automatic driving systems, a host vehicle (i.e., an automatic driving vehicle) with ADAS function needs to adapt to various high-complexity scenarios, and therefore the accuracy requirement for the automatic driving algorithm of ADAS is becoming increasingly strict, and a large number of tests need to be performed to improve the accuracy and maturity of the automatic driving algorithm. For practical considerations, i.e., considering the required time length for testing and the safety of the host vehicle and persons and objects related to the host vehicle during the entire testing process, it is difficult to complete all tests in real world or real scenarios, especially for some corner cases. SUMMARY

[0003] The present application aims to provide a method, device and program product for generating a simulation scenario description file for testing ADAS function, which can convert perception and fusion based vehicle end data generated by a host vehicle with ADAS function during driving in a real scenario in an accurate and efficient manner during operation, and then generate a simulation scenario description file according to OpenDrive and OpenScenario standards based on the converted data.

[0004] According to one aspect of the present application, a method for generating a simulation scenario description file for testing ADAS function is provided, comprising: obtaining a plurality of time-based data frames generated by a host vehicle with ADAS function during driving in a real scenario, the information contained in the plurality of data frames including: a unique identifier of each road segment, a road segment connection relationship and a first position point sequence; a unique identifier of the host vehicle and a plurality of second position points; and a unique identifier of each dynamic target object related to the host vehicle and a plurality of third position points; arranging the information contained in the plurality of data frames into a data dictionary frame by frame based on the unique identifier of each road segment, the unique identifier of the host vehicle and the unique identifier of each dynamic target object, the arrangement operation including repositioning a plurality of first position point sequences, a plurality of second position points and a plurality of third position points in subsequent data frames based on the first position point sequence of one road segment in the earliest time data frame; and generating at least some elements in the simulation scenario description file based on the data dictionary.

[0005] According to another aspect of this application, an apparatus for generating a simulation scene description file for testing ADAS functions is provided, comprising: a processor; and a memory storing executable instructions thereon, wherein when the executable instructions are executed, the processor causes the processor to execute a method for generating a simulation scene description file for testing ADAS functions.

[0006] According to another aspect of this application, a computer program product is provided, comprising: executable instructions capable of running on a processor, wherein the executable instructions, when executed by the processor, implement a method for generating a simulation scene description file for testing ADAS functions.

[0007] The advantages of the method, apparatus, and program products for generating simulation scenario description files for testing ADAS functions provided in this application include, but are not limited to: (1) when converting vehicle-side data, considering the deviations in location-related information between multiple time-based data frames, resampling and relocation are performed across the multiple data frames; (2) the generated operation facilitates the smooth connection of each two adjacent road reference lines between each two adjacent road segments and the efficient calculation of the length of the road reference lines and the lane width of each lane; (3) the simulation scenario description file accurately describes the content of the real scenario and restores the situation of the main vehicle during testing in the real scenario; (4) generalization is performed in the simulation scenario to obtain more content different from the real scenario, which is beneficial for designing various different simulation scenarios; (5) various simulation tools can build simulation scenarios based on the simulation scenario description file generated in this way. Attached Figure Description

[0008] Exemplary embodiments of this application will now be described in detail with reference to the accompanying drawings. It should be understood that the embodiments described below are for illustrative purposes only and are not intended to limit the scope of this application. In the accompanying drawings:

[0009] Figure 1 This application illustrates the use of a simulation scenario description file generation apparatus for testing ADAS functions, according to one embodiment of this application.

[0010] Figure 2 A flowchart illustrating a method for generating a simulation scenario description file for testing ADAS functions according to an embodiment of this application is shown.

[0011] Figure 3 This document illustrates a flowchart of a method for generating a simulation scenario description file for testing ADAS functions, according to an embodiment of this application.

[0012] Figure 4 This diagram illustrates the discontinuity in the sequence of first location points of a road segment across different data frames.

[0013] Figure 5 Show Figure 2 A schematic diagram of a relocation operation in the generation method.

[0014] Figure 6 Show Figure 2 A schematic diagram of another relocation operation in the generation method.

[0015] Figure 7 This document illustrates a flowchart of another organized operation in a method for generating a simulation scenario description file for testing ADAS functions, according to an embodiment of this application.

[0016] Figure 8 Show Figure 2 The flowchart of the generation operation in the generation method.

[0017] Figure 9 Show Figure 2 A schematic diagram of the generation operation in the generation method.

[0018] Figure 10 Show Figure 2 Another flowchart of the generation operation in the generation method.

[0019] Figure 11 Show Figure 2 Another schematic diagram of the generation operation in the generation method.

[0020] Figure 12 Show Figure 2 Another flowchart of the generation operation in the generation method.

[0021] Figure 13 Show Figure 2 Another schematic diagram of the generation operation in the generation method. Detailed Implementation

[0022] Various exemplary embodiments of this application will now be described in detail with reference to the accompanying drawings. It should be noted that, unless otherwise specifically stated, the relative arrangement, numerical expressions, and values ​​of the components and steps set forth in these embodiments do not limit the scope of this application.

[0023] Technologies and equipment known to those skilled in the art may not be discussed in detail, but where appropriate, such technologies and equipment should be considered part of the specification.

[0024] In all the examples shown and discussed herein, any specific values ​​should be interpreted as merely exemplary and not as limitations. Therefore, other examples of exemplary implementations may have different values.

[0025] It should be noted that similar labels and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be discussed further in subsequent figures.

[0026] like Figure 1 As shown, this application provides a simulation scene description file generation apparatus 10 for testing ADAS functions. The generation apparatus 10 includes: a processor; and a memory storing executable instructions. When the executable instructions are executed, they cause the processor to execute a simulation scene description file generation method 100 for testing ADAS functions (e.g., ...). Figure 2 As shown). Figure 1 As shown, the generating device 10 can be independent and communicate with one or a combination of a server 12 that provides high-precision maps, a roadside unit 14 and an autonomous vehicle 16, or even other types of vehicles.

[0027] Continue to refer to Figure 2 The generation method 100 mainly includes steps 101 to 103.

[0028] In step 101, the generating device 10 acquires the host vehicle with ADAS functionality (i.e., Figure 1 Multiple time-based data frames generated during the operation of autonomous vehicles 16 in real-world scenarios.

[0029] Here, while the main vehicle is driving in a real-world scenario, it generates perception- and fusion-based vehicle-side data through at least one of the main vehicle's own visual perception modules (e.g., lidar, inertial measurement unit (IMU) etc.) and optional roadside units 14, map servers 12, and navigation systems (e.g., global navigation satellite system (GNSS)). The vehicle-side data is then packaged into multiple time-based data frames and sent to the generation device 10.

[0030] Here, multiple time-based data frames are recorded with timestamps as the primary key. Therefore, unless otherwise specified, the (N-1)th data frame will be recorded earlier than the Nth data frame and later than the (N-2)th data frame, where N is a positive integer greater than 1.

[0031] Here, the information contained in the multiple data frames relates to static objects in the real-world scene, such as road networks, signs, road markings, and static obstacles. Specifically, the multiple data frames include a unique identifier for each road / segment in the road network, road / segment connection relationships, and a first location point sequence. The unique identifier of each road segment can be used to determine whether one or more road segments appear repeatedly between two or more adjacent data frames. The road segment connection relationships point to preceding and following road segments. In fact, each road segment can include one or more lanes, and each lane also has a unique identifier. The road segment connection relationships are represented in a list format, using the unique identifier of each lane to indicate the lane connection relationships between each lane of each road segment and the preceding and following lanes of the preceding and following road segments. The first location point sequence can be multiple coordinate values ​​(e.g., a coordinate matrix) in a global coordinate system.

[0032] Here, the information contained in the multiple data frames relates to dynamic objects in the real-world scene, such as the main vehicle and each dynamic target associated with the main vehicle, as well as their speed and orientation. Specifically, the multiple data frames include a unique identifier for the main vehicle and multiple second location points, and a unique identifier for each dynamic target associated with the main vehicle and multiple third location points. Each data frame contains one second location point of the main vehicle, and the multiple second location points of the multiple data frames can reflect the trajectory of the main vehicle. Similarly, each data frame contains one third location point of each dynamic target, and the multiple third location points of the multiple data frames can reflect the trajectory of each dynamic target. The multiple second and third location points are also multiple coordinate values ​​in the global coordinate system.

[0033] In step 102, the information contained in the multiple data frames is organized frame by frame into the data dictionary based on the unique identifier of each road segment, the unique identifier of the main vehicle, and the unique identifier of each dynamic target. The organization operation includes relocating multiple first location point sequences, multiple second location points, and multiple third location points in subsequent data frames based on the first location point sequence of one of the road segments in the earliest data frame.

[0034] For example, such as Figure 3As shown, the sorting operations can include: creating, for example, a dictionary format.<key,value> The global data dictionary 20 is used. Besides directly adding the information contained in the first data frame to the global data dictionary 20, the unique identifier of each road segment is compared frame-by-frame with the key (i.e., primary key) in the global data dictionary 20. If none of the current keys have been assigned a unique identifier for a specific road segment, a new key can be added to be assigned that unique identifier, and other information related to the specific road segment (e.g., road segment connectivity and first location sequence) can be added to the new value corresponding to the new key. Similarly, frame-by-frame, based on the unique identifier of the main vehicle and the unique identifier of each dynamic object, other information related to the main vehicle (e.g., second location, orientation, and speed) and other information related to each dynamic object (e.g., third location, orientation, and speed) can be added to the global data dictionary 20. Specifically, the other information related to each dynamic object, recorded frame-by-frame with the timestamp as the primary key, will be transformed into information recorded with the unique identifier of each dynamic object as the primary key, to facilitate the generalization of information related to each dynamic object.

[0035] Additionally, organizing operations can also include: creating, for example, dictionaries.<key,value> Temporary data dictionary 22, for example, can further determine in the judgment step 102a whether the road segment connection relationship of road segment C in the Nth data frame points to the preceding and following road segments in the Nth data frame. When the road segment connection relationship of road segment C in the Nth data frame does not point to any road segment in the Nth data frame, other information related to the road segment can be added to the temporary data dictionary 22 based on the unique identifier C of the road segment.

[0036] To meet the need for real-time application of vehicle-side data (i.e., multiple time-based data frames) during actual vehicle operation, discrepancies may exist between these time-based data frames regarding location-related information. For example, there might be a discrepancy between the first location point sequence of road segment M (hereinafter referred to as road segment M) uniquely identified as M in the Nth data frame and the first location point sequence of road segment M in the N+1th data frame, where M is a positive integer greater than 1. This discrepancy will further cause discontinuities between road segment M+1 in the N+1th data frame (assuming the subsequent road segment connections of road segment M point to road segment M+1) and road segment M in the Nth data frame, such as in... Figure 4 The area circled in the box. It's understandable that information such as multiple second and third location points, as well as the orientation of the main vehicle and each dynamic target, will be affected by deviations. Therefore, during the data processing, such as... Figure 3As shown, after determining that the result of step 102a is yes, in step 102b, based on the first location point sequence of one of the road segments in the earliest data frame (i.e., using the earliest data frame as the reference data), for example, multiple first location point sequences, multiple second location points, and multiple third location points in subsequent data frames are relocated frame by frame. That is, the relocated multiple first location point sequences, second location points, and third location points of each subsequent data frame are added to the global data dictionary 20.

[0037] like Figure 5 As shown, for example, the relocation operation may include: when the preceding road segment connection relationship of road segment M in the Nth data frame points to road segment M-1 in the NPth data frame, based on the deviation values ​​between at least two end position points T1 and T2 in the relocated first position point sequence of road segment M-1 in the NPth data frame and at least two start position points S1 and S2 in the first position point sequence of road segment M in the Nth data frame, relocate multiple first position point sequences, second position points and third position points in the Nth data frame, where P is a positive integer greater than or equal to 1 and it is expected that P is as large as possible to improve the accuracy of relocation.

[0038] Alternatively, such as Figure 6 As shown, for example, the relocation operation may include: when the road segment connection relationship of road segment M in the Nth data frame does not point to any road segment in the NPth data frame, based on the deviation values ​​between at least two start position points S1 and S2 in the relocated first position point sequence of road segment M in the NPth data frame and at least two start position points S1 and S2 in the first position point sequence of road segment M in the Nth data frame, relocate multiple first position point sequences, second position points and third position points in the Nth data frame, where P is a positive integer greater than or equal to 1 and it is expected that P is as large as possible to improve the accuracy of relocation.

[0039] At least after the information of all remaining road segments in subsequent data frames has been organized, i.e., added to the global data dictionary 20, it is re-determined whether road segment C in the temporary data dictionary 22, for example, in the Nth data frame, already exists in the global data dictionary 20. And if it is determined that road segment C in the Nth data frame does not exist in the global data dictionary 20, such as... Figure 7As shown, in the judgment step 102c, it is re-determined whether the subsequent road segment connection relationship of road segment C in the Nth data frame points to any road segment in the global data dictionary 20. When it is determined that the subsequent road segment connection relationship of road segment C in the Nth data frame points to road segment C+1 in the global data dictionary 20, in step 102d, the first position point sequence of road segment C is relocated based on road segment C+1, and then road segment C and its relocated first position point sequence are added to the global data dictionary 20.

[0040] Returning to step 2, in step 103, at least some elements in the simulation scenario description file are generated based on the data dictionary.

[0041] Here, simulation scenario description files will be generated based on the OpenDrive and OpenScenario standards. These standards are widely used in the field of autonomous driving simulation and are developed and maintained by the ASAM organization. The OpenDrive standard primarily describes static objects, such as the geometric features and topology of road networks. It generally uses the XML file format (.xodr) to allow various simulation tools to obtain data related to static objects. The OpenScenario standard primarily describes dynamic objects, including their actions, events, and triggering conditions, to define complex traffic scenarios and vehicle interactions. It generally uses the XML file format (.xosc) and works in conjunction with other standards such as OpenDrive to build comprehensive simulation scenarios applicable to a wide variety of simulation tools.

[0042] For example, when generating a simulation scene description file based on the OpenDrive standard, the link element of the OpenDrive standard is used to describe the road segment connection relationship of each road segment, while the first location point sequence of each road segment can be used in the planview element of the OpenDrive standard. The planview element is used to describe the top view of the road segment, that is, the projection and geometry of the road segment on a two-dimensional plane. It is one of the basic elements of each road segment in the OpenDrive standard, including the road reference line and the geometric features of the road reference line for each road segment.

[0043] Therefore, as Figure 8 As shown, the generated operation includes steps 201 to 205.

[0044] In step 201, based on the earliest data frame (i.e., the first data frame) containing multiple first location point sequences and / or subsequent frames (i.e., the second to last data frames) containing multiple relocated first location point sequences, the first side boundary location point sequence 11, 12, 13, 14…1n-1, 1n representing the first side boundary (e.g., the leftmost boundary) of the corresponding road segment M is determined, such as… Figure 9 As shown.

[0045] In step 202, based on the road segment connection relationship of a corresponding road segment M, the preceding road segment M-1 and the following road segment M+1 of the corresponding road segment M are determined.

[0046] In step 203, the second to last first side boundary position point 10 is determined from the first side boundary position point sequence 11, 12, 13, 14...1n-1, 1n of the first side boundary position point sequence of the preceding road segment M-1.

[0047] In step 204, the second first side boundary position point 1n+1 is determined from the first side boundary starting position point in the sequence of first side boundary position points 11, 12, 13, 14...1n-1, 1n of the subsequent road segment M+1.

[0048] In step 205, based on the sequence of first side boundary position points 11, 12, 13, 14…1n-1, 1n of the first side boundary position points of the corresponding road segment M, the penultimate first side boundary position point 10 of the preceding road segment M-1, and the second first side boundary position point 1n+1 of the following road segment M+1, a first-parameter cubic curve is fitted to represent a portion of the corresponding road reference line of the corresponding road segment M (e.g., the portion of the corresponding road reference line between position points 10 and 11, between position points 11 and 12… or between position points 1n and 1n+1), wherein the coefficients of the first-parameter cubic curve are used as the geometric features of said portion of the corresponding road reference line.

[0049] Here, the first first side boundary point 11 in the sequence of first side boundary points of a corresponding road segment M coincides with the penultimate first side boundary point of the preceding road segment M-1, and the last first side boundary point 1n in the sequence of first side boundary points of a corresponding road segment M coincides with the first first side boundary point of the following road segment M+1. Considering the penultimate first side boundary point 10 of the preceding road segment M-1 and the second first side boundary point 1n+1 of the following road segment M+1 during the fitting of the first parameter cubic curve will facilitate the smooth connection of every two adjacent road reference lines of every two adjacent road segments.

[0050] For example, the expression for the cubic curve with the first parameter is:

[0051] u(p) = aU + bU×p + cU×p 2 +dU×p 3 (1)

[0052] v(p)=aV+bV×p+cV×p 2 +dV×p 3 (2)

[0053] Among them, based on Figure 10 In a corresponding section G1 of a road reference line, u(p) and v(p) represent, for example, the coordinates of location points 10 and 11 on the u-axis and v-axis after being transformed from the xy-coordinate system as the global coordinate system to the uv-coordinate system as the local coordinate system by means of rotation and offset.

[0054] The interpolation parameter p can be between 0 and 1, or between 0 and the length of the cubic curve G1 of the first parameter.

[0055] Among them, aU, bU, cU, dU, aV, bV, cV, and dV are the coefficients of the first parameter cubic curve, which can be calculated based on the coordinate values ​​of position points 10 and 11 on the u-axis and v-axis.

[0056] Alternatively, the first parameter cubic curve can also be configured as a cubic Bézier curve to more flexibly represent the portion of the corresponding road reference line for a given road segment M.

[0057] Optionally, the planview element includes the length of the road reference lines, therefore, as Figure 11 As shown, the generated operation includes steps 301 to 302.

[0058] In step 301, a cubic polynomial is fitted based on the sequence of first side boundary position points of a corresponding road segment M, the second-to-last first side boundary position point 10 of the preceding road segment M-1, and the second first side boundary position point n+1 of the following road segment M+1 (e.g., position points 10 and 11, position points 11 and 12... and position points 1n and 1n+1).

[0059] y = a + b × x + c × x 2 +d×x 3 (3)

[0060] Among them, it can be based on Figure 10 In a corresponding section G1 of a road reference line, x and y represent, for example, the coordinates of location points 10 and 11 on the x-axis and y-axis in the xy coordinate system.

[0061] Where a, b, c, and d are the coefficients of the cubic polynomial, which can be calculated based on the coordinates of positions 10 and 11.

[0062] Then, in step 302, the cubic polynomial is approximated by integrating it based on the median rule to obtain the length of the portion of the corresponding road reference line.

[0063] Optionally, the planview element includes lane widths for each lane within each road segment. Therefore, as... Figure 12 As shown, the generated operation includes steps 401 to 407.

[0064] In step 401, based on the multiple first location point sequences in the first data frame and / or the multiple repositioned first location point sequences in the second to last data frames, a second side boundary location point sequence 21, 22, 23… representing the second side boundary of a corresponding road segment M is determined. The second side boundary, together with the first boundary, forms a lane of the corresponding road segment M, such as... Figure 13 As shown.

[0065] In step 402, a point 11' representing a portion of a first-parameter cubic curve is determined along the corresponding road reference line by a preset step size (e.g., 1m, or any suitable fixed or variable value). It is understood that point 11' may differ from location points 10 and 11.

[0066] In step 403, the derivative formula is obtained by differentiating the corresponding cubic curve with a first parameter, and the (first) tangent formula A of the corresponding cubic curve with a first parameter at point 11' is determined by substituting the coordinate value of point 11' into the derivative formula. Then, the (first) normal formula B of point 11' is determined based on the tangent formula A.

[0067] In step 404, it is determined that the first intersection point of the normal formula at point 11' and the (first) line formula C between two adjacent second side boundary position points lies within the interval defined by the two adjacent second side boundary position points.

[0068] For example, a (primary) connection formula can be determined based on every two adjacent second side boundary position points in the second side boundary position point sequence (e.g., position points 21 and 22, position points 22 and 23…). Figure 13As shown, if the first intersection point of the normal formula B at point 11' and the line formula C1 connecting two adjacent second side boundary positions 21 and 22 is not located within the interval defined by the two adjacent second side boundary positions 21 and 22, then the lane width at point 11' is not calculated based on the two adjacent second side boundary positions 21 and 22. If the first intersection point of the normal formula B at point 11' and the line formula C2 connecting two adjacent second side boundary positions 22 and 23 is located within the interval defined by the two adjacent second side boundary positions 22 and 23, then the lane width at point 11' can be calculated based on the two adjacent second side boundary positions 22 and 23.

[0069] Then, in step 405, a second-parameter cubic curve (not shown) is fitted based on two adjacent second side boundary location points 22 and 23. For example, the second-parameter cubic curve can also be configured as a cubic Bézier curve.

[0070] In step 406, the second intersection point of the second parameter cubic curve and the normal formula B at the point 11' is determined.

[0071] Finally, in step 407, the lane width is determined based on the intersection of point 11' and the second intersection point. It can be understood that as the preset step size increases, the lane width will change at different points along the corresponding road reference line. Here, step 404 is particularly beneficial for improving computational efficiency.

[0072] Optionally, the information contained in the plurality of data frames may further include: the bounding box value of each dynamic target object, which defines the length, width, height and center point of each dynamic target object; a plurality of first orientations and a plurality of first velocities of the main vehicle corresponding to the plurality of repositioned second position points in time; and a plurality of second orientations and a plurality of second velocities of each dynamic target object corresponding to the plurality of repositioned third position points in time.

[0073] When generating a simulation scene description file based on the OpenScenario standard, the Entity element of the OpenScenario standard includes a 3D object model resource, which includes multiple predefined 3D object models. Therefore, the generation operation may include: based on the bounding box value of a corresponding dynamic object, matching the corresponding dynamic object to one of the multiple predefined 3D object models according to the k-nearest neighbor algorithm, so as to more accurately identify the corresponding dynamic object as, for example, a tractor or a small truck.

[0074] The OpenScenario standard's StoryBoard element describes the actions of a main vehicle or a corresponding dynamic target. A StoryBoard can be divided into multiple Start Trigger, Stop Trigger, Maneuver, and Actors elements. The Start Trigger and Stop Trigger describe when the action of the main vehicle or a corresponding dynamic target begins and ends. The Actors elements describe which action of the main vehicle or a corresponding dynamic target is changing. The Maneuver elements describe how the actions of the main vehicle and each dynamic target change. A Maneuver can include multiple Event elements, each describing a specific action of the main vehicle or a corresponding dynamic target. Additionally, the Start Trigger element can include multiple Condition elements to define multiple triggering conditions for the action.

[0075] Therefore, the generated operation may include: based on the changes of the plurality of second speeds over time, for example, if the amount of change of the plurality of second speeds over time is greater than or equal to a first threshold and the trend of change is increasing or decreasing, identifying the action of a corresponding dynamic target as acceleration or deceleration, and further determining the start time, end time and duration of acceleration or deceleration.

[0076] Alternatively or supplementarily, the generated operations may include: determining the position of a dynamic object in a lane of a road segment over time based on the repositioned plurality of third location points; defining the action of the dynamic object as a lane change or offset based on the change of the unique identifier of the lane and the change of position in the lane; and further determining the start time, end time and duration of the lane change or offset.

[0077] For example, if the plurality of third position points successively enter lane S1+1 of road segment M from lane S1 in road segment M, the action of the corresponding dynamic target is identified as a lane change. It is understood that, in order to determine whether a main vehicle has changed lanes between different road segments, the lane connection relationship between lanes S1 and S1+1 in road segment M and lanes S2 and S2+1 in road segment M+1 should be considered. Furthermore, the lane centerline of the corresponding lane can be determined based on the road reference line of the corresponding road segment, and further, based on the relative positions (i.e., offsets) of the plurality of third position points relative to the lane centerline of their respective lanes after repositioning, if the change in the unique identifier of the corresponding lane does not limit the action of the corresponding dynamic target to a lane change, the action of the corresponding dynamic target is limited to an offset, and the start time, end time, and duration of the offset are determined.

[0078] On the one hand, in order to recreate the complete situation of the main vehicle during testing in a real scenario, the generated operations may include: limiting one of the triggering conditions for the acceleration or deceleration of a corresponding dynamic target to the start time of acceleration or deceleration; and limiting one of the triggering conditions for the lane change or offset of a corresponding dynamic target to the start time of lane change or offset.

[0079] Another triggering condition for the acceleration or deceleration of a corresponding dynamic target is limited to the longitudinal distance between the main vehicle and the corresponding dynamic target.

[0080] Another triggering condition for lane change or deviance of a corresponding dynamic target is limited to the longitudinal distance between the main vehicle and the corresponding dynamic target.

[0081] On the other hand, to generalize in the simulation scenario, the longitudinal distance between the main vehicle and a corresponding dynamic target in the vehicle reference frame can be calculated based on the repositioned multiple second and third position points. Furthermore, another triggering condition for the acceleration or deceleration of the corresponding dynamic target can be limited to the longitudinal distance between the main vehicle and the corresponding dynamic target in the vehicle reference frame; and another triggering condition for the lane change or offset of the corresponding dynamic target can be limited to the longitudinal distance between the main vehicle and the corresponding dynamic target in the vehicle reference frame. In this way, different triggering conditions can be used to obtain simulation scenarios that differ from the complete situation of the main vehicle during testing in a real scenario, but are based on some situations that occur in a real scenario, thus obtaining more content different from the real scenario.

[0082] In one embodiment of this application, a machine-readable storage medium is also provided, which stores executable instructions that can run on a processor. When the executable instructions are run by the processor, the processor causes the processor to execute the above-described method for generating a simulation scene description file for testing ADAS functions.

[0083] In one embodiment of this application, a computer program product is also provided, which includes executable instructions that can run on a processor. When executed by the processor, the executable instructions implement the above-described method for generating a simulation scene description file for testing ADAS functions.

[0084] The present application has been described in detail above with reference to specific embodiments. However, the above description and the embodiments shown in the accompanying drawings should be understood as exemplary and not as limiting the present application. Various modifications or variations can be made to the present application without departing from its spirit, and such modifications or variations do not depart from the scope of the present application.

Claims

1. A method (100) for generating a simulation scenario description file for testing ADAS functions, comprising: Acquire multiple time-based data frames generated by a main vehicle with ADAS functionality while driving in a real-world scenario. The information contained in these multiple data frames includes: a unique identifier for each road segment, road segment connectivity, and a sequence of first location points; a unique identifier for the main vehicle and multiple second location points; and a unique identifier for each dynamic target associated with the main vehicle and multiple third location points. Based on the unique identifiers of each road segment, the main vehicle, and each dynamic target, the information contained in the multiple data frames is organized frame by frame into the data dictionary. The organization operation includes relocating multiple first location point sequences, multiple second location points, and multiple third location points in subsequent data frames based on the first location point sequence of one road segment in the earliest data frame; and... Based on the data dictionary, generate at least some elements in the simulation scenario description file.

2. The method for generating a simulation scene description file according to claim 1 (100), wherein, Relocation operations include: When the road segment connection relationship of the road segment with unique identifier M in the Nth data frame points to the road segment with unique identifier M-1 in the NPth data frame, based on the deviation values ​​between at least two end position points in the relocated first position point sequence of the road segment with unique identifier M-1 in the NPth data frame and at least two start position points in the first position point sequence of the road segment with unique identifier M in the Nth data frame, multiple first position point sequences, second position points, and third position points in the Nth data frame are relocated, where N and M are positive integers greater than 1, and P is a positive integer greater than or equal to 1, and P is expected to be as large as possible; or When the road segment connection relationship of the road segment with unique identifier M in the Nth data frame does not point to any road segment in the NPth data frame, based on the deviation values ​​between at least two starting position points in the relocated first position point sequence of the road segment with unique identifier M in the NPth data frame and at least two starting position points in the first position point sequence of the road segment with unique identifier M in the Nth data frame, multiple first position point sequences, second position points and third position points in the Nth data frame are relocated, where N and M are positive integers greater than 1, and P is a positive integer greater than or equal to 1 and is expected to be as large as possible.

3. The method for generating a simulation scene description file according to claim 1 or 2 (100), wherein, The at least some elements include road reference lines for each road segment and the geometric features of the road reference lines; therefore, the generation operation includes: Based on multiple first location point sequences in the earliest data frame and / or multiple relocated first location point sequences in subsequent data frames, determine the first side boundary location point sequence representing the first side boundary of each road segment. Based on the road segment connection relationship of a given road segment, determine the preceding and following road segments of that given road segment; Determine the second-to-last first side boundary position point in the sequence of first side boundary position points of the preceding road segment; Determine the second first side boundary position point in the sequence of first side boundary position points of the subsequent road segment, starting from the first side boundary position point; and Based on the sequence of first side boundary position points of a corresponding road segment, the penultimate first side boundary position point of the preceding road segment, and the second first side boundary position point of the following road segment, a first-parameter cubic curve is fitted to represent a portion of a corresponding road reference line of the corresponding road segment, wherein the coefficient of the first-parameter cubic curve is used as the geometric feature of the portion of the corresponding road reference line.

4. The method for generating a simulation scene description file according to claim 3 (100), wherein, The first parameter, the cubic curve, is configured as a cubic Bézier curve.

5. The method for generating a simulation scene description file according to claim 3 (100), wherein, At least some of the elements include the length of the road reference line; therefore, the generation operation includes: Based on the sequence of first side boundary position points of a corresponding road segment, the second-to-last first side boundary position point of the preceding road segment, and the second first side boundary position point of the following road segment, a cubic polynomial is fitted for every two adjacent first side boundary position points; and The cubic polynomial is approximated by integrating it using the mean value rule to obtain the length of the portion of the corresponding road reference line.

6. The method for generating a simulation scene description file according to claim 3 (100), wherein, The at least some of the elements include the lane width of each lane in each road segment; therefore, the generated operation includes: Based on multiple first location point sequences in the first data frame and / or multiple relocated first location point sequences in subsequent data frames, determine the second side boundary location point sequence representing the second side boundary of each road segment; Determine a point on a first-parameter cubic curve representing a portion of the corresponding road reference line by a preset step size along the corresponding road reference line. Determine the formula for the normal line of a cubic curve with a first parameter at the given point; The first intersection point of the normal formula at the point and the line formula connecting two adjacent second side boundary points is located within the interval defined by the two adjacent second side boundary points; Based on the two adjacent second side boundary positions, fit a cubic curve with second parameters; Determine the second intersection point of the cubic curve with the normal formula at the given point; and Based on the intersection of the first point and the second point, the lane width is determined.

7. The method for generating a simulation scene description file according to claim 1 (100), wherein, The information contained in the multiple data frames also includes the bounding box value of each dynamic object, and at least some elements in the simulation scene description file also include multiple predefined 3D object models. Therefore, the generated operations include: Based on the bounding box value of a corresponding dynamic object, the corresponding dynamic object is matched to one of the multiple predefined 3D object models according to the k-nearest neighbor algorithm.

8. The method for generating a simulation scene description file according to claim 7 (100), wherein, The information contained in the multiple data frames also includes a unique identifier for each lane in each road segment, and multiple speeds of a corresponding dynamic target object corresponding to the repositioned multiple third location points in time. Furthermore, at least some elements in the simulation scene description file also include the actions of a corresponding dynamic target object. Therefore, the generated operations include: Based on the changes in the multiple speeds over time, the action of a corresponding dynamic target is defined as acceleration or deceleration, and the start time of acceleration or deceleration is determined; and The generated operations include: Based on the repositioned third location points, the position of a dynamic target object in a corresponding lane of a corresponding road segment is determined over time; and Based on the change of the unique identifier of a lane and the change of position in a lane, the action of a dynamic target is defined as lane change or offset, and the start time of lane change or offset is determined.

9. The method for generating a simulation scene description file according to claim 8 (100), wherein, At least some elements in the simulation scene description file also include multiple triggering conditions for the actions of a corresponding dynamic target object; therefore, the generated operations include: Based on the repositioned multiple second position points and multiple repositioned multiple third position points, calculate the longitudinal distance between the main vehicle and a corresponding dynamic target object; One of the triggering conditions for the acceleration or deceleration of a corresponding dynamic target is limited to the start time of acceleration or deceleration; Another triggering condition for the acceleration or deceleration of a corresponding dynamic target is limited to the longitudinal distance between the main vehicle and the corresponding dynamic target. One of the triggering conditions for a lane change or offset of a corresponding dynamic target is limited to the start time of the lane change or offset; and Another triggering condition for lane change or deviance of a corresponding dynamic target is limited to the longitudinal distance between the main vehicle and the corresponding dynamic target.

10. An apparatus (10) for generating simulation scene description files for testing ADAS functions, comprising: processor; A memory, on which executable instructions are stored, which, when executed, cause the processor to execute a method (100) for generating a simulation scene description file for testing ADAS functions according to any one of claims 1 to 9.

11. A computer program product comprising: An executable instruction capable of running on a processor, wherein when executed by the processor, the executable instruction implements the method for generating a simulation scene description file for testing ADAS functions according to any one of claims 1 to 9 (100).