Driving data processing method, control device, readable storage medium and vehicle
By structuring and vectorizing the information obtained by autonomous driving vehicles, identifying and classifying different driving scenarios, the problem of data imbalance in autonomous driving scenarios is solved, and the model's performance in lane change and avoidance scenarios is improved.
Patent Information
- Application Number
- CN202411866189.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-17
- Publication Date
- 2025-05-27
AI Technical Summary
The data of autonomous driving scenarios is unbalanced, resulting in poor performance in the face of lane change and avoidance scenarios.
By structuring the information obtained by the bicycle, road data, surrounding vehicle data and bicycle data are obtained, and these data are vectorized to obtain vectorized features. Based on these features, different judgment conditions are preset for multiple driving scenarios for identification and classification.
Data mining and processing of different driving scenarios is realized, and the performance of the model in different scenarios is improved, especially lane change and avoidance scenarios.
Smart Images

Figure CN120045971A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of autonomous driving technology, and in particular to a driving data processing method, a control device, a readable storage medium and a vehicle. Background Art
[0002] With the development of deep learning and big model technology in recent years, the mainstream solutions for prediction, decision-making, and planning algorithms in autonomous driving have gradually transformed from rule-based methods to modeling methods.
[0003] For autonomous driving prediction, decision-making, and planning, the balance of performance in different driving scenarios is crucial. In the massive amount of driving data, the data distribution of different driving scenarios is likely to be uneven. For example, there is a lot of data for conventional uniform speed following scenes, but very little data for scenes such as lane changing and avoidance. If the data is not balanced, the model will perform poorly in scenes such as lane changing and avoidance. The key to data balancing is to distinguish different scenes first, so data mining is urgently needed for different driving scenarios. Summary of the invention
[0004] The present application provides a driving data processing method, a control device, a readable storage medium and a vehicle, thereby solving the technical problem of unbalanced data in autonomous driving scenarios.
[0005] On the one hand, the present application provides a driving data processing method, which includes: structuring information obtained by the self-vehicle to obtain multiple structured data, the structured data including road data, surrounding vehicle data and self-vehicle data, wherein the road data is the road line in the surrounding environment of the self-vehicle determined by the self-vehicle according to a preset first rule, the surrounding vehicle data is the surrounding vehicles in the surrounding environment of the self-vehicle determined by the self-vehicle according to a preset second rule, and the self-vehicle data includes the driving trajectory of the self-vehicle and the vehicle information of the self-vehicle; vectorizing the structured data to obtain vectorized features; and presetting different judgment conditions for multiple driving scenarios based on the vectorized features to identify and classify the multiple driving scenarios.
[0006] Optionally, the information acquired by the vehicle is structured to obtain multiple structured data, including: obtaining a first distance value between the current position of the vehicle and the road line, and taking the road line with the smallest first distance value as the first road line; determining whether the road type of the first road line is a stop line at an intersection; if not, calculating the inverse tangent value of the first road line to obtain the orientation of the first road line; establishing a reference coordinate system with the current position of the vehicle as the coordinate origin and the orientation of the first road line as the reference orientation; and structured processing the information acquired by the vehicle to obtain structured data in the reference coordinate system.
[0007] Optionally, the information acquired by the self-vehicle is structured to obtain structured data in the reference coordinate system, including: obtaining the driving trajectory of the self-vehicle within a first preset time or a first preset distance, and converting the driving trajectory of the self-vehicle to the reference coordinate system as the structured data of the self-vehicle.
[0008] Optionally, the information obtained by the vehicle is structured to obtain structured data in the reference coordinate system, including: obtaining driving trajectories of surrounding vehicles within a second preset time or a second preset distance, and converting the driving trajectories of the surrounding vehicles to the reference coordinate system as the structured data of the surrounding vehicles.
[0009] Optionally, different judgment conditions are preset for multiple driving scenarios based on the vectorized features to identify and classify the multiple driving scenarios, including: obtaining the intersection stop line whose distance from the current position of the vehicle is within a preset second distance range; calculating the second distance value between the intersection stop line and the current position of the vehicle, taking the intersection stop line with the smallest second distance value as the first intersection stop line, and taking the second distance value between the current position of the vehicle and the first intersection stop line as the intersection distance; obtaining a pre-set intersection threshold; determining whether the intersection distance is less than or equal to the intersection threshold; and if so, identifying that the vehicle is in an intersection scene.
[0010] Optionally, different judgment conditions are preset for multiple driving scenarios based on the vectorized features to identify and classify the multiple driving scenarios, including: obtaining a preset interaction threshold; calculating multiple third distance values between the driving trajectory of the own vehicle and the driving trajectory of surrounding vehicles, and taking the minimum value of the multiple third distance values as the interaction distance; judging whether the interaction distance is less than or equal to the interaction threshold; if so, identifying that there is interaction between the own vehicle and the surrounding vehicles.
[0011] Optionally, different judgment conditions are preset for multiple driving scenarios based on the vectorized features to identify and classify the multiple driving scenarios, including: obtaining the starting vector and the ending vector of the vehicle's driving trajectory, and calculating the first angle between the starting vector and the ending vector; obtaining a pre-set U-turn threshold and a turning threshold; judging whether the first angle is greater than or equal to the U-turn threshold; if so, identifying that the vehicle is in a U-turn scenario; if not, judging whether the first angle is greater than or equal to the turning threshold; in response to the first angle being greater than or equal to the turning threshold, identifying that the vehicle is in a turning scenario.
[0012] Optionally, after identifying that the vehicle is in a turning scene, it also includes: judging the size relationship between the ordinate of the termination vector and 0; if the ordinate of the termination vector is greater than 0, identifying that the vehicle is in a left turn scene; if the ordinate of the termination vector is less than 0, identifying that the vehicle is in a right turn scene.
[0013] Optionally, different judgment conditions are preset for multiple driving scenarios based on the vectorized features to identify and classify the multiple driving scenarios, including: selecting a second road line according to a third rule, and calculating a second angle between the first road line and the second road line; obtaining a pre-set straight road threshold; judging whether the second angle is less than or equal to the straight road threshold; and if so, identifying that the vehicle is in a straight road scenario.
[0014] Optionally, after identifying that the ego vehicle is in a straight-line scenario, the method further includes: calculating a lateral offset value of the ego vehicle; obtaining a preset lane change threshold; determining whether the lateral offset value is greater than or equal to the lane change threshold; if so, obtaining a termination vector of the ego vehicle's driving trajectory, and determining whether a third angle between the termination vector and the reference orientation is less than or equal to the straight-line threshold; in response to the third angle between the termination vector and the reference orientation being less than or equal to the straight-line threshold, identifying that the ego vehicle is in a straight-line lane change scenario.
[0015] Optionally, after identifying that the ego vehicle is in a straight-line scenario, the method includes: calculating a lateral offset value of the ego vehicle; obtaining a preset lane change threshold and a line pressing threshold; judging whether the lateral offset value is less than or equal to the lane change threshold and greater than the line pressing threshold; if so, obtaining a preset collision threshold, and calculating the distance between the ego vehicle's driving trajectory and the driving trajectory of the surrounding vehicles; judging whether the distance between the ego vehicle's driving trajectory and the driving trajectory of the surrounding vehicles is less than or equal to the collision threshold; if so, obtaining a preset terminal posture condition, and judging whether the ego vehicle satisfies the terminal posture condition; in response to the ego vehicle satisfying the terminal posture condition, identifying that the ego vehicle is in a lane avoidance scenario.
[0016] Optionally, different judgment conditions are preset for multiple driving scenarios based on the vectorized features to identify and classify the multiple driving scenarios, including: obtaining a preset minimum headway, following distance and time headway threshold; judging whether the distance between the self-vehicle and the surrounding vehicles located in front of the self-vehicle is less than or equal to the following distance; if so, calculating the time headway between the self-vehicle and the surrounding vehicles; judging whether the time headway is less than the minimum headway; if so, updating the time headway to the minimum headway; judging whether the minimum headway is less than or equal to the time headway threshold; if so, identifying that the self-vehicle is in a stable following scenario.
[0017] Optionally, different judgment conditions are preset for multiple driving scenarios based on the vectorized features to identify and classify the multiple driving scenarios, including: obtaining the length of the driving trajectory of the vehicle within a third preset time and a preset still threshold; judging whether the driving trajectory length is less than or equal to the still threshold; if so, identifying that the vehicle is in a still scene; if not, obtaining a preset motion threshold and judging whether the driving trajectory length is greater than or equal to the motion threshold; in response to whether the driving trajectory length is greater than or equal to the motion threshold, identifying that the vehicle is in a motion scene.
[0018] Optionally, different judgment conditions are preset for multiple driving scenarios based on the vectorized features to identify and classify the multiple driving scenarios, including: obtaining the values of multiple speed points of the self-vehicle within a fourth preset time; accumulating and calculating the number of acceleration points, the number of deceleration points, the number of continuous acceleration points and the number of continuous deceleration points according to the values of the multiple speed points; judging whether the self-vehicle satisfies a continuous acceleration condition, wherein the continuous acceleration condition is that the proportion of the number of acceleration points is greater than or equal to a preset acceleration point threshold, and the proportion of the number of continuous acceleration points is greater than or equal to a preset continuous acceleration point threshold; if so, identifying that the self-vehicle is in a continuous acceleration scenario; if not, judging whether the self-vehicle satisfies a continuous deceleration condition, wherein the continuous deceleration condition is that the proportion of the number of deceleration points is greater than or equal to a preset deceleration point threshold, and the proportion of the number of continuous deceleration points is greater than or equal to a preset continuous deceleration point threshold; in response to the self-vehicle satisfying the continuous deceleration condition, identifying that the self-vehicle is in a continuous deceleration scenario.
[0019] Optionally, the accumulative calculation of the number of acceleration points, the number of deceleration points, the number of continuous acceleration points, and the number of continuous deceleration points based on the multiple speed values includes: initializing the number of acceleration points, the number of deceleration points, the number of continuous acceleration points, and the number of continuous deceleration points to 0; starting from the second speed point, determining the numerical relationship between the current speed point of the vehicle and the previous speed point; if the value of the current speed point is greater than the value of the previous speed point, then the number of acceleration points and the number of continuous acceleration points are both increased by 1, and the number of continuous deceleration points is reset to 0; if the value of the current speed point is less than the value of the previous speed point, then the number of deceleration points and the number of continuous deceleration points are both increased by 1, and the number of continuous acceleration points is reset to 0.
[0020] On the other hand, the present application also provides a control device, comprising at least one processor and at least one storage device, wherein the storage device is suitable for storing multiple program codes, and the program codes are suitable for being loaded and run by the processor to execute the driving data processing method as described above.
[0021] On the other hand, the present application also provides a readable storage medium, in which a plurality of program codes are stored, and the program codes are suitable for being loaded and run by a processor to execute the driving data processing method as described above.
[0022] On the other hand, the present application also provides a vehicle, comprising the control device as described above.
[0023] The beneficial effect of the present application is that the present application obtains structured data including road data, surrounding vehicle data and vehicle data by performing structured processing on various information obtained by the vehicle, wherein the road data is the road line in the surrounding environment of the vehicle determined by the vehicle according to a preset first rule, the surrounding vehicle data is the surrounding vehicles in the surrounding environment of the vehicle determined by the vehicle according to a preset second rule, and the vehicle data includes the driving trajectory of the vehicle and the vehicle information of the vehicle. Furthermore, the present application performs vectorization processing on these structured data and obtains vectorized features. Based on this, the present application can represent the entire driving scene with a vector, and then use the vector to preset different judgment conditions for different driving scenes, so that the driving scene can be identified and classified through vector processing, thereby realizing data mining and processing of different driving scenes. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the prior art descriptions are briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative work, among which:
[0025] Figure 1 It is a flowchart of an embodiment of a driving data processing method of the present application;
[0026] Figure 2 yes Figure 1 A flowchart of a specific embodiment of step S11;
[0027] Figure 3 yes Figure 2 A flowchart of a specific embodiment of step S115;
[0028] Figure 4 yes Figure 1 A flow chart of a specific embodiment of step S13;
[0029] Figure 5 yes Figure 1 A flow chart of a specific embodiment of step S13;
[0030] Figure 6 It is a schematic diagram of whether there is interaction between the vehicle and surrounding vehicles;
[0031] Figure 7 yes Figure 1 A schematic diagram of another specific embodiment of step S13;
[0032] Figure 8 It is a schematic diagram for judging whether the vehicle is in a left turn scenario or a right turn scenario;
[0033] Fig. 9 yes Figure 1 A schematic diagram of another specific embodiment of step S13;
[0034] Fig.10 is a schematic diagram of the lateral displacement of the ego vehicle when changing lanes;
[0035] Fig.11 yes Figure 1 A schematic diagram of another specific embodiment of step S13;
[0036] Fig.12 It is a schematic diagram of the lateral displacement of the vehicle when it is in a lane-avoidance scenario;
[0037] Fig.13 yes Figure 1A schematic diagram of another specific embodiment of step S13;
[0038] Fig.14 yes Figure 1 A schematic diagram of another specific embodiment of step S13;
[0039] Fig.15 yes Figure 1 A schematic diagram of another specific embodiment of step S13;
[0040] Fig.16 yes Fig.15 A flowchart of a specific embodiment of step S1382;
[0041] Fig.17 is a structural schematic diagram of an embodiment of a control device provided by the present application;
[0042] Fig.18 It is a structural schematic diagram of an embodiment of a readable storage medium provided by the present application;
[0043] Fig.19 It is a structural schematic diagram of a vehicle embodiment provided by the present application. DETAILED DESCRIPTION
[0044] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0045] The terms "first", "second", "third" in the embodiments of the present application are only used for descriptive purposes, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of indicated technical features. Thus, the features defined as "first", "second", "third" can expressly or implicitly include at least one of the features. In the description of the present application, the meaning of "multiple" is at least two, such as two, three, etc., unless otherwise clearly and specifically defined. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device comprising a series of steps or units is not limited to the listed steps or units, but optionally also includes steps or units that are not listed, or optionally also includes other steps or units inherent to these processes, methods, products or devices.
[0046] Reference to "embodiments" herein means that a particular feature, structure, or characteristic described in conjunction with the embodiments may be included in at least one embodiment of the present application. The appearance of the phrase in various locations in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment that is mutually exclusive with other embodiments. It is explicitly and implicitly understood by those skilled in the art that the embodiments described herein may be combined with other embodiments.
[0047] See also Figure 1 , Figure 1 It is a flowchart of an embodiment of a driving data processing method of the present application.
[0048] S11: Structuring the information obtained by the vehicle to obtain a plurality of structured data, where the structured data includes road data, surrounding vehicle data and vehicle data.
[0049] Among them, the road data is the road lines in the surrounding environment of the vehicle determined by the vehicle according to the preset first rule, the surrounding vehicle data is the surrounding vehicles in the surrounding environment of the vehicle determined by the vehicle according to the preset second rule, and the vehicle data includes the driving trajectory of the vehicle and the vehicle information of the vehicle.
[0050] In a specific embodiment of the present application, the first rule may be the road lines within a preset range that are closest to the vehicle. For example, the road lines may be all static road lines within 140 meters from the vehicle, including solid lines, dotted lines, virtual road center lines, zebra crossings, intersection stop lines, curbs, etc. The data of each road line includes at least data such as the starting position, the end position, and the road type. Furthermore, in an embodiment of the present application, in order to improve efficiency, every 10 road lines may be regarded as a subgraph according to the distance from the vehicle, and then the 100 subgraphs may be sorted from near to far according to the distance from the vehicle.
[0051] The road data may be obtained by using a perception system during the driving process of the vehicle, or by using a map, or by combining a map with a perception system.
[0052] The second rule may be to select a preset number of surrounding vehicles closest to the vehicle. For example, the surrounding vehicles may be the 40 surrounding vehicles closest to the vehicle. The surrounding vehicle data includes multiple driving trajectory points within a certain time or a certain path for each surrounding vehicle, as well as the starting position, end position, speed, length, width, orientation angle and surrounding vehicle type of the surrounding vehicle. For example, the driving trajectory of the surrounding vehicles from 2 seconds in history to 4 seconds in the future can be selected, and a driving trajectory point is selected every 0.2s, and a total of 30 driving trajectory points are selected, or the driving trajectory of the surrounding vehicles in the future 50 meters can be selected, and a driving trajectory point is selected every 2 meters, and a total of 25 driving trajectory points are selected. Of course, how long the driving trajectory is selected and how long the driving trajectory point is selected, how long the driving trajectory of the path is selected, and how far the driving trajectory point is selected can be specifically set according to actual needs, and this application is not specifically limited here.
[0053] The self-vehicle data includes the self-vehicle driving trajectory and the vehicle information of the self-vehicle, wherein the self-vehicle driving trajectory includes the driving trajectory points and driving speed of the self-vehicle within a certain time in the future or within a certain path. For example, the driving trajectory of the self-vehicle in the next 4 seconds can be selected, and a driving trajectory point can be selected every 0.2 seconds, and a total of 20 driving trajectory points can be selected, or the driving trajectory of the self-vehicle in the next 100 meters can be selected, and a driving trajectory point can be selected every 2 meters, and a total of 50 driving trajectory points can be selected. The driving speed of the self-vehicle in a certain time in the future can be selected at a speed point every 0.2 seconds, and a total of 20 points can be selected, which can be used to record the speed of the self-vehicle in the next 4 seconds. In addition, the self-vehicle data also includes the vehicle information of the self-vehicle, including acceleration, length, width and other information.
[0054] It is worth noting that the road data, surrounding vehicle data and self-vehicle data listed above are not exhaustive. As long as the relevant road, surrounding vehicle and self-vehicle information obtained during the driving process of the self-vehicle falls within the scope of the road data, surrounding vehicle data and self-vehicle data mentioned in this application.
[0055] In one embodiment of the present application, see Figure 2 , step S11 may specifically include the following steps:
[0056] S111: Obtain a first distance value between the current position of the vehicle and the road line, and use the road line with the smallest first distance value as the first road line.
[0057] Specifically, the present application obtains the first distance value between each road line and the current position of the vehicle, and then finds the road line closest to the current position of the vehicle, that is, the road line with the smallest first distance value, and uses this road line as the first road line.
[0058] In one embodiment of the present application, since every 10 road lines are regarded as a sub-graph according to the distance from the vehicle, and these sub-graphs are sorted from near to far according to the distance from the vehicle, it is only necessary to calculate the first distance values between the 10 road lines in the first sub-graph and the current position of the vehicle, and then select the road line with the smallest first distance value as the first road line.
[0059] S112: Determine whether the road type of the first road line is a stop line at an intersection.
[0060] If the vehicle is selected as the reference point, the relative relationship between the vehicle and the road cannot be reflected. Therefore, the current position coordinates of the vehicle and the direction of the road vector closest to the vehicle are selected to form the reference point. However, if the first road line is a stop line at an intersection, the reference direction cannot be determined based on the first road line. Therefore, it is necessary to ensure that the road type of the first road line is not a stop line at an intersection in order to obtain the reference direction through subsequent calculations.
[0061] S113: If not, calculating the arctangent value of the first road line to obtain the direction of the first road line.
[0062] If it is determined that the first road line is not a stop line at an intersection, the direction of the first road line may be obtained by calculating the arc tangent value of the first road line.
[0063] S114: Establish a reference coordinate system with the current position of the vehicle as the coordinate origin and the orientation of the first road line as the reference orientation.
[0064] Specifically, assuming that the starting point coordinates of the first road line are (x 1 ,y 1 ), the end point coordinates of the first road line are (x 2 ,y 2 ), then the angle between the first road line and the X-axis can be expressed by The reference orientation can be obtained by calculation.
[0065] Furthermore, the reference orientation can be combined with the current position coordinates of the vehicle to form a reference point:
[0066] ref_point=(ego_x,ego_y,ref_heading)
[0067] Among them, ref_point is the reference point, ego_x is the X-axis coordinate of the current position of the ego vehicle, ego_y is the Y-axis coordinate of the current position of the ego vehicle, and ref_heading is the reference heading.
[0068] In the driving scene, the vehicle and surrounding vehicles need to select a fixed reference system to better reflect and calculate the movement trend of the vehicle and the position transformation relationship of the surrounding vehicles relative to the vehicle. Therefore, the present application uses the current position of the vehicle as the coordinate origin and the orientation of the first road line as the reference orientation to establish a reference coordinate system, so that the aforementioned road data, surrounding vehicle data and vehicle data can be displayed synchronously in the reference coordinate system.
[0069] It is worth noting that, in some embodiments, the current position of the vehicle is specifically represented by the position of the center of the rear axle of the vehicle.
[0070] S115: Structuring the information acquired by the vehicle to obtain structured data in a reference coordinate system.
[0071] The road data, surrounding vehicle data and self-vehicle data acquired by the self-vehicle are converted into a reference coordinate system to obtain structured data of the road, surrounding vehicles and self-vehicle in the reference coordinate system.
[0072] For example, the data of each road line may at least include the horizontal and vertical coordinates of the starting point, the horizontal and vertical coordinates of the end point, and the road line type. The surrounding vehicle data includes the horizontal and vertical coordinates of each driving trajectory point of each surrounding vehicle within a certain time or a certain path, as well as the horizontal and vertical coordinates of the starting position of the surrounding vehicle, the horizontal and vertical coordinates of the end position, the horizontal and vertical coordinate speed, the horizontal and vertical axis length, the heading angle, and the surrounding vehicle type. The own vehicle driving trajectory includes the horizontal and vertical coordinates and the horizontal and vertical coordinate driving speed of each driving trajectory point within a certain time or a certain path in the future. The vehicle information of the own vehicle includes information such as the horizontal and vertical coordinate acceleration and the horizontal and vertical coordinate length.
[0073] In one embodiment of the present application, see Figure 3 , step S115 may specifically include the following steps:
[0074] S1151: Acquire a driving trajectory of the vehicle within a first preset time or a first preset distance, and convert the driving trajectory of the vehicle into a reference coordinate system to serve as structured data of the vehicle.
[0075] By acquiring the driving trajectory of the vehicle within a first preset time or a first preset distance, the driving trajectory of the vehicle in the past period of time can be known or the driving trajectory of the vehicle in the future period of time can be predicted, or the driving trajectory of the vehicle in the past distance can be known or the driving trajectory of the vehicle in the future distance can be predicted. The driving trajectory data of the vehicle can be converted into a reference coordinate system, and the driving trajectory data of the vehicle can be represented by multiple different coordinate points on the reference coordinate system. Using these coordinate point data as the structured data of the vehicle can help determine the specific driving scenario in which the vehicle is currently located, which is conducive to mining data under different driving scenarios.
[0076] Specifically, the first preset time and the first preset distance can be set according to actual needs. For example, it can be to obtain the driving trajectory of the vehicle in the next 4 seconds, or to obtain the driving trajectory of the vehicle from the past 2 seconds to the next 5 seconds, or to obtain the driving trajectory of the vehicle in the next 100 meters, etc. This application does not make specific limitations here.
[0077] S1152: Acquire the driving trajectories of the surrounding vehicles within a second preset time or a second preset distance, and convert the driving trajectories of the surrounding vehicles into a reference coordinate system as structured data of the surrounding vehicles.
[0078] By acquiring the driving trajectories of surrounding vehicles within a second preset time or a second preset distance, it is possible to know the driving trajectories of surrounding vehicles in the past period of time or predict the driving trajectories of surrounding vehicles in the future, or to know the driving trajectories of surrounding vehicles in the past distance or predict the driving trajectories of surrounding vehicles in the future. The driving trajectory data of surrounding vehicles can be converted into a reference coordinate system, and the driving trajectory data of surrounding vehicles can be represented by multiple different coordinate points on the reference coordinate system. Using these coordinate point data as structured data of surrounding vehicles can help judge the relative situation of the own vehicle and surrounding vehicles. For example, it can be judged whether there is a possibility of collision between the own vehicle and surrounding vehicles through the driving trajectory of the own vehicle and the driving trajectories of surrounding vehicles. In this way, the specific driving scenario in which the own vehicle is currently located can be judged according to the situation of the own vehicle and surrounding vehicles, which is conducive to mining data under different driving scenarios.
[0079] Specifically, the second preset time and the second preset distance can be set according to actual needs. For example, it can be to obtain the driving trajectory of surrounding vehicles in the next 4 seconds, or to obtain the driving trajectory of surrounding vehicles from the past 2 seconds to the next 3 seconds, or to obtain the driving trajectory of surrounding vehicles in the next 50 meters, etc. This application does not make specific limitations here.
[0080] S12: Perform vectorization processing on the structured data to obtain vectorized features.
[0081] The information obtained by the vehicle is processed in a structured manner to obtain multiple structured data including road data, surrounding vehicle data and vehicle data, and these structured data are vectorized to obtain the vectorized features of the target vehicle. Through the above configuration, the application can convert the information obtained by the vehicle into vectorized features, and the vectorized features occupy fewer resources, which can save more computing resources for the vehicle-side program, and the vectorized features can provide data with greater information density for the driving scene judgment process of the vehicle, so that more accurate and reasonable results can be obtained when the vectorized features are used for driving scene judgment.
[0082] S13: Preset different judgment conditions for various driving scenarios based on the vectorized features to identify and classify the various driving scenarios.
[0083] like Figure 1 As shown, after obtaining multiple vectorized features of the road, surrounding vehicles, and the vehicle itself, the present application can comprehensively set the conditions that the road, surrounding vehicles, or the vehicle itself needs to have in different driving scenarios by observing the personalized characterization data of the road, surrounding vehicles, and the vehicle itself in different driving scenarios, and then judge the current driving scenario of the vehicle itself based on whether the road, surrounding vehicles, or the vehicle itself currently meets these set conditions.
[0084] For example, in one embodiment of the present application, it is possible to identify whether the vehicle is currently in an intersection scene by judging whether the distance between the vehicle and the nearest stop line at the intersection meets the set conditions. In another embodiment of the present application, it is possible to identify whether the vehicle is in an interactive scene by judging whether the distance between the vehicle's driving trajectory and the driving trajectory of surrounding vehicles meets the set conditions. In another embodiment of the present application, it is possible to identify whether the vehicle is in a turning scene by judging whether the starting vector and the ending vector of the vehicle's driving trajectory meet the set conditions. In another embodiment of the present application, it is possible to identify whether the vehicle is in a straight lane change scene by judging whether the relationship between the vehicle and the lane line meets the set conditions. In another embodiment of the present application, it is possible to identify whether the vehicle is in a lane-borrowing avoidance scene by judging whether the vehicle's driving trajectory and the driving trajectory of surrounding vehicles meet the set conditions. In another embodiment of the present application, it is possible to identify whether the vehicle is in a stable following scene by judging whether the time distance between the vehicle and surrounding vehicles meets the set conditions. In another embodiment of the present application, it is possible to identify whether the vehicle is in a stationary or dynamic scene by judging whether the length of the vehicle's driving trajectory meets the set conditions. In another embodiment of the present application, whether the vehicle is in a continuous acceleration or continuous deceleration scenario can be identified by judging whether the speed change meets the set conditions.
[0085] The present application performs data mining based on driving scene data represented by vectorization. Currently, vectorized driving scene representation is the mainstream representation scheme in model-based training schemes for prediction, decision-making, and planning. Therefore, the present application can be applied to any scheme that is also based on vectorized driving scene data training. Different types of data do not require targeted design of data mining logic. Instead, it is only necessary to convert all different types of data into vectorized scene representations and then use the mining scheme of the present application to mine the data required by the user at one time.
[0086] It is not difficult to find that this application is based only on static maps and vectorized data such as the historical and future trajectories of the vehicle and surrounding vehicles, and does not contain any difficult-to-obtain data, so the input requirements are relatively simple. In addition, the mining logic structure of various types of data in this application is lightweight and efficient, and can accurately mine various types of data.
[0087] It is worth noting that after data mining based on driving scene data represented by vectorization, the application can train the corresponding input model with the mined relevant data. In other words, the various scene data mining processes described in this application are actually data preprocessing processes before model learning.
[0088] Specifically, in a specific embodiment of the present application for identifying whether the vehicle is currently at an intersection, see Figure 4 , step S13 may specifically include the following steps:
[0089] S1311: Obtain a stop line at an intersection whose distance from the current position of the vehicle is within a preset second distance range.
[0090] Specifically, it is necessary to search for a road with a stop line at an intersection around the vehicle. In order to improve operation efficiency, the road line can be searched within a second distance range from the vehicle, and the second distance range can be specifically set according to actual needs. For example, the second distance range can be set to 200 meters, that is, to search for a road with a stop line at an intersection within 200 meters from the vehicle.
[0091] It is worth noting that, since it is necessary to select the stop line information of the intersection ahead of the vehicle, the second distance range needs to be set within the positive range of the distance value between the stop line of the intersection and the vehicle.
[0092] S1312: Calculate the second distance value between the stop line at the intersection and the current position of the vehicle, use the stop line at the intersection with the smallest second distance value as the first stop line at the intersection, and use the second distance value between the current position of the vehicle and the first stop line at the intersection as the intersection distance.
[0093] Specifically, it is necessary to determine the first stop line at the intersection that is closest to the current position of the vehicle, and calculate the distance between the first stop line at the intersection and the current position of the vehicle.
[0094] In some embodiments of the present application, each vector in the road characterization vector may be traversed in order from near to far according to the current position of the vehicle to find the first vector whose road type is a stop line at an intersection, that is, to find the first stop line at an intersection closest to the vehicle.
[0095] Specifically, when calculating the intersection distance, the coordinates of the current position of the vehicle can be set as (ego_x, ego_y), the starting coordinates of the intersection stop line are (begin_x, begin_y), the end coordinates of the intersection stop line are (end_x, end_y), and the intersection distance is dis. The calculation formula of the intersection distance is as follows:
[0096]
[0097] S1313: Obtain a preset intersection threshold.
[0098] Specifically, a pre-set intersection threshold is required. When the distance between the first intersection stop line and the vehicle is within the threshold, it is determined that the vehicle is currently in an intersection scene. The intersection threshold can be set according to specific circumstances. According to relevant experimental studies, the intersection threshold is preferably set at 30 to 50 meters, and the best value is set at about 40 meters.
[0099] S1314: Determine whether the intersection distance is less than or equal to the intersection threshold.
[0100] It is determined whether the distance between the vehicle and the stop line of the first intersection is less than or equal to the intersection threshold, that is, it is determined whether the vehicle has reached the vicinity of the stop line of the first intersection. Specifically, when the intersection distance is less than or equal to the intersection threshold, it can be determined that the vehicle has reached the vicinity of the stop line of the first intersection, and when the intersection distance is greater than the intersection threshold, it can be determined that the vehicle has not yet reached the vicinity of the stop line of the first intersection.
[0101] S1315: If yes, identify that the vehicle is at an intersection.
[0102] When it is determined that the distance between the vehicle and the first intersection line is less than or equal to the intersection threshold, that is, when the vehicle has reached the vicinity of the first intersection line, it is recognized that the vehicle is currently in an intersection scene.
[0103] In another embodiment of identifying interactive scenes of the present application, since interactive scenes are defined as scenes where the vehicle and surrounding vehicles interact with each other, such as overtaking, avoiding, etc., it can be found that interactive scenes have a common feature that the future driving trajectory points of the vehicle and surrounding vehicles will be very close in position or even have intersections. Therefore, in the embodiment of interactive scenes, please refer to Figure 5 , step S13 may specifically include:
[0104] S1321: Obtain a preset interaction threshold.
[0105] Specifically, a preset interaction threshold is required. When the interaction threshold is within the range, it can be determined that there is interaction. The interaction threshold can be set according to specific circumstances. Experimental studies have shown that it is better to set the interaction threshold between 0 meters and 1 meter, and the best value is set at 0.5 meters.
[0106] S1322: Calculate multiple third distance values between the driving trajectory of the own vehicle and the driving trajectory of surrounding vehicles, and use the minimum value of the multiple third distance values as the interaction distance.
[0107] In interactive scenarios, the future driving trajectory points of the ego vehicle and surrounding vehicles will be very close in position or even have intersections. Therefore, it is necessary to calculate the distance between the driving trajectory of the ego vehicle and the driving trajectory of surrounding vehicles.
[0108] Specifically, the future driving trajectory of the vehicle and the future driving trajectory of the surrounding vehicles are used for interactive judgment, that is, multiple coordinate points of the future driving trajectory of the vehicle and multiple coordinate points of the future driving trajectory of the surrounding vehicles are selected and the distance between the two sets of coordinate points is calculated, that is, multiple third distances are calculated, and the minimum value of the multiple third distances is used as the interactive distance between the vehicle and the surrounding vehicles. In simple terms, the distance between the two closest points of the future driving trajectory of the vehicle and the future driving trajectory of the surrounding vehicles is selected as the interactive distance.
[0109] For example, select the driving trajectory points of the vehicle 100 meters in the future and the driving trajectory points of the surrounding vehicles 4 seconds in the future, calculate the distance between the coordinate points of the two sets of driving trajectories, and take the smallest distance as the interaction distance.
[0110] S1323: Determine whether the interaction distance is less than or equal to the interaction threshold.
[0111] Determine whether the distance between the two closest driving trajectory points of the future driving trajectory of the own vehicle and the future driving trajectory of the surrounding vehicles falls within the interaction threshold range.
[0112] S1324: If yes, identify that the vehicle interacts with surrounding vehicles.
[0113] If the distance between the two closest driving trajectory points of the future driving trajectory of the self-vehicle and the future driving trajectory of the surrounding vehicles falls within the interaction threshold range, that is, the interaction distance is less than or equal to the interaction threshold, then it can be determined that the future interaction distance between the self-vehicle and the surrounding vehicles is less than the preset threshold. If the distance between the two closest driving trajectory points does not fall within the interaction threshold range, that is, the interaction distance is greater than the interaction threshold, then it can be determined that the future interaction distance between the self-vehicle and the surrounding vehicles is greater than the preset threshold, and at this time, it can be considered that there is no interaction between the self-vehicle and the surrounding vehicles.
[0114] For example, Figure 6As shown, Figure 6 It is a schematic diagram of whether the ego vehicle interacts with surrounding vehicles. The solid line and dotted line in the figure represent the future driving trajectories of the ego vehicle and surrounding vehicles, respectively. The 4 examples in (a) indicate that there is no interaction between the ego vehicle and surrounding vehicles, and the 2 examples in (b) indicate that there is interaction between the ego vehicle and surrounding vehicles.
[0115] In another embodiment of the present application for identifying whether the vehicle is in a turning scene, see Figure 7 , step S13 may specifically include:
[0116] S1331: Obtain the starting vector and the ending vector of the vehicle's driving trajectory, and calculate the first angle between the starting vector and the ending vector.
[0117] The future driving trajectory of the vehicle is obtained and converted to the reference coordinate system. The first angle between the starting vector and the ending vector of the driving trajectory is calculated, and the first angle can be used to determine whether the vehicle is in a turning scene. For example, the driving trajectory of the vehicle 50 meters in the future can be selected and converted to the reference coordinate system to obtain the coordinate points of the driving trajectory of the vehicle 50 meters in the future.
[0118] For example, the first point on the vehicle's trajectory is taken as the starting vector (x s ,y s ), traverse the subsequent points (x i ,y i ), the subsequent point (x i ,y i ) and the starting vector (x s ,y s ) to form a vector and calculate the modulus of the vector until the modulus of the vector is greater than the modulus threshold (vec_thres), and the starting vector (start_vec) can be obtained, that is:
[0119] start_vec=(x i -x s ,y i -y s )
[0120] |start_vec|>vec_thres,i=1,2…
[0121] Similarly, the last point on the vehicle's trajectory is taken as the end point of the termination vector (x e ,y e ), traverse the points (x) in order forward j ,y j ), point (x j ,y j) as the starting point of the vector, calculate the vector modulus until it is greater than the modulus threshold (vec_thres), and get the end vector (end_vec), that is,
[0122] end_vec=(x e -x j ,y e -y j )
[0123] |end_vec|>vec_thres,j=1,2…
[0124] After obtaining the starting vector (start_vec) and the ending vector (end_vec), the first angle (θ) between the starting vector (start_vec) and the ending vector (end_vec) can be calculated. turn ), that is:
[0125]
[0126] It is worth noting that the modulus length threshold can be specifically set according to actual conditions, and this application does not make any specific restrictions here. For example, the modulus length threshold can be set to 4 meters.
[0127] S1332: Obtain a preset U-turn threshold and a turning threshold.
[0128] The preset U-turn threshold and turning threshold are obtained. The U-turn threshold and turning threshold can be set according to the actual situation. For example, the U-turn threshold can be set in the range of 110 degrees to 130 degrees, with 120 degrees being the best. The turning threshold can be set in the range of 15 degrees to 25 degrees, with 20 degrees being the best.
[0129] S1333: Determine whether the first angle is greater than or equal to the U-bend threshold.
[0130] It is determined whether a first angle between a starting vector and an ending vector of the vehicle's driving trajectory is greater than or equal to a preset U-turn threshold.
[0131] S1334: If yes, identify that the vehicle is in a U-turn scenario.
[0132] If the first angle between the starting vector and the ending vector of the vehicle's driving trajectory is greater than or equal to a preset U-turn threshold, it can be considered that the vehicle is in a U-turn scenario at this time.
[0133] S1335: If not, determine whether the first angle is greater than or equal to the turning threshold.
[0134] If the first angle between the starting vector and the ending vector of the ego vehicle's driving trajectory is less than the preset U-turn threshold, it can be considered that the ego vehicle is not in a U-turn scene at this time, but may be in a turning scene, a straight road scene, or a stationary scene, etc. At this time, in order to determine whether the ego vehicle is in a turning scene, it is necessary to determine whether the first angle is greater than or equal to the turning threshold.
[0135] S1336: In response to the first angle being greater than or equal to the turning threshold, identifying that the vehicle is in a turning scene.
[0136] When the first angle between the starting vector and the ending vector of the vehicle's driving trajectory is less than the U-turn threshold and greater than or equal to the turning threshold, the vehicle can be considered to be in a turning scene. If the first angle between the starting vector and the ending vector of the vehicle's driving trajectory is less than the turning threshold, the vehicle can be considered not to be in a turning scene, but may be in a straight scene, a stationary scene, etc.
[0137] In some embodiments of the present application, after identifying that the vehicle is in a turning scene, the method further includes:
[0138] S1337: Determine the magnitude relationship between the vertical coordinate of the termination vector and 0.
[0139] Since the turning scene can be further divided into left turning scene and right turning scene, such as Figure 8 As shown, Figure 8 This is a schematic diagram for judging whether the vehicle is in a left turn or a right turn. Therefore, at this time, the relationship between the ordinate of the termination vector and 0 can be further judged to judge whether the vehicle is in a left turn or a right turn. It is worth noting that since the vehicle has been determined to be in a turning scene, the ordinate of the termination vector will only be a positive or negative value, not 0.
[0140] If the ordinate of the termination vector is greater than 0, execute step S1338; if the ordinate of the termination vector is less than 0, execute step S1339.
[0141] S1338: Recognize that the vehicle is in a left turn scenario.
[0142] When the ordinate of the termination vector is greater than 0, it can be considered that the vehicle is in a left turn scenario.
[0143] S1339: Recognize that the vehicle is in a right turn scenario.
[0144] When the ordinate of the termination vector is greater than 0, it can be considered that the vehicle is in a right turn scenario.
[0145] In another embodiment of the present application for identifying whether the vehicle is in a straight lane change scenario, as shown in FIG. Fig. 9As shown, step S13 may specifically include:
[0146] S1341: Select a second road line according to the third rule, and calculate a second angle between the first road line and the second road line.
[0147] The present application can determine whether the current scene is a straight road by using the road line. Specifically, the third rule can be to select the road line farthest from the vehicle within a certain distance range. For example, if there are 10 road lines from near to far within a range of 100 meters from the vehicle, the first road line is selected as the first road line, and the tenth road line is selected as the second road line.
[0148] In a specific embodiment of the present application, in order to improve efficiency, every 10 road lines can be regarded as a sub-graph according to the distance from the vehicle, and then the 100 sub-graphs can be sorted from near to far according to the distance from the vehicle. That is, at this time, the first road line in the first sub-graph can be used as the first road line, and the tenth road line can be used as the second road line.
[0149] Specifically, when calculating the second angle, it can be assumed that the starting point of the first road line is (x q ,y q ), the end point is (x z ,y z ), from which we can get the vector of the first road line (first_vec), that is:
[0150] first_vec=(x z -x q ,y z -y q )
[0151] The starting point of the second route is (x p ,y p ), the end point is (x d ,y d ), from which we can get the vector of the second road line (second_vec), that is:
[0152] second_vec=(x d -x p ,y d -y p )
[0153] Furthermore, the second angle (θ sec ), that is:
[0154]
[0155] S1342: Obtain a preset straight threshold.
[0156] A preset straight threshold is obtained, wherein the straight threshold can be specifically set according to actual conditions. For example, the straight threshold can be set between 0 degrees and 5 degrees, and the best value is 3 degrees.
[0157] S1343: Determine whether the second angle is less than or equal to the straight threshold.
[0158] It is determined whether the second angle between the first road line and the second road line falls within the straight road threshold range, that is, whether the second angle is less than or equal to the straight road threshold.
[0159] S1344: If yes, recognize that the vehicle is in a straight road scene.
[0160] When the second angle between the first road line and the second road line is less than or equal to the straight road threshold, it can be considered that the vehicle is in a straight road scene at this time, and step S1345 can be continued. When the second angle between the first road line and the second road line is greater than the straight road threshold, it is considered that the vehicle is not in a straight road scene at this time, and step S1345 is no longer executed.
[0161] S1345: Calculate the lateral offset value of the vehicle.
[0162] The most notable feature of lane change on a straight road is that the ego vehicle has a lateral offset relative to the lane line. Based on this feature, a reference point ref_point (ego_x, ego_y, ref_heading) is selected to establish a reference coordinate system, and the future trajectory of the ego vehicle is converted to the reference coordinate system according to the following formula:
[0163] x_vec i =(ego_x-traj_x i )
[0164] y_vec i =(ego_y-traj_y i )
[0165] traj_transformed_x i =x_vec i cos(-ref_heading)-y_vec i sin(-ref_heading)
[0166] traj_transformed_y i =x_vec i sin(-ref_heading)+y_vec i ·cos(-ref_heading)
[0167] i=1,2…n
[0168] Among them, traj_x i and traj_y i They are the horizontal and vertical coordinates of a point in the future driving trajectory of the vehicle, and n is the number of points in the future driving trajectory of the vehicle.
[0169] Then calculate the maximum lateral offset:
[0170] lateral_dis=maxtraj_transformed_yi-mintraj_transformed_yi
[0171] S1346: Obtain a pre-set lane change threshold.
[0172] Specifically, considering the normal lane change process, the vehicle is centered in the starting lane, and the lane change is considered when the entire vehicle enters the adjacent lane. Fig.10 As shown, Fig.10 It is a schematic diagram of the lateral displacement of the ego vehicle when changing lanes. Therefore, the lateral displacement threshold of the lane changing behavior can be determined based on this phenomenon.
[0173] Therefore, the lane change lateral deviation threshold (lateral_dis_thres) is set to:
[0174] lateral_dis_thres=(lane_width+ego_width) / 2
[0175] Among them, lane_width is the lane line width, and ego_width is the ego vehicle width.
[0176] S1347: Determine whether the lateral offset value is greater than or equal to the lane change threshold.
[0177] Determine whether the lateral offset value is greater than or equal to the lane change threshold, that is, determine whether the vehicle has made a lateral lane change.
[0178] S1348: If yes, obtain the end vector of the vehicle's driving trajectory, and determine whether the angle between the end vector and the reference orientation is less than or equal to the straight road threshold.
[0179] If the lateral offset value is greater than or equal to the lane change threshold, that is, if the vehicle has changed lanes laterally, it is necessary to further determine whether the vehicle is driving straight in the lane after the lane change. Whether the vehicle is driving straight in the lane after the lane change can be determined by whether the angle between the end vector of the vehicle's driving trajectory and the reference orientation is within the straight threshold range, and step S1349 needs to be continued.
[0180] If the lateral offset value is less than the lane change threshold, it can be considered that the vehicle has not changed lanes, and step S1349 is no longer continued.
[0181] S1349: In response to the angle between the termination vector and the reference orientation being less than or equal to the straight-line threshold, recognizing that the vehicle is in a straight-line lane change scenario.
[0182] When the angle between the end vector of the ego vehicle's driving trajectory and the reference orientation is less than or equal to the straight-line threshold, it can be considered that the ego vehicle continues to drive straight in the lane line after the lateral lane change. Therefore, it can be identified that the ego vehicle is in a straight-line lane change scenario.
[0183] If the angle between the end vector of the vehicle's driving trajectory and the reference orientation is greater than the straight-line threshold, it can be considered that the vehicle did not continue to drive straight within the lane line after changing lanes, and the vehicle cannot be considered to be in a straight-line lane change scenario.
[0184] Since lane avoidance is also a scenario that often occurs in driving scenarios but is somewhat difficult for self-driving cars, separate mining of such scenarios and supplementation of special data to the training set can significantly improve the ability of the trained network model in such scenarios. Lane avoidance refers to the scenario of bypassing obstacles during driving. One situation in lane avoidance is to change lanes directly to avoid, which can be classified as a lane change scenario, so the lane avoidance described in this application only considers the situation of returning to the own lane after the avoidance is completed.
[0185] The mining of lane-changing data requires the use of several characteristics of this type of data: 1) Similar to the straight lane change scenario, the lateral displacement relative to the lane line changes; 2) If the vehicle does not avoid the obstacle ahead, there is a risk of collision; 3) After the lane-changing is completed, the vehicle returns to the current lane. Therefore, in another embodiment of the present application to identify whether the vehicle is in a lane-changing scenario, please refer to Fig.11 , step S13 may specifically include:
[0186] S1351: Select a second road line according to the third rule, and calculate a second angle between the first road line and the second road line.
[0187] S1352: Obtain a preset straight threshold.
[0188] S1353: Determine whether the second angle is less than or equal to the straight threshold.
[0189] S1354: If yes, recognize that the vehicle is in a straight road scene.
[0190] S1355: Calculate the lateral offset value of the vehicle.
[0191] For the relevant description of step S1351, please refer to step S1341; for the relevant description of step S1352, please refer to step S1342; for the relevant description of step S1353, please refer to step S1343; for the relevant description of step S1354, please refer to step S1344; for the relevant description of step S1355, please refer to step S1345, which will not be repeated in this application.
[0192] S1356: Obtain a preset lane change threshold and line pressing threshold.
[0193] like Fig.12 As shown, Fig.12 This is a schematic diagram of the lateral displacement of the vehicle in the lane-changing scenario. Different from the lane-changing scenario, the lateral displacement of the lane-changing scenario should be between the vehicle about to cross the lane line and the vehicle as a whole entering the next lane. Therefore, the upper and lower bounds of the lateral displacement threshold of the lane-changing scenario are set as the lane-changing threshold (lateral_dis_up_bound) and the line-crossing threshold (lateral_dis_lower_bound), that is:
[0194] lateral_dis_up_bound=(lane_width+ego_width) / 2
[0195] lateral_dis_lower_bound=(lane_width-ego_width) / 2
[0196] Among them, lane_width is the lane line width, and ego_width is the ego vehicle width.
[0197] S1357: Determine whether the lateral offset value is less than or equal to the lane change threshold and greater than the line pressing threshold.
[0198] It is determined whether the lateral offset value is less than or equal to the lane changing threshold and greater than the line pressing threshold, that is, it is determined whether the lateral offset value is between the lane changing threshold and the line pressing threshold.
[0199] S1358: If yes, obtain a preset collision threshold and calculate the distance between the driving trajectory of the own vehicle and the driving trajectory of surrounding vehicles.
[0200] If the lateral offset value is not between the lane change threshold and the line pressing threshold, the lateral offset value does not meet the lateral displacement condition of the lane avoidance scenario. At this time, it can be determined that the vehicle is not in the lane avoidance scenario.
[0201] If the lateral offset value is between the lane change threshold and the line pressure threshold, the lateral offset value meets the lateral displacement condition of the lane avoidance scenario, which is the first condition of the lane avoidance scenario. Then the distance between the driving trajectory of the vehicle and the driving trajectory of the surrounding vehicles can be further calculated, that is, whether there is a collision risk between the vehicle and the surrounding vehicles.
[0202] S1359: Determine whether the distance between the driving trajectory of the own vehicle and the driving trajectory of the surrounding vehicles is less than or equal to the collision threshold.
[0203] In a specific embodiment, the future driving trajectory points of the vehicle in the reference coordinate system are traversed and calculated in sequence to find the first point that is greater than 1 second away from the current moment, and then the driving trajectory point vector of the vehicle in the reference coordinate system in the next 1 second is obtained, and then based on this vector, the driving trajectory of the vehicle in the next 1 second is multiplied by 1.5, 2.0, 2.5, 3.0, 3.5, and 4.0 respectively to obtain the virtual position point every 0.5 seconds in the future, and then the future virtual driving trajectory points of the vehicle and the real driving trajectory points of the 10 obstacles closest to the vehicle in the next 4 seconds are used to calculate the lateral and longitudinal distances respectively. If the lateral and longitudinal distances are less than or equal to the lateral and longitudinal collision thresholds at the same time, it is considered that the vehicle will collide with the surrounding vehicles within 4 seconds if it continues to move in a straight line at a uniform speed along the driving trajectory in the next 1 second.
[0204] It is worth noting that the horizontal axis collision threshold can be set to the sum of half the width of the vehicle and half the width of the surrounding vehicle, and the vertical axis collision threshold can be set to the sum of half the length of the vehicle and half the length of the surrounding vehicle.
[0205] S13510: If yes, obtain the pre-set terminal posture condition and determine whether the vehicle satisfies the terminal posture condition.
[0206] If the distance between the ego vehicle's driving trajectory and the surrounding vehicle's driving trajectory is greater than the collision threshold, it is determined that if the ego vehicle does not avoid the surrounding vehicle, there is no risk of collision with the surrounding vehicle. Therefore, it can be determined that the avoidance condition of using the lane to avoid is not met at this time.
[0207] If the distance between the driving trajectory of the ego vehicle and the driving trajectory of the surrounding vehicles is less than or equal to the collision threshold, it is judged that if the ego vehicle does not avoid the surrounding vehicles at this time, there will be a risk of collision with the surrounding vehicles. Therefore, it can be judged that the avoidance conditions for lane avoidance are met at this time, which is the second condition of the lane avoidance scenario. Therefore, on this basis, it will further determine whether the ego vehicle meets the pre-set terminal posture conditions.
[0208] Since the third condition of lane avoidance is to return to the current lane after lane avoidance is completed, the terminal posture condition is to determine whether the vehicle meets the condition of returning to the current lane after avoiding. Specifically, the terminal posture condition can be to determine the lateral displacement and heading angle change of the vehicle's terminal vector in the reference coordinate system. If the lateral displacement is within the preset lateral displacement threshold range and the heading angle change is within the preset heading angle threshold range, it can be determined that the vehicle meets the terminal posture condition.
[0209] For example, the lateral displacement threshold may be set to be in the range of 0 to 1 meter, and the optimal value may be 0.8 meter, while the heading angle threshold may be set to be in the range of 0 to 5 degrees, and the optimal value may be 3 degrees.
[0210] S13511: In response to the ego vehicle satisfying the terminal posture condition, identifying that the ego vehicle is in a lane-avoidance scenario.
[0211] If the ego vehicle meets the terminal posture condition, that is, the lateral displacement and the heading angle change of the ego vehicle's terminal vector are both within the set threshold range, then it is considered that the third condition of the lane-taking avoidance scenario is met. Therefore, if all three conditions of the lane-taking avoidance scenario are met at the same time, it can be identified that the ego vehicle is in the lane-taking avoidance scenario.
[0212] If the ego vehicle does not meet the terminal posture condition, it cannot be determined that the ego vehicle has returned to the current lane after completing the lane avoidance maneuver, and it does not meet the third condition of the lane avoidance scene. At this time, the ego vehicle cannot be considered to be in the lane avoidance scene.
[0213] In another embodiment of the present application for identifying whether the vehicle is in a stable following vehicle scenario, please refer to Fig.13 , step S13 may specifically include:
[0214] S1361: Obtain the preset minimum headway, following vehicle distance and headway threshold.
[0215] The steady-state following scenario is defined as following the vehicle in front stably while maintaining a certain distance from the vehicle in front. However, since vehicles should maintain different distances at different speeds, the same set of distance parameters cannot accurately measure whether the following is stable, so time distance is used to measure it. Time distance is usually used to describe the time interval between a vehicle and the vehicle in front when driving on the road, so the time distance is defined as the distance between the two vehicles divided by the speed of the following vehicle, that is: time distance = distance / speed. Based on this, in this application, time distance can be defined as the distance between the vehicle and the surrounding vehicles divided by the speed of the vehicle.
[0216] The minimum time interval can be set according to actual needs, for example, the minimum time interval can be set to 100 seconds.
[0217] The following distance, that is, the distance between the vehicle and the surrounding vehicles in front of the vehicle, can be set according to actual needs. For example, the following distance can be set to 1.2 meters.
[0218] The time interval threshold can be specifically set according to actual needs, for example, the time interval threshold can be set to 80 seconds.
[0219] S1362: Determine whether the distance between the vehicle and the surrounding vehicle in front of the vehicle is less than or equal to the following distance.
[0220] Whether the surrounding vehicles are located in front of the vehicle can be determined by whether the horizontal coordinates of the surrounding vehicles are positive. If the horizontal coordinates of the surrounding vehicles are positive, it means that the surrounding vehicles are in front of the vehicle and may be the following vehicle of the vehicle. Otherwise, it means that the surrounding vehicles are not in front of the vehicle and cannot be the following vehicle of the vehicle.
[0221] After determining that the surrounding vehicle is indeed located in front of the vehicle, it is necessary to further determine whether the surrounding vehicle located in front of the vehicle is in the same lane as the vehicle. Whether they are in the same lane can be achieved by determining whether the distance between the vehicle and the surrounding vehicle located in front of the vehicle is less than a preset following distance.
[0222] In a specific embodiment of the present application, the nearest point from a point on the future driving trajectory of the vehicle to the current position of the surrounding vehicles is calculated, the distance between the two points is found and it is determined whether the distance is less than a preset following distance. If the distance is less than the preset following distance, it is considered that the leading vehicle is in the vehicle lane.
[0223] S1363: If yes, calculate the time distance between the vehicle and surrounding vehicles.
[0224] If the distance between the ego vehicle and the surrounding vehicle in front of the ego vehicle is greater than the following distance, it is inferred that the surrounding vehicle in front of the ego vehicle is not in the same lane as the ego vehicle. At this time, it is considered that the ego vehicle and the surrounding vehicle are not in a following scenario.
[0225] If the distance between the vehicle and the surrounding vehicle in front of the vehicle is less than or equal to the following distance, it is inferred that the surrounding vehicle in front of the vehicle is in the same lane as the vehicle. Based on this, the time distance between the vehicle and the surrounding vehicle needs to be further calculated.
[0226] S1364: Determine whether the time interval is less than the minimum time interval.
[0227] If the time distance between the own vehicle and the surrounding vehicle that the own vehicle is following is greater than or equal to a preset minimum time distance, it is determined that the time distance between the own vehicle and the surrounding vehicle is not within the preset following time distance range.
[0228] If the time distance between the own vehicle and the surrounding vehicle that the own vehicle is following is less than a preset minimum time distance, it is determined that the time distance between the own vehicle and the surrounding vehicle is within a preset range.
[0229] S1365: If yes, set the time interval update to the minimum time interval.
[0230] When the time distance between the vehicle and the surrounding vehicle that the vehicle is following is less than the preset minimum time distance, the time distance is updated to the minimum time distance. That is, at this time, the surrounding vehicle in front of the vehicle is considered to be the vehicle that is located in the lane where the vehicle is located and is closest to the vehicle.
[0231] S1366: Determine whether the minimum time interval is less than or equal to the time interval threshold.
[0232] The minimum headway at this time is the headway between the ego vehicle and the vehicle in front of it that is currently in the lane where the ego vehicle is located and is closest to the ego vehicle. By judging whether the headway is greater than the headway threshold, it can be identified whether the ego vehicle is in a stable following scenario at this time.
[0233] S1367: If yes, recognize that the vehicle is in a stable following scenario.
[0234] If the time distance between the ego vehicle and the surrounding vehicle in front that is currently in the lane where the ego vehicle is located and is closest to the ego vehicle is less than or equal to the time distance threshold, that is, it falls within the following vehicle time distance threshold range, then it is recognized that the ego vehicle is in a stable following scenario at this time.
[0235] If the time distance between the ego vehicle and the surrounding vehicle in front that is currently in the lane where the ego vehicle is located and is closest to the ego vehicle is greater than the time distance threshold, it is recognized that the ego vehicle is not in a stable following scenario at this time.
[0236] In another embodiment of the present application for identifying whether the vehicle is in a stationary or dynamic scene, see Fig.14 , step S13 may specifically include:
[0237] S1371: Obtain the length of the vehicle's driving trajectory within a third preset time and a preset stationary threshold.
[0238] The third preset time can be specifically set according to actual conditions. For example, the third preset time can be 4 seconds. That is, the length of the driving track of the vehicle in the next 4 seconds is obtained. The third preset time can also be 2 seconds. That is, the length of the driving track of the vehicle in the next 2 seconds is obtained. This application does not make specific limitations here.
[0239] The static threshold can be specifically set according to actual conditions. For example, the static threshold can be set between 0 meters and 0.5 meters.
[0240] S1372: Determine whether the driving track length is less than or equal to the stationary threshold.
[0241] In one embodiment of the present application, the length of the driving trajectory can be divided into two, thereby forming two vectors. The motion state of the vehicle can be determined by determining whether the moduli of the two vectors fall within a stationary threshold range.
[0242] For example, the driving trajectory of the ego vehicle in the next 4 seconds can be divided into two, that is, the first point and the middle point are taken to form the first vector, and the middle point and the last point are taken to form the second vector. That is, the driving trajectory of the ego vehicle 2 seconds before forming the first vector, and the driving trajectory of the ego vehicle 2 seconds after forming the second vector. The moduli of the two vectors are calculated respectively, and then by comparing whether the moduli of the two vectors are less than or equal to the stationary threshold, it is judged whether the ego vehicle is in a stationary scene.
[0243] S1373: If yes, recognize that the vehicle is in a stationary scene.
[0244] When it is determined that the length of the vehicle's driving track within the third preset time is less than or equal to the static threshold, it can be identified that the vehicle is currently in a static scene. When it is determined that the length of the vehicle's driving track within the third preset time is greater than the static threshold, it can be identified that the vehicle is currently not in a static scene.
[0245] In a specific embodiment of the present application, the driving trajectory of the vehicle in the next 4 seconds is divided into two, the driving trajectory of the vehicle in the first 2 seconds constitutes a first vector, and the driving trajectory of the vehicle in the last 2 seconds constitutes a second vector. If the modulus of the first vector is less than or equal to the stillness threshold, it is considered that the vehicle is in a still scene in the first 2 seconds. If the modulus of the second vector is greater than the stillness threshold, it is considered that the vehicle is not in a still scene in the last 2 seconds.
[0246] S1374: If not, obtain a preset motion threshold and determine whether the driving track length is greater than or equal to the motion threshold.
[0247] When it is determined that the length of the vehicle's driving trajectory within the third preset time is greater than the static threshold, it can be identified that the vehicle is not in a static scene at this time. At this time, it is necessary to further determine whether the vehicle is in a moving scene, that is, to determine whether the length of the vehicle's driving trajectory within the third preset time is greater than or equal to the moving threshold. The moving threshold can be specifically set according to actual conditions, for example, the moving threshold can be set between 2 meters and 5 meters.
[0248] S1375: In response to whether the length of the driving trajectory is greater than or equal to a preset motion threshold, identifying that the vehicle is in a motion scene.
[0249] If the length of the driving track is less than the preset motion threshold, it is considered that the vehicle is not in a motion scene at this time. If the length of the driving track is greater than or equal to the preset motion threshold, it is recognized that the vehicle is in a motion scene.
[0250] In a specific embodiment of the present application, the driving trajectory of the vehicle in the next 4 seconds is divided into two, the driving trajectory of the vehicle in the first 2 seconds constitutes the first vector, and the driving trajectory of the vehicle in the last 2 seconds constitutes the second vector. The modulus of the first vector is less than or equal to the static threshold, so it is considered that the vehicle is in a static scene in the first 2 seconds. The modulus of the second vector is greater than the static threshold, so it is considered that the vehicle is not in a static scene in the last 2 seconds. At this time, it is further determined whether the modulus of the second vector is greater than or equal to the motion threshold, that is, whether the vehicle is in a motion scene in the last 2 seconds. When the modulus of the second vector is greater than or equal to the motion threshold, it is determined that the vehicle is in a motion scene in the last 2 seconds. Therefore, it can be inferred that the vehicle is in a scene from static to rotating.
[0251] In another specific embodiment of the present application, the driving trajectory of the vehicle in the next 4 seconds is divided into two, the driving trajectory of the vehicle in the first 2 seconds constitutes the first vector, and the driving trajectory of the vehicle in the last 2 seconds constitutes the second vector. If the modulus of the first vector is greater than the static threshold, it is considered that the vehicle is not in a static scene in the first 2 seconds. If the modulus of the second vector is less than or equal to the static threshold, it is considered that the vehicle is in a static scene in the last 2 seconds. At this time, it is further judged whether the modulus of the first vector is greater than or equal to the motion threshold, that is, it is judged whether the vehicle is in a motion scene in the first 2 seconds. When the modulus of the first vector is greater than or equal to the motion threshold, it is judged that the vehicle is in a motion scene in the first 2 seconds. Therefore, it can be inferred that the vehicle is in a scene that changes from dynamic to static.
[0252] In another specific embodiment of the present application, the driving trajectory of the vehicle in the next 4 seconds is divided into two, the driving trajectory of the vehicle 2 seconds before constitutes a first vector, and the driving trajectory of the vehicle 2 seconds after constitutes a second vector. The modulus length of the first vector and the modulus length of the second vector are both less than or equal to the stillness threshold, then it can be inferred that the vehicle is in a continuous still scene.
[0253] In another specific embodiment of the present application, the driving trajectory of the vehicle in the next 4 seconds is divided into two, the driving trajectory of the vehicle 2 seconds before constitutes a first vector, and the driving trajectory of the vehicle 2 seconds after constitutes a second vector. The modulus length of the first vector and the modulus length of the second vector are both greater than or equal to the motion threshold, then it can be inferred that the vehicle is in a continuous motion scene.
[0254] In another embodiment of the present application for identifying a scenario where the vehicle is in continuous acceleration or continuous deceleration, see Fig.15 , step S13 may specifically include:
[0255] S1381: Obtaining values of a plurality of speed points of the vehicle within a fourth preset time.
[0256] The fourth preset time can be set specifically according to actual needs. The speed point can be taken at a certain interval, and the interval time can also be set specifically according to actual needs. For example, in one embodiment of the present application, the fourth preset time is 4 seconds, that is, the speed of the vehicle in the next 4 seconds is obtained, and a speed point is taken every 0.2 seconds, and a total of 20 speed point values are obtained.
[0257] S1382: Accumulate and calculate the number of acceleration points, the number of deceleration points, the number of continuous acceleration points, and the number of continuous deceleration points according to the values of the plurality of speed points.
[0258] Based on the values of multiple speed points of the vehicle, the number of acceleration points, the number of deceleration points, the number of continuous acceleration points and the number of continuous deceleration points can be cumulatively calculated through the changes in the values of the speed points.
[0259] In one embodiment of the present application, see Fig.16 Step S1382 specifically includes the following steps:
[0260] S13821: Initialize the number of acceleration points, the number of deceleration points, the number of continuous acceleration points, and the number of continuous deceleration points to 0.
[0261] Before starting to accumulate the number of acceleration points, the number of deceleration points, the number of continuous acceleration points, and the number of continuous deceleration points, these values need to be cleared to avoid the original values from affecting this calculation.
[0262] S13822: Starting from the second speed point, determine the numerical relationship between the current speed point of the vehicle and the previous speed point.
[0263] In a specific embodiment of the present application, the speed of the vehicle in the next 4 seconds is obtained, and a speed point is taken every 0.2 seconds, and the values of 20 speed points are obtained in total. Starting from the second speed point, the value relationship between the current speed point and the previous speed point is determined, so as to determine whether the current speed point of the vehicle is accelerating, decelerating, or the speed remains unchanged.
[0264] S13823: If the value of the current speed point is greater than the value of the previous speed point, the number of acceleration points and the number of continuous acceleration points are both increased by 1, and the number of continuous deceleration points is reset to 0.
[0265] If the value of the current speed point is greater than the value of the previous speed point, it means that the vehicle is accelerating. Therefore, the number of acceleration points and the number of continuous acceleration points need to be increased by 1. At the same time, the acceleration of the vehicle also means that the vehicle cannot be in a continuous deceleration scenario at this time, so the number of continuous deceleration points needs to be reset to 0.
[0266] S13824: If the value of the current speed point is less than the value of the previous speed point, the number of deceleration points and the number of continuous deceleration points are both increased by 1, and the number of continuous acceleration points is reset to 0.
[0267] If the value of the current speed point is less than the value of the previous speed point, it means that the vehicle has decelerated at this time. Therefore, the number of deceleration points and the number of continuous deceleration points need to be increased by 1. At the same time, the deceleration of the vehicle also means that the vehicle cannot be in a continuous acceleration scenario at this time. Therefore, the number of continuous acceleration points needs to be reset to 0.
[0268] S1383: Determine whether the vehicle meets the continuous acceleration condition. The continuous acceleration condition is that the proportion of the number of acceleration points is greater than or equal to the preset acceleration point threshold, and the proportion of the number of continuous acceleration points is greater than or equal to the preset continuous acceleration point threshold.
[0269] By comparing the values of multiple speed points and accumulating the number of acceleration points, the number of deceleration points, the number of continuous acceleration points, and the number of continuous deceleration points, it is possible to determine whether the vehicle meets the continuous acceleration condition as a whole. In this application, the continuous acceleration condition is that the proportion of the number of acceleration points is greater than or equal to the preset acceleration point threshold, and the proportion of the number of continuous acceleration points is greater than or equal to the preset continuous acceleration point threshold. The acceleration point threshold and the continuous acceleration point threshold can be specifically set according to actual needs.
[0270] In one embodiment of the present application, the acceleration point threshold may be between 0.6 and 0.8, for example, the acceleration point threshold may be 0.7. The continuous acceleration point threshold may be between 0.8 and 1, for example, the acceleration point threshold may be 0.9.
[0271] S1384: If yes, recognize that the vehicle is in a continuous acceleration scenario.
[0272] If the proportion of the number of acceleration points is greater than or equal to the preset acceleration point threshold, and the proportion of the number of continuous acceleration points is greater than or equal to the preset continuous acceleration point threshold, then the vehicle is identified as being in a continuous acceleration scenario. Otherwise, it is considered that the vehicle is not in a continuous acceleration scenario.
[0273] For example, the speed of the vehicle in the next 4 seconds is obtained, and a speed point is taken every 0.2 seconds, and the values of 20 speed points are obtained. Starting from the second speed point, the current speed point is compared with the previous speed point by comparing the numerical value, and the comparison is accumulated 19 times. If the cumulative calculation at this time is 14 acceleration points and 18 continuous acceleration points, the proportion of the number of acceleration points at this time is about 0.74, which is greater than the preset acceleration point threshold of 0.7, and the proportion of the number of continuous acceleration points at this time is about 0.95, which is greater than the preset continuous acceleration point threshold of 0.95. Therefore, it can be recognized that the vehicle is in a continuous acceleration scene at this time.
[0274] S1385: If not, determine whether the vehicle meets the continuous deceleration condition. The continuous deceleration condition is that the proportion of the number of deceleration points is greater than or equal to the preset deceleration point threshold, and the proportion of the number of continuous deceleration points is greater than or equal to the preset continuous deceleration point threshold.
[0275] By comparing the values of multiple speed points and accumulating the number of acceleration points, the number of deceleration points, the number of continuous acceleration points, and the number of continuous deceleration points, it is possible to determine whether the vehicle meets the continuous deceleration condition as a whole. In this application, the continuous deceleration condition is that the proportion of the number of deceleration points is greater than or equal to the preset deceleration point threshold, and the proportion of the number of continuous deceleration points is greater than or equal to the preset continuous deceleration point threshold. The deceleration point threshold and the continuous deceleration point threshold can be specifically set according to actual needs.
[0276] In one embodiment of the present application, the deceleration point threshold may be between 0.6 and 0.8, for example, the deceleration point threshold may be 0.7. The continuous deceleration point threshold may be between 0.8 and 1, for example, the deceleration point threshold may be 0.9.
[0277] S1386: In response to the vehicle satisfying a continuous deceleration condition, identifying that the vehicle is in a continuous deceleration scenario.
[0278] According to the continuous deceleration condition, if the proportion of the number of deceleration points is greater than or equal to the preset deceleration point threshold, and the proportion of the number of continuous deceleration points is greater than or equal to the preset continuous deceleration point threshold, then the vehicle is identified as being in a continuous deceleration scenario, otherwise it is identified that the vehicle is not in a continuous deceleration scenario.
[0279] For example, the speed of the vehicle in the next 4 seconds is obtained, and a speed point is taken every 0.2 seconds, and the values of 20 speed points are obtained. Starting from the second speed point, the current speed point is compared with the previous speed point by comparing the numerical value, and the comparison is accumulated 19 times. If the cumulative calculation at this time is 14 deceleration points and 18 continuous deceleration points, the proportion of the number of deceleration points at this time is about 0.74, which is greater than the preset deceleration point threshold of 0.7, and the proportion of the number of continuous deceleration points at this time is about 0.95, which is greater than the preset continuous deceleration point threshold of 0.95. Therefore, it can be identified that the vehicle is in a continuous deceleration scene at this time.
[0280] See also Fig.17 , Fig.17 It is a structural schematic diagram of an embodiment of a control device 100 provided in the present application.
[0281] The present application also provides a control device 100, comprising at least one processor 101 and at least one storage device 102, wherein the storage device 102 is suitable for storing a plurality of program codes, and the program codes are suitable for being loaded and run by the processor 101 to execute the driving data processing method as described above.
[0282] See also Fig.18 , Fig.18 It is a structural diagram of an embodiment of a readable storage medium 200 provided in the present application.
[0283] Please refer to the present application which also provides a readable storage medium 200 in which a plurality of program codes 201 are stored. The program codes 201 are suitable for being loaded and run by a processor to execute the driving data processing method as described above.
[0284] See also Fig.19 , Fig.19 It is a schematic structural diagram of an embodiment of a vehicle 300 provided in the present application.
[0285] The present application also provides a vehicle 300 , which includes the control device 100 as described above.
[0286] In some embodiments, the functions or modules included in the apparatus and device provided in the embodiments of the present disclosure can be used to execute the method described in the above method embodiments. The specific implementation thereof can refer to the description of the above method embodiments, and for the sake of brevity, it will not be repeated here.
[0287] The above description of various embodiments tends to emphasize the differences between the various embodiments. The same or similar aspects can be referenced to each other, and for the sake of brevity, they will not be repeated herein.
[0288] In the several embodiments provided in the present application, it should be understood that the disclosed methods and devices can be implemented in other ways. For example, the device implementation described above is only schematic. For example, the division of modules or units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, and the indirect coupling or communication connection of devices or units can be electrical, mechanical or other forms.
[0289] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
[0290] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0291] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, server, or network device, etc.) or a processor (processor) to perform all or part of the steps of each implementation method of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk and other media that can store program code.
Claims
1. A driving data processing method, characterized in that: The method comprises: Structuring the information acquired by the vehicle to acquire a plurality of structured data, wherein the structured data includes road data, surrounding vehicle data, and vehicle data, wherein the road data is a road line in the surrounding environment of the vehicle determined by the vehicle according to a preset first rule, the surrounding vehicle data is surrounding vehicles in the surrounding environment of the vehicle determined by the vehicle according to a preset second rule, and the vehicle data includes a driving trajectory of the vehicle and vehicle information of the vehicle; Performing vectorization processing on the structured data to obtain vectorized features; Different judgment conditions are preset for various driving scenarios according to the vectorized features to identify and classify the various driving scenarios.
2. The driving data processing method according to claim 1, characterized in that: The information obtained by the vehicle is structured to obtain a plurality of structured data, including: Acquire a first distance value between the current position of the vehicle and the road line, and use the road line with the smallest first distance value as the first road line; Determining whether the road type of the first road line is a stop line at an intersection; If not, calculating the arctangent value of the first road line to obtain the direction of the first road line; Establishing a reference coordinate system with the current position of the vehicle as the coordinate origin and the orientation of the first road line as the reference orientation; The information acquired by the vehicle is structured to obtain structured data in the reference coordinate system.
3. The driving data processing method according to claim 2, characterized in that: The step of structurally processing the information acquired by the vehicle to obtain structured data in the reference coordinate system includes: The driving trajectory of the vehicle within a first preset time or a first preset distance is obtained, and the driving trajectory of the vehicle is converted into the reference coordinate system to serve as structured data of the vehicle.
4. The driving data processing method according to claim 3, characterized in that: The step of structurally processing the information acquired by the vehicle to obtain structured data in the reference coordinate system includes: Acquire the driving trajectory of the surrounding vehicle within a second preset time or a second preset distance, and convert the driving trajectory of the surrounding vehicle into the reference coordinate system to serve as the structured data of the surrounding vehicle.
5. The driving data processing method according to claim 3, characterized in that: Presetting different judgment conditions for a plurality of driving scenarios according to the vectorized features to identify and classify the plurality of driving scenarios includes: Acquire the stop line at the intersection whose distance from the current position of the vehicle is within a preset second distance range; Calculating a second distance value between the stop line at the intersection and the current position of the vehicle, taking the stop line at the intersection with the smallest second distance value as the first stop line at the intersection, and taking the second distance value between the current position of the vehicle and the first stop line at the intersection as the intersection distance; Obtaining a preset intersection threshold; Determining whether the intersection distance is less than or equal to the intersection threshold; If so, it is recognized that the vehicle is in an intersection scene.
6. The driving data processing method according to claim 4, characterized in that: Presetting different judgment conditions for a plurality of driving scenarios according to the vectorized features to identify and classify the plurality of driving scenarios includes: Obtaining a pre-set interaction threshold; Calculating a plurality of third distance values between the driving trajectory of the own vehicle and the driving trajectory of surrounding vehicles, and taking the minimum value of the plurality of third distance values as the interaction distance; Determining whether the interaction distance is less than or equal to the interaction threshold; If so, it is identified that the vehicle interacts with the surrounding vehicles.
7. The driving data processing method according to claim 3, characterized in that: Presetting different judgment conditions for a plurality of driving scenarios according to the vectorized features to identify and classify the plurality of driving scenarios includes: Obtaining a starting vector and an ending vector of the vehicle's driving trajectory, and calculating a first angle between the starting vector and the ending vector; Get the preset U-turn threshold and turning threshold; Determining whether the first angle is greater than or equal to the U-bend threshold; If yes, identifying that the vehicle is in a U-turn scene; If not, determining whether the first angle is greater than or equal to the turning threshold; In response to the first angle being greater than or equal to the turning threshold, it is identified that the vehicle is in a turning scene.
8. The driving data processing method according to claim 7, characterized in that: After identifying that the vehicle is in a turning scene, the method further includes: Determine the magnitude relationship between the ordinate of the termination vector and 0; If the ordinate of the termination vector is greater than 0, it is recognized that the vehicle is in a left turn scenario; If the ordinate of the termination vector is less than 0, it is recognized that the vehicle is in a right turn scenario.
9. The driving data processing method according to claim 4, characterized in that: Presetting different judgment conditions for a plurality of driving scenarios according to the vectorized features to identify and classify the plurality of driving scenarios includes: Selecting a second road line according to a third rule, and calculating a second angle between the first road line and the second road line; Get the preset straight threshold; Determining whether the second angle is less than or equal to the straight threshold; If so, it is recognized that the vehicle is in a straight road scene.
10. The driving data processing method according to claim 9, characterized in that: After the identification that the vehicle is in a straight road scene, the method includes: Calculating a lateral offset value of the vehicle; Obtaining a preset lane change threshold; determining whether the lateral offset value is greater than or equal to the lane change threshold; If yes, then obtaining the end vector of the vehicle's driving trajectory, and determining whether a third angle between the end vector and the reference orientation is less than or equal to the straight road threshold; In response to a third angle between the termination vector and the reference orientation being less than or equal to the straight-line threshold, it is identified that the vehicle is in a straight-line lane change scenario.
11. The driving data processing method according to claim 9, characterized in that: After the identification that the vehicle is in a straight road scene, the method includes: Calculating a lateral offset value of the vehicle; Obtaining the preset lane change threshold and line pressing threshold; Determining whether the lateral offset value is less than or equal to the lane change threshold and greater than the line pressing threshold; If yes, a preset collision threshold is obtained, and the distance between the driving trajectory of the self-vehicle and the driving trajectory of the surrounding vehicles is calculated; Determining whether the distance between the driving trajectory of the own vehicle and the driving trajectory of the surrounding vehicles is less than or equal to the collision threshold; If yes, then obtain the preset terminal posture condition, and determine whether the vehicle satisfies the terminal posture condition; In response to the ego vehicle satisfying the terminal posture condition, it is identified that the ego vehicle is in a lane avoidance scenario.
12. The driving data processing method according to claim 4, characterized in that: Presetting different judgment conditions for a plurality of driving scenarios according to the vectorized features to identify and classify the plurality of driving scenarios includes: Obtain the preset minimum headway, following distance and headway threshold; Determining whether the distance between the vehicle and the surrounding vehicle located in front of the vehicle is less than or equal to the following distance; If yes, then calculate the time distance between the vehicle and the surrounding vehicles; Determining whether the time interval is less than the minimum time interval; If so, updating the time interval to be the minimum time interval; Determining whether the minimum time interval is less than or equal to the time interval threshold; If so, it is recognized that the vehicle is in a stable following scene.
13. The driving data processing method according to claim 3, characterized in that: Presetting different judgment conditions for a plurality of driving scenarios according to the vectorized features to identify and classify the plurality of driving scenarios includes: Obtaining a driving track length of the vehicle within a third preset time and a preset stationary threshold; Determining whether the driving trajectory length is less than or equal to the stationary threshold; If so, identifying that the vehicle is in a stationary scene; If not, obtaining a preset motion threshold, and determining whether the driving track length is greater than or equal to the motion threshold; In response to whether the driving trajectory length is greater than or equal to the motion threshold, it is identified that the vehicle is in a motion scene.
14. The driving data processing method according to claim 1, characterized in that: Presetting different judgment conditions for a plurality of driving scenarios according to the vectorized features to identify and classify the plurality of driving scenarios includes: Obtaining values of a plurality of speed points of the vehicle within a fourth preset time; Accumulate and calculate the number of acceleration points, the number of deceleration points, the number of continuous acceleration points, and the number of continuous deceleration points according to the values of the plurality of speed points; Determining whether the vehicle satisfies a continuous acceleration condition, wherein the continuous acceleration condition is that a proportion of the number of acceleration points is greater than or equal to a preset acceleration point threshold, and a proportion of the number of continuous acceleration points is greater than or equal to a preset continuous acceleration point threshold; If yes, identifying that the vehicle is in a continuous acceleration scenario; If not, it is determined whether the vehicle meets the continuous deceleration condition, wherein the continuous deceleration condition is that the proportion of the number of deceleration points is greater than or equal to the preset deceleration point threshold, and the proportion of the number of continuous deceleration points is greater than or equal to the preset continuous deceleration point threshold; In response to the ego vehicle satisfying the continuous deceleration condition, it is identified that the ego vehicle is in a continuous deceleration scenario.
15. The driving data processing method according to claim 14, characterized in that: The cumulative calculation of the number of acceleration points, the number of deceleration points, the number of continuous acceleration points, and the number of continuous deceleration points according to the multiple speed values includes: Initialize the number of acceleration points, the number of deceleration points, the number of continuous acceleration points, and the number of continuous deceleration points to 0; Starting from the second speed point, determining the numerical value relationship between the current speed point of the vehicle and the previous speed point; If the value of the current speed point is greater than the value of the previous speed point, the number of acceleration points and the number of continuous acceleration points are both increased by 1, and the number of continuous deceleration points is reset to 0; If the value of the current speed point is less than the value of the previous speed point, the number of deceleration points and the number of continuous deceleration points are both increased by 1, and the number of continuous acceleration points is reset to 0.
16. A control device, comprising at least one processor and at least one storage device, wherein the storage device is suitable for storing a plurality of program codes, characterized in that: The program code is suitable for being loaded and run by the processor to execute the driving data processing method according to any one of claims 1 to 15.
17. A readable storage medium storing a plurality of program codes, characterized in that: The program code is suitable for being loaded and run by a processor to execute the driving data processing method according to any one of claims 1 to 15.
18. A vehicle, characterized in that: The vehicle comprises a control device as claimed in claim 16.
Citation Information
Cited By
U-shaped turning scene recognition method and related equipment thereof
CN120496018A
U-turn scenario recognition method and related device
CN120496018B
Vehicle steering scene recognition method and related equipment thereof
CN120496033A
Vehicle steering scenario recognition method and related device
CN120496033B