Obstacle predicted trajectory processing method and electronic device
By comparing multiple frames with hysteresis to determine the stable motion intent of obstacles, and filtering and optimizing the predicted trajectory set, the problem of insufficient rationality of obstacle prediction trajectories in autonomous driving systems is solved, and the obstacle avoidance capability of vehicles is improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- NULLMAX INC
- Filing Date
- 2026-04-21
- Publication Date
- 2026-08-04
AI Technical Summary
In existing autonomous driving systems, obstacle prediction trajectories based on deep learning technology have insufficient rationality in engineering applications, resulting in vehicles being unable to effectively avoid obstacles.
By comparing multiple frames with hysteresis, the stable motion intention of obstacles can be determined, and the predicted trajectory set can be screened and optimized to improve the rationality of the predicted trajectory.
This improves the stability and accuracy of obstacle prediction trajectories, enabling the autonomous driving module to effectively avoid obstacles and ensure the safety of the vehicle's driving route.
Smart Images

Figure CN122062724B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of autonomous driving technology, and in particular to a method for processing obstacle prediction trajectories and an electronic device. Background Technology
[0002] In recent years, with the rapid advancement of artificial intelligence technology, its applications have gradually permeated all walks of life, bringing various conveniences to our lives. In particular, the rapid development in the field of autonomous driving has triggered tremendous changes in people's travel patterns, lifestyles, and urban planning.
[0003] In autonomous driving systems, to cope with various complex scenarios, it is necessary to infer the future trajectories of traffic participants around the vehicle to provide a reference for subsequent vehicle driving. These traffic participants are considered obstacles. Specifically, motion information of obstacles is acquired based on various sensors, and deep learning technology is applied to obtain a data-driven prediction model. Then, combined with the historical motion trajectories of the obstacles, the prediction model is used to obtain the final predicted trajectory of the obstacle. However, the predicted trajectory obtained based on the above method faces the problem of inaccurate predictions in engineering applications, leading to the vehicle's inability to effectively avoid obstacles. Summary of the Invention
[0004] In view of this, this application provides a method and electronic device for processing obstacle prediction trajectories to improve the rationality of the predicted trajectories.
[0005] Firstly, this application provides a method for processing obstacle prediction trajectories, which, exemplarily, can be applied to an autonomous driving module of a vehicle. The method includes the following processing:
[0006] The vehicle determines the first location information, first motion information, and first predicted trajectory set of the first obstacle. The first predicted trajectory set includes P predicted trajectories of the first obstacle. The first motion information includes motion information of Z consecutive frames, where P is a positive integer and Z is a positive integer greater than 1.
[0007] Based on the aforementioned first positioning information, the first location information of the first obstacle is determined, and the first location information includes the location information of consecutive Z frames.
[0008] For a consecutive Z frames, a second motion intention is determined based on the motion information of the i-th frame, a third motion intention is determined based on the position information of the i-th frame, and a fourth motion intention corresponding to the first obstacle in the i-th frame is determined based on the second and third motion intentions, where the i-th frame is any frame in the Z frames.
[0009] Based on the set first detection threshold m, it is determined that the m fourth motion intentions corresponding to m consecutive frames are the same, and any one of the m fourth motion intentions is taken as the fifth motion intention of the first obstacle, where m is a positive integer greater than 1.
[0010] After the above m frames, based on the set second detection threshold n, it is determined that the n fourth motion intentions corresponding to the consecutive n frames are the same as the fifth motion intentions. The fifth motion intention is taken as the first motion intention of the first obstacle. n is a positive integer greater than 1, and the sum of m and n is less than Z.
[0011] A first processing is performed on at least one predicted trajectory in the first predicted trajectory set to obtain a second predicted trajectory set for the first obstacle. The second predicted trajectory set includes at least one predicted trajectory that has undergone the first processing from among P predicted trajectories. The first processing includes filtering at least one predicted trajectory based on the first motion intention.
[0012] In a second aspect, this application provides an electronic device including a memory and a processor, the memory being coupled to the processor, the memory being used to store computer program code, the computer program code including computer instructions, and one or more processors calling the computer instructions to cause the electronic device to perform the steps of the method as described in the first aspect.
[0013] Thirdly, this application provides a readable storage medium storing instructions that, when executed on an electronic device, cause the electronic device to perform the steps of the method described in the first aspect.
[0014] Fourthly, this application provides a program product including instructions that, when executed on an electronic device, cause the electronic device to perform the steps of the method as described in the first aspect.
[0015] Fifthly, this application provides a chip including a processor coupled to a memory, the processor being configured to execute a computer program or instructions stored in the memory, such that the chip implements the steps of the method described in the first aspect.
[0016] In this embodiment, the vehicle's first positioning information, first motion information, and first predicted trajectory set are determined. First position information is determined using the first positioning information of the first obstacle. A fourth motion intention is determined based on the motion and position information of the first obstacle in each frame. The aforementioned processing based on m and n frames is a hysteresis comparison. Through multi-frame hysteresis comparison, the first motion intention of the first obstacle is obtained. This first motion intention can stably and accurately reflect the motion trend of the first obstacle. Therefore, filtering the first predicted trajectory set based on the first motion intention improves the rationality of the predicted trajectory. Consequently, when the autonomous driving module determines the vehicle's driving route based on the filtered predicted trajectory, it can effectively avoid the first obstacle.
[0017] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of the present invention, nor is it intended to limit the scope of the invention. Other features of the invention will become readily apparent from the following description. Attached Figure Description
[0018] Figure 1A A flowchart illustrating a trajectory prediction processing method provided in an embodiment of this application;
[0019] Figure 1B A schematic diagram of module interaction for a trajectory prediction processing method provided in this application embodiment.
[0020] Figure 2 A flowchart illustrating the process of determining motion intent provided in an embodiment of this application;
[0021] Figure 3 Another flowchart illustrating the determination of motion intent provided in this application embodiment;
[0022] Figure 4A A flowchart illustrating another trajectory prediction processing method provided in this application embodiment;
[0023] Figure 4B This is a schematic diagram of module interaction for another predicted trajectory processing method provided in an embodiment of this application. Detailed Implementation
[0024] To ensure clarity and conciseness in the description of the following embodiments, the terminology used in the embodiments of this application will first be explained. It should be understood that this explanation is for the purpose of better understanding the embodiments of this application and does not necessarily constitute a limitation on the embodiments of this application.
[0025] The Exponential Moving Average (EMA) algorithm is a commonly used statistical smoothing technique. It calculates the moving average of a sequence, where newer data points are given higher weights, while the weights of older data points gradually decrease. This weighting mechanism allows EMA to respond more quickly to changes in the sequence while retaining a memory of historical data. EMA is widely used for optimizing parameters, stabilizing gradient updates, or improving model generalization ability.
[0026] The sliding window algorithm is an efficient algorithmic approach for solving problems involving continuous intervals, often used for substrings or subarrays of strings or arrays. Its core principle lies in dynamically adjusting the left and right boundaries of the window to avoid redundant calculations, thereby reducing time complexity.
[0027] A k-dimensional tree is a binary tree data structure that recursively partitions a set of points in a k-dimensional space using a k-dimensional hyperplane. This structure achieves spatial bipartition by alternating between coordinate axes and taking the median to divide the data, forming left and right subtrees. It is suitable for scenarios such as multidimensional data retrieval and nearest neighbor search.
[0028] A grid map is a spatial data representation method based on a regular grid structure, widely used in robotics, geographic information science, and environmental modeling. Its core idea is to discretize continuous space into two-dimensional or three-dimensional grid cells, each storing specific attribute values such as occupancy probability, elevation, color, or texture, thereby enabling efficient environmental modeling and analysis. An axis-aligned bounding box (AABB) is a hexahedral three-dimensional bounding box whose edges are always parallel to the coordinate axes and whose faces are perpendicular to the coordinate axes. Its geometry is defined by two vertices, Pmin (containing the minimum coordinate values Xmin, Ymin, and Zmin) and Pmax (containing the maximum coordinate values Xmax, Ymax, and Zmax), whose length, width, and height can vary independently.
[0029] A convex hull is the smallest convex polygon in a plane that contains all given points. Mathematically, it is defined as the intersection S of all convex sets containing X for a given set X.
[0030] The monotonic chain (Andrew) algorithm is used to find the convex hull of a set of points on a plane. Its basic idea is to first sort the point set according to the x-coordinate (or y-coordinate if the x-coordinates are the same), and then construct the upper and lower chains of the convex hull by traversing the sorted points in turn, and finally merge them to obtain the complete convex hull.
[0031] The reference line snapping algorithm is an interactive graphics alignment algorithm that improves design or editing efficiency by dynamically detecting the geometric relationships between elements (such as edges and center points) and automatically aligning them when they are close. Its core idea is to calculate the distance between predefined reference lines (such as horizontal and vertical lines) and the bounding box of the target element; when the distance is less than a threshold, the snapping effect is triggered. The quadratic programming smoother is an optimization technique that smooths curves or paths by formulating the smoothing problem as a quadratic programming (QP) problem. Its core idea is to minimize a quadratic objective function while satisfying linear constraints, thereby generating a continuous, smooth, and differentiable trajectory. This technique is widely used in autonomous driving, robot path planning, and other fields.
[0032] The Operator Splitting Quadratic Program (OSQP) solver is an efficient and stable quadratic programming solver. Its workflow includes: first, selecting an initial point and setting iteration parameters, such as the maximum number of iterations and tolerance error; then, iterating through steps such as calculating interior points, updating variables and parameters, and checking if stopping conditions are met; finally, outputting the optimal solution when the stopping conditions are satisfied.
[0033] The technical solutions of various embodiments of this application will now be described in detail with reference to the accompanying drawings.
[0034] With the rapid advancement of artificial intelligence technology, the field of autonomous driving has also experienced rapid development. In particular, the application of deep learning technology enables autonomous driving modules to predict the trajectories of obstacles around the vehicle in complex scenarios. Specifically, it uses sensors such as LiDAR, millimeter-wave radar, and cameras to acquire motion information of obstacles, combines this information with high-precision map data, and applies deep learning technology to generate a data-driven prediction model. This model is then refined by incorporating the obstacle's historical motion trajectories to obtain the final predicted trajectory of the obstacle.
[0035] With the widespread application of deep learning technology, while predicted trajectories obtained using the aforementioned methods show potential in complex scenarios, they face the core challenge of insufficient predictive accuracy in engineering applications. Specifically, when sensors acquire obstacle motion information, due to sensor noise or limitations in the sensor's hardware, they may obtain motion information from some abnormal frames. Flickering may occur between adjacent frames, resulting in low accuracy and stability of historical motion trajectories. Therefore, predicted trajectories obtained using prediction models based on historical motion trajectories may lack sufficient predictability, leading to the autonomous driving module's inability to effectively avoid obstacles when determining the vehicle's route based on the predicted trajectory. Therefore, an effective processing mechanism is urgently needed to reasonably optimize the predicted trajectory.
[0036] In view of this, embodiments of this application provide a method and electronic device for processing obstacle prediction trajectories, and optimize the rationality of the predicted trajectories.
[0037] The method provided in this application embodiment can be applied to the autonomous driving module of a vehicle. In this method, first positioning information, first motion information, and a first predicted trajectory set of a first obstacle of the vehicle are determined. The first predicted trajectory set includes P predicted trajectories of the first obstacle, and the first motion information includes motion information of Z consecutive frames, where P is a positive integer and Z is a positive integer greater than 1.
[0038] Based on the aforementioned first positioning information, the first location information of the first obstacle is determined, and the first location information includes the location information of consecutive Z frames.
[0039] For a consecutive Z frames, a second motion intention is determined based on the motion information of the i-th frame, a third motion intention is determined based on the position information of the i-th frame, and a fourth motion intention corresponding to the first obstacle in the i-th frame is determined based on the second and third motion intentions, where the i-th frame is any frame in the Z frames.
[0040] Based on the set first detection threshold m, it is determined that the m fourth motion intentions corresponding to m consecutive frames are the same, and any one of the m fourth motion intentions is taken as the fifth motion intention of the first obstacle, where m is a positive integer greater than 1.
[0041] After the above m frames, based on the set second detection threshold n, it is determined that the n fourth motion intentions corresponding to the consecutive n frames are the same as the fifth motion intentions. The fifth motion intention is taken as the first motion intention of the first obstacle. n is a positive integer greater than 1, and the sum of m and n is less than Z.
[0042] A first processing is performed on at least one predicted trajectory in the first predicted trajectory set to obtain a second predicted trajectory set for the first obstacle. The second predicted trajectory set includes at least one predicted trajectory that has undergone the first processing from among P predicted trajectories. The first processing includes filtering at least one predicted trajectory based on the first motion intention.
[0043] Using the above method, the first motion intention of the first obstacle is obtained through hysteresis comparison of multiple frames. This first motion intention can stably and accurately reflect the motion trend of the first obstacle. Therefore, by filtering the first predicted trajectory set based on the first motion intention, the rationality of the predicted trajectory is improved. Thus, when the autonomous driving module determines the vehicle's driving route based on the filtered predicted trajectory, it can effectively avoid the first obstacle.
[0044] Next, referring to Figures 1 to 4, a method for processing obstacle prediction trajectories provided by the embodiments of this application will be described in detail.
[0045] Example 1: As Figure 1A As shown in the figure, this application proposes a method for processing obstacle prediction trajectories, which can be used in the autonomous driving module of a vehicle. The method includes the following steps:
[0046] S101, determine the first positioning information, first motion information and first predicted trajectory set of the first obstacle of the vehicle.
[0047] The first obstacle is the object that the vehicle needs to avoid while driving.
[0048] The first predicted trajectory set for the first obstacle can be a predicted trajectory set generated by the autonomous driving module based on deep learning technology. This first predicted trajectory set can also be generated by other modules and sent to the autonomous driving module. The first predicted trajectory set includes P predicted trajectories, where P is a positive integer.
[0049] The first location information of the first obstacle is used to determine the position of the first obstacle and information about the surrounding environment, providing data support for subsequently determining the first movement intention of the first obstacle.
[0050] The first motion information of the first obstacle includes various motion information of the first obstacle, such as its horizontal or vertical motion, and also provides data support for subsequently determining the first motion intention of the first obstacle. The first motion information includes motion information of Z consecutive frames, where Z is a positive integer greater than 1.
[0051] S102, determine the first location information based on the first positioning information.
[0052] Understandably, autonomous driving modules typically have built-in high-precision map data or can access such data. Based on the initial location information of the first obstacle, the high-precision map data can be searched to obtain the location of the first obstacle and its surrounding conditions, providing data support for subsequently determining the first obstacle's initial movement intention.
[0053] It is understood that the first motion information in step S101 includes motion information of consecutive Z frames, and correspondingly, the motion information of each frame corresponds to the positioning information of that frame. Therefore, the first position information determined based on the first positioning information also includes the position information of consecutive Z frames.
[0054] The first positioning information can be positioning information based on the Global Positioning System (GPS) or positioning information based on the Beidou Navigation Satellite System (BDS). This application does not limit the choice of positioning system.
[0055] S103, based on the first motion information and the first position information, determine the first motion intention by hysteresis comparison.
[0056] It is understandable that the primary motion intent here refers to the stable motion intent of the first obstacle. To determine the stable motion intent, it is necessary to analyze motion and position information from multiple consecutive frames, including the following processing steps:
[0057] Step 1, as follows Figure 2As shown, for any frame i in Z frames, the fourth motion intention of the first obstacle in the i-th frame is determined based on the motion information and position information of the i-th frame.
[0058] Step 2, as follows Figure 3 As shown, the hysteresis comparison method is used to determine the first motion intention.
[0059] The following is combined with Figure 2 and Figure 3 These two steps will be explained in detail.
[0060] like Figure 2 As shown, for any frame i in Z frames, the fourth motion intention of the first obstacle in frame i is determined based on the motion information and position information of frame i, including the following steps:
[0061] S201, determine the second motion intention of the i-th frame based on the motion information of the i-th frame.
[0062] The motion intent determined based on single-frame information can be understood as the instantaneous intent of the current frame. Therefore, the second motion intent here can be understood as the instantaneous intent of the first obstacle determined based on motion information in the i-th frame.
[0063] S202, determine the third motion intention of the i-th frame based on the environmental information of the i-th frame.
[0064] The third motion intention here can also be understood as the instantaneous intention of the first obstacle determined based on environmental information in the i-th frame.
[0065] S203, determine the fourth motion intention of the i-th frame based on the second and third motion intentions of the i-th frame.
[0066] The second and third motion intentions mentioned above are aggregated to determine the fourth motion intention of the i-th frame, that is, the instantaneous intention of the i-th frame. The aggregation method can be averaging or weighted averaging. For example, the average value of the motion direction angles of the second and third motion intentions can be directly calculated to obtain the fourth motion intention. Alternatively, the second and third motion intentions can be weighted and averaged based on the motion information and environmental information of the i-th frame to obtain the fourth motion intention. This application does not limit the above aggregation method.
[0067] like Figure 3 As shown, the method of hysteresis comparison is used to determine the first motion intention, including the following steps:
[0068] S301, determine the fifth motion intention based on the fourth motion intention corresponding to m consecutive frames.
[0069] Based on the set first detection threshold m, it is determined that the m fourth motion intentions corresponding to m consecutive frames are the same, and any one of the m fourth motion intentions is taken as the fifth motion intention of the first obstacle, where m is a positive integer greater than 1.
[0070] The fifth motion intent is determined based on the fourth motion intent corresponding to m consecutive frames. Here, the fifth motion intent can be understood as an undetermined intent.
[0071] Optionally, if the fourth motion intention corresponding to the j-th frame in m frames is different from the fourth motion intention corresponding to the frames preceding the j-th frame in m frames, the counting starts again from the (j+1)-th frame, and the fifth motion intention is determined based on the fourth motion intention corresponding to the consecutive m frames after the j-th frame.
[0072] Understandably, hysteresis comparison is a comparison method with lag characteristics, which overcomes the interference of abnormal frames by introducing positive feedback. Therefore, by using the above method, abnormal frames can be effectively filtered out, the false detection rate can be reduced, and the final determination of the first motion intent can be more accurate.
[0073] S302, determine the first motion intention based on the fourth motion intention corresponding to n consecutive frames.
[0074] After the above m frames, based on the set second detection threshold n, it is determined that the n fourth motion intentions corresponding to the consecutive n frames are the same as the fifth motion intentions. The fifth motion intention is taken as the first motion intention of the first obstacle. n is a positive integer greater than 1, and the sum of m and n is less than Z.
[0075] After determining the fifth motion intention based on the fourth motion intention corresponding to m consecutive frames, the first motion intention is determined by the fact that the fourth motion intention and the fifth motion intention are the same for n consecutive frames. That is, the final stable intention is determined by n consecutive stable pending intentions.
[0076] Optionally, if the fourth motion intention corresponding to the kth frame in the n frames is different from the fifth motion intention, the counting starts again from the (k+1)th frame, and the first motion intention is determined based on the fourth motion intention corresponding to the consecutive n frames after the kth frame.
[0077] Understandably, hysteresis comparison prevents minor disturbances from causing frequent changes in the output state, ensuring output stability. Therefore, this method effectively prevents transitions between adjacent frames from causing the intent decision to jump back and forth at the boundaries, resulting in a more stable final determined first motion intent.
[0078] Optionally, after determining the final first motion intention as described above, subsequent first motion intentions can be determined based on the following m+n consecutive frames. It is determined that the m fourth motion intentions corresponding to the m frames are all the same and different from the previously obtained first motion intentions. Any one of these m fourth motion intentions is designated as the fifth motion intention of the first obstacle. Then, it is determined that the fourth and fifth motion intentions of the n consecutive frames are all the same, and the fifth motion intention is designated as the first motion intention. Based on the above method, subsequent first motion intentions are obtained.
[0079] For example, m can be set to 5 and n to 6. After determining the first motion intention, if the fourth motion intentions for the next 5 consecutive frames are all the same and different from the first motion intention, then the fourth motion intention for any one of these 5 frames is taken as the fifth motion intention. If the fourth motion intentions for the next 6 consecutive frames are all the same as the fifth motion intention, then the fifth motion intention is taken as the latest first motion intention.
[0080] Optionally, after determining the final first motion intention as described above, if it is determined that the fourth motion intention and the first motion intention are the same for at least two consecutive subsequent frames, it can be determined that the first motion intention of the first obstacle remains unchanged in subsequent frames.
[0081] Optionally, during the above hysteresis comparison process, motion and position information of multiple consecutive frames can be processed based on a time gate mechanism to ensure the temporal stability of the intended output. The processing procedure can be set as needed and will not be elaborated here.
[0082] Based on the above method, the first motion intention of the first obstacle can be continuously and stably obtained, providing a reasonable and effective basis for the selection of the first predicted trajectory.
[0083] S104, perform the first processing on the first predicted trajectory set to obtain the second predicted trajectory set.
[0084] A first processing is performed on at least one predicted trajectory in the first predicted trajectory set to obtain a second predicted trajectory set for the first obstacle. The second predicted trajectory set includes at least one predicted trajectory from the aforementioned P predicted trajectories that has undergone the first processing. The first processing includes filtering the at least one predicted trajectory based on a first motion intention.
[0085] Understandably, based on the first motion intent obtained in step S103 above, after filtering the first predicted trajectory set, predicted trajectories that are seriously inconsistent with the first motion intent are removed, and the remaining predicted trajectories are basically consistent with the first motion intent. Therefore, filtering the first predicted trajectory set based on the first motion intent improves the rationality of the predicted trajectories.
[0086] In this embodiment, the vehicle's first positioning information, first motion information, and first predicted trajectory set are determined. First position information is determined using the first positioning information of the first obstacle. A fourth motion intention is determined based on the motion and position information of the first obstacle for each frame. Through hysteresis comparison of multiple frames, the first motion intention of the first obstacle is obtained. This first motion intention can stably and accurately reflect the motion trend of the first obstacle. Therefore, filtering the first predicted trajectory set based on the first motion intention improves the rationality of the predicted trajectory. Consequently, when the autonomous driving module determines the vehicle's driving route based on the filtered predicted trajectory, it can effectively avoid the first obstacle.
[0087] Figure 1B The following diagram illustrates the interaction between different modules when the aforementioned autonomous driving module is divided into multiple modules, and how each module executes the various processes described in this embodiment. In this embodiment, the autonomous driving module may include the following four modules:
[0088] The obstacle tracking module (Tracker) is used to determine the first location information, first motion information, and first predicted trajectory set of the first obstacle to the vehicle.
[0089] Environment localization module (Locator): Used to construct the local environmental context of the first obstacle, that is, to determine the first location information of the first obstacle based on the first localization information.
[0090] The intent recognition module (Recognizer) is used to determine the first motion intent by hysteresis comparison based on the first motion information and the first position information.
[0091] The trajectory matching module (Matcher) is used to filter the first predicted trajectory set based on the first motion intention to obtain the second predicted trajectory set.
[0092] like Figure 1B As shown, the interactions between the modules performing the various processes in this embodiment are as follows:
[0093] After determining the first positioning information, the first motion information, and the first predicted trajectory set, the obstacle tracking module sends the first positioning information to the environmental positioning module, the first motion information to the intent recognition module, and the first predicted trajectory set to the trajectory matching module.
[0094] The environmental localization module determines the first location information based on the first location information from the obstacle tracking module, and then sends the first location information to the intent recognition module.
[0095] The intent recognition module determines the first motion intent by comparing the first motion information from the obstacle tracking module and the first position information from the environment positioning module through hysteresis, and then sends the first motion intent to the trajectory matching module.
[0096] The trajectory matching module filters the first predicted trajectory set from the obstacle tracking module based on the first motion intention from the intention recognition module to obtain the second predicted trajectory set.
[0097] Optionally, in step 201 above, when the motion information of the i-th frame includes different motion information, at least one of the following methods is used to determine the second motion intention of the i-th frame:
[0098] When the motion information in the i-th frame includes the longitudinal motion direction and the longitudinal motion speed, if the longitudinal motion speed is greater than or equal to the set longitudinal speed threshold, the second motion intention is determined to be moving in the longitudinal motion direction.
[0099] When the motion information in the i-th frame includes the lateral motion direction and lateral motion speed, if the lateral motion speed is greater than or equal to a set first lateral velocity threshold, the second motion intention is determined to be moving in the lateral motion direction.
[0100] When the motion information in the i-th frame includes the longitudinal acceleration direction and the longitudinal acceleration, if the longitudinal acceleration is greater than or equal to the set longitudinal acceleration threshold, the second motion intention is determined to be to accelerate in the longitudinal acceleration direction.
[0101] When the motion information in the i-th frame includes the lateral acceleration direction and lateral acceleration, if the lateral acceleration is greater than or equal to a set first lateral acceleration threshold, the second motion intention is determined to be to accelerate in the lateral acceleration direction.
[0102] If the motion information in the i-th frame includes the yaw direction and yaw angle deviation, and the yaw angle deviation is greater than or equal to the set yaw angle deviation threshold, the second motion intention is determined to be to move in the yaw direction.
[0103] It is understandable that, for the motion information contained in the i-th frame, the corresponding thresholds are set, and if the above conditions are met, the second motion intention of the first obstacle that conforms to the physical laws can be determined.
[0104] Furthermore, the motion information of the i-th frame may contain two or more of the aforementioned motion information. In this case, the second motion intention determined by combining the two or more motion information can be aggregated to obtain the final second motion intention. Taking the i-th frame motion information containing lateral and longitudinal motion directions and speeds as an example, the lateral second motion intention is determined based on the lateral motion direction and speed, and the longitudinal second motion intention is determined based on the longitudinal motion direction and speed. Then, based on the lateral and longitudinal speeds, a weighted average is taken between the lateral and longitudinal second motion intentions to obtain the final second motion intention. This application does not limit the aggregation method of two or more second motion intentions. In addition, the motion information of the i-th frame includes, but is not limited to, the above-mentioned methods. Therefore, the method for determining the second motion intention of the i-th frame based on the motion information of the i-th frame is not limited to the above-mentioned methods.
[0105] Optionally, the position information of the i-th frame includes the road curvature where the first obstacle is located. It is understood that if the road curvature is sufficiently large, then the determination of the second motion intent for lateral movement needs to be processed in conjunction with the road curvature, specifically including the following methods:
[0106] When the motion information in the i-th frame includes the lateral motion direction and lateral motion speed, if the road curvature is greater than or equal to a set first road curvature threshold, and if the lateral motion speed is greater than or equal to a set second lateral speed threshold, the second motion intention is determined to be moving in the lateral motion direction, wherein the second lateral speed threshold is greater than the first lateral speed threshold.
[0107] When the motion information in the i-th frame includes the lateral acceleration direction and lateral acceleration, if the road curvature is greater than or equal to a set second road curvature threshold, and if the lateral acceleration is greater than or equal to a set second lateral acceleration threshold, the second motion intention is determined to be to accelerate in the lateral acceleration direction, wherein the second lateral acceleration threshold is greater than the first lateral acceleration threshold.
[0108] Understandably, when the road curvature exceeds a set threshold, a greater lateral velocity or acceleration is required to determine the lateral movement intention of the first obstacle. Therefore, the second lateral velocity threshold is greater than the first lateral velocity threshold, and the second lateral acceleration threshold is greater than the first lateral acceleration threshold. Furthermore, setting separate thresholds for road curvature for both lateral velocity and acceleration allows for better determination of lateral movement intention based on these parameters.
[0109] Optionally, in step 202 above, when the position information of the i-th frame includes different position information, at least one of the following methods is used to determine the third motion intention of the i-th frame:
[0110] If the position information in the i-th frame includes the centerline of the lane where the first obstacle is located and the first distance between the first obstacle and the centerline, when the first distance is less than or equal to a set first centerline threshold, the third movement intention is determined to be to move in a direction closer to the centerline; when the first distance is greater than or equal to a set second centerline threshold, the third movement intention is determined to be to move in a direction away from the centerline, wherein the second centerline threshold is greater than the first centerline threshold.
[0111] In the case that the position information of the i-th frame includes the edge line of the lane where the first obstacle is located and the second distance between the first obstacle and the edge line, when the second distance is less than or equal to the set first edge line threshold, the third movement intention is determined to be to move in the direction of approaching the edge line, and when the second distance is greater than or equal to the set second edge line threshold, the third movement intention is determined to be to move in the direction of moving away from the edge line, wherein the second edge line threshold is greater than the first edge line threshold.
[0112] Understandably, for the lane centerline, whether the first obstacle is away from or close to the lane centerline depends on the distance of the first obstacle relative to the lane centerline. Therefore, by setting corresponding first centerline thresholds and second centerline thresholds, and combining the distance of the first obstacle relative to the lane centerline, the third motion intention of the first obstacle relative to the lane centerline is determined. This third motion intention is more in line with the laws of physics.
[0113] The method for handling lane edge lines is similar to the method described above, and will not be repeated here.
[0114] It should be noted that when the position information of the i-th frame simultaneously contains both of the above-mentioned position information, the third motion intention based on the lane centerline and the third motion intention based on the lane edge line are determined respectively based on their respective position information. Then, a weighted average is performed based on the distance of the first obstacle relative to the lane centerline and the lane edge line to obtain the final third motion intention that is more in line with physical laws. This application does not limit the aggregation method of the above-mentioned multiple third motion intentions. In addition, the position information of the i-th frame includes, but is not limited to, the above two methods. For example, it may also include whether the first obstacle crosses the lane line and the degree of crossing the line, etc. The method of determining the third motion intention of the i-th frame based on the position information of the i-th frame is not limited to the above two methods.
[0115] Optionally, the method proposed in this application embodiment further includes determining the type information of the first obstacle. For determining the first motion intention, different motion intention recognition strategies can be selected for different obstacle types.
[0116] For example, for agile obstacles like rabbits or dogs, their movement trajectories differ from those of typical vehicles. They don't follow lanes; they might cross the road, suddenly change direction, or even straddle the curb. For these obstacles, setting smaller values for m or n when determining the initial movement intention allows for more precise determination. For instance, when the obstacle is a typical vehicle, m could be set to 8 and n to 6; when the obstacle is a rabbit, m could be set to 5 and n to 4. This way, for agile obstacles, fewer consecutive frames can be used to more accurately determine the initial movement intention.
[0117] Different recognition strategies can be selected when the obstacle is a different type of vehicle. Relatively speaking, smaller vehicles travel faster and their trajectories change more flexibly, while larger vehicles travel slower and their trajectories change more smoothly. Therefore, when the obstacle is a different type of vehicle, different values for m and n can be selected, or different longitudinal velocity thresholds, first lateral velocity thresholds, second lateral velocity thresholds, etc., can be set to more accurately determine the initial motion intent. For example, when the obstacle is a small vehicle, m can be set to 8 and n to 6; when the obstacle is a large vehicle, m can be set to 10 and n to 8. In this way, for different types of obstacles, the initial motion intent can be determined more accurately using different numbers of consecutive frames or different thresholds.
[0118] Example 2: Figure 4A As shown in the figure, this application proposes a method for processing obstacle prediction trajectories. Compared with Embodiment 1, Embodiment 2 adds the following steps: determining first motion information based on anomaly removal and smoothing, establishing a first index, pruning a first predicted trajectory set based on first environmental information, and performing subsequent optimization processing on a second predicted trajectory set. The method includes the following steps:
[0119] S401, determine the first positioning information, first motion information and first predicted trajectory set of the first obstacle.
[0120] The method for determining the first positioning information and the first predicted trajectory set is the same as in step S101 of Embodiment 1. The difference from step S101 in Embodiment 1 is that this step also includes determining the first motion information based on anomaly removal and smoothing processing. The specific steps of this part are as follows:
[0121] Step 1: Determine the third motion information of the first obstacle for X consecutive frames, where X is a positive integer greater than 1.
[0122] Step 2: Based on the anomaly detection mechanism, remove the motion information of abnormal frames from the third motion information of consecutive X frames to obtain the second motion information of Y frames, where Y is a positive integer greater than 1 and Y is less than or equal to X.
[0123] Step 3: Smooth the second motion information of Y frames based on the EMA algorithm to obtain the first motion information including the motion information of consecutive X frames.
[0124] It is understandable that the aforementioned third motion information can be information from multiple consecutive frames acquired by the autonomous driving module through various sensors such as radar and cameras. Due to the presence of sensor noise or limitations of sensor hardware, abnormal frames such as timestamp rollback, frame ID jumps, or odometer abrupt changes are inevitable in the information from multiple consecutive frames. Therefore, by using an anomaly detection mechanism to remove the motion information from these abnormal frames, more accurate multi-frame motion information can be obtained.
[0125] After removing abnormal frames, it is also necessary to smooth the missing frame information caused by the removal of abnormal frames. The motion information such as the velocity, acceleration, and trajectory of the first obstacle can be smoothed using the EMA algorithm.
[0126] Optionally, a sliding window algorithm can be used to maintain the first motion information of the first obstacle. This makes it easier to quickly traverse the motion information of multiple consecutive frames when determining the motion intention based on the motion information of multiple consecutive frames in the first motion information, thereby reducing time complexity and improving computational efficiency.
[0127] S402, establish the first index based on map information.
[0128] Based on the map information in the autonomous driving module, a first index is established based on k-dimensional tree and grid map. The first index includes the correspondence between the positioning information and the corresponding location information and environmental information in the map information.
[0129] Optionally, a first index can be established based on the available map information, using a k-dimensional tree and a grid map. This first index includes the correspondence between the location information and the corresponding location information and environmental information in the map information.
[0130] Optionally, after the first index is established, it can be stored in the memory of the autonomous driving module to avoid repeated construction during subsequent processing. The first index can only be incrementally updated or rebuilt when the map information changes.
[0131] Understandably, the map information contained above contains a massive amount of data, and many subsequent operations require retrieving corresponding location and environmental information from the map based on the positioning information. An index built on a k-dimensional tree is suitable for multidimensional data retrieval, nearest neighbor search, and other scenarios, enabling rapid retrieval of adjacent multidimensional data. An index built on a grid map discretizes the continuous space of map data into two-dimensional or three-dimensional grid cells, thereby achieving efficient modeling and analysis of the environment, suitable for efficient modeling and analysis of the environment corresponding to the map. Therefore, building the first index based on k-dimensional trees and grid maps can improve retrieval efficiency, alleviate the computational complexity problem brought about by high-precision maps, and enable complex processing logic to meet real-time requirements.
[0132] S403, determine the first location information and the first environmental information based on the first positioning information.
[0133] Based on the first positioning information, the first index is retrieved to determine the first location information and the first environment information corresponding to the first positioning information in the map information.
[0134] The first location information may include the distance of the first obstacle from the lane centerline, the distance from the lane edge line, or whether it has crossed the lane line. Similar to Embodiment 1, the first location information is used to subsequently determine the first movement intention. Unlike Embodiment 1, the first location information is also used for subsequent correction operations on the second predicted trajectory set.
[0135] The first environmental information may include information such as the solid line of the road where the first obstacle is located, the curb, or surrounding static obstacles, which can be used to perform a cropping operation on at least one of the first predicted trajectories.
[0136] S404, based on the first motion information and the first position information, determine the first motion intention through hysteresis comparison.
[0137] This step is the same as step S103 in Example 1, including the above. Figure 2 and Figure 3 The technical solution described will not be repeated here.
[0138] S405, the first predicted trajectory set is filtered and cropped to obtain the second predicted trajectory set.
[0139] A first processing is performed on at least one predicted trajectory in the first predicted trajectory set to obtain a second predicted trajectory set for the first obstacle. The first processing includes filtering the at least one predicted trajectory based on a first motion intention and cropping the at least one predicted trajectory based on first environmental information.
[0140] The order of the two operations in the first processing described above can be interchanged. One approach is to first filter at least one predicted trajectory based on the first motion intention, and then trim the filtered predicted trajectory based on the first environmental information. Another approach is to first trim at least one predicted trajectory based on the first environmental information, and then filter the trimmed predicted trajectory based on the first motion intention. This application does not limit the execution order of the two operations described above.
[0141] The filtering and cropping processes are described in detail below.
[0142] The process of filtering at least one predicted trajectory from the first predicted trajectory set based on the first motion intention includes the following steps:
[0143] Step 1: Based on the first motion intention, calculate the matching degree for each of the at least one predicted trajectory. The matching degree is positively correlated with the similarity of each predicted trajectory.
[0144] Step 2: Delete at least one predicted trajectory whose matching degree is less than or equal to the set matching degree threshold.
[0145] Based on a more stable and accurate first motion intention, the first predicted trajectory is filtered, and predicted trajectories with low matching degree are deleted, resulting in a more reasonable predicted trajectory.
[0146] Based on the first environmental information, a pruning process is performed on at least one predicted trajectory, including at least one of the following:
[0147] Given that the first environmental information includes the solid line of the road where the first obstacle is located, determine that at least A predicted trajectories intersect with the solid line, and cut off the trajectories after the first intersection of each of the A predicted trajectories with the solid line, where A is a positive integer.
[0148] Given that the first environmental information includes the roadside where the first obstacle is located, determine that at least B predicted trajectories intersect with the roadside. Then, cut off the trajectories after the first intersection of each of the B predicted trajectories with the roadside, where B is a positive integer.
[0149] Given that the first environmental information includes static obstacles around the first obstacle, determine that at least C predicted trajectories intersect with the static obstacle, and cut off the trajectories after the first intersection of each of the C predicted trajectories with the static obstacle, where C is a positive integer.
[0150] By cropping the predicted trajectory based on the aforementioned first environmental information, reasonable constraints on the first obstacle can be ensured. For example, constraining the predicted trajectory based on solid road lines ensures that the first obstacle complies with traffic regulations, while constraining the predicted trajectory based on curbs or static obstacles eliminates dangerous trajectories such as "passing through walls" or "running off the road." These methods further improve the rationality of the predicted trajectory.
[0151] The various clipping methods described above can be used individually or in combination with specific content in the first environmental information to achieve multi-level clipping of the predicted trajectory. For example, when the first environmental information includes both the solid line and the curb of the road where the first obstacle is located, clipping can be performed based on the intersection of the predicted trajectory with the solid line and the curb, respectively, resulting in a predicted trajectory after two clipping steps. Furthermore, the first environmental information may also contain other content; therefore, the methods for performing clipping processing on at least one predicted trajectory based on the first environmental information in this application are not limited to the methods described above.
[0152] S406, perform deviation correction and smoothing on the second predicted trajectory set to obtain the third predicted trajectory set.
[0153] After performing a first process on at least one predicted trajectory in the first predicted trajectory set to obtain a second predicted trajectory set for the first obstacle, the process may further include the following steps:
[0154] Step 1: Based on the first motion intention and the first position information, determine the center line of the target lane of the first obstacle.
[0155] Step 2: Based on the reference line adsorption algorithm, perform the first operation on the Q predicted trajectories in the second predicted trajectory set. The first operation is used to correct the deviation of the Q predicted trajectories relative to the center line of the target lane, where Q is a positive integer.
[0156] Step 3: Based on the quadratic programming smoother, perform the second operation on the Q predicted trajectories that have undergone the first operation. The second operation is used to smooth the curvature abrupt changes that occur in the Q predicted trajectories during the execution of the first operation.
[0157] Step 4: Write the W predicted trajectories that have undergone the second operation and the other predicted trajectories in the second predicted trajectory set that have not undergone the second operation into the third predicted trajectory set.
[0158] In step S405, the first predicted trajectory set was cropped. The resulting second predicted trajectory set may contain incomplete trajectories, thus requiring optimization. First, the deviation of the predicted trajectory relative to the target lane centerline is corrected using a reference line snapping algorithm. The reference line snapping algorithm is an interactive graphic alignment algorithm that automatically aligns elements when they are close by dynamically detecting their geometric relationships. Therefore, correcting the deviation of the predicted trajectory relative to the target lane centerline using the reference line snapping algorithm can complete the incomplete predicted trajectory based on the motion intent, resulting in a predicted trajectory that conforms to the motion intent. Then, a quadratic programming smoother is used to smooth the curvature abrupt changes generated during the correction process. The quadratic programming smoother is an optimization technique that smooths curves or paths, generating continuous and smooth trajectories. Therefore, through deviation correction and smoothing of the predicted trajectory, the processed predicted trajectory becomes more continuous and stable, improving its robustness.
[0159] The first and second operations are described below.
[0160] The first operation is based on a reference line adsorption algorithm to correct the deviation of the predicted trajectory from the center line of the target lane, while preserving the lateral movement trend of the obstacle at the initial moment.
[0161] The input parameters for the first operation include:
[0162] Original trajectory point sequence ,in arrive Represents the 0th to Nth original trajectory points arranged in chronological order;
[0163] Reference line (center line of the destination lane) L_{ref};
[0164] The convergence index is k_{conv}.
[0165] The specific processing of the first operation includes:
[0166] Step 1, Projection Calculation: For each trajectory point $p_i$, find the nearest projection point $q_i$ on the reference line $L_{ref}$, and calculate the tangent direction $\theta_{ref, i}$ of that point.
[0167] Step 2, calculate the lateral deviation, that is, calculate the lateral distance $l_i$ of $p_i$ relative to $q_i$.
[0168] Step 3: Using the following weight function, construct a cubic polynomial weight function $w(i)$ that varies with the index $i$ to facilitate a smooth transition:
[0169]
[0170] in, Here, is the weighting coefficient, and is the index of the trajectory point. This is the transition threshold.
[0171] The above functions satisfy $w(0)=0, w(k_{conv})=1, w'(0)=0, w'(k_{conv})=0$, which ensures the continuous and smooth adsorption process.
[0172] Step 4: Calculate the trajectory point $p'{i}$ after adsorption using the following correction formula. The correction is applied only in the normal direction of the reference line:
[0173]
[0174] in, This is the correction amount for the normal direction. This is the desired correction amount for the normal direction. Let x be the x-coordinate of the new trajectory at point i. Let x be the x-coordinate of the original trajectory at point i. Let be the y-coordinate of the new trajectory at point i. Let be the y-coordinate of the original trajectory at point i. Let be the heading angle of the reference line at point i.
[0175] Using the above method, the trajectory completely retains the original model output at $i=0$, that is, it retains the current motion state, while at $i \ge k_{conv}$ it completely coincides with the reference line, that is, it satisfies the lane keeping intention.
[0176] The second operation uses a quadratic programming smoother to eliminate curvature abrupt changes that may be introduced during the adsorption process and ensures that the trajectory meets vehicle dynamics constraints. The discrete quadratic optimization problem is solved using the following method, outputting the final smoothed trajectory.
[0177] Optimization variables: X = [x_0, y_0, x_1, y_1, ..., x_N, y_N]^T, which is the coordinates of the trajectory points after optimization.
[0178] Reference value:
[0179] X_{obs}: The original observation trajectory points before adsorption, used to maintain data fidelity.
[0180] X_{ref}: The reference trajectory point after adsorption, used to guide the shape.
[0181] Objective function (Cost Function):
[0182] Minimize the weighted sum of the following costs:
[0183]
[0184] Among them, the first item Ensure the trajectory conforms to the lane. The weighting coefficient for the first term. Let i be the state vector of the i-th trajectory point. Let be the state vector of the reference trajectory at point i after adsorption.
[0185] Second item Ensure that the trajectory does not deviate excessively from the model prediction. The weighting coefficient for the second term. Let be the state vector of the original trajectory at point i before adsorption.
[0186] Third item By using the difference operator, the smoothness of the trajectory is constrained. The weighting coefficient for the third term. The first derivative represents velocity. The second derivative represents acceleration. The third derivative represents the jerk.
[0187] Constraints:
[0188] Hard constraints at the starting point: x_0 = x_{start}, y_0 = y_{start}, ensuring that the starting point of the trajectory completely coincides with the current position of the obstacle.
[0189] Initial velocity constraints: This ensures that the initial direction is consistent with the current vehicle speed vector. Among other things, The sampling time interval, Let x be the initial position x-coordinate. for The subsequent x-coordinate, The velocity component in the x-direction. Let y be the initial position. for The subsequent y-coordinate, The velocity component is in the y-direction.
[0190] Transform the above objective function into a standard quadratic form. ,in, for transpose, The coefficient matrix of the quadratic terms. The coefficients of the first-order term are used, and then the OSQP solver is used to solve the problem, outputting the final smooth trajectory.
[0191] Optionally, in step S405 above, the process of cropping the first predicted trajectory set to obtain the second predicted trajectory set may further include the following methods:
[0192] The first environmental information may also include a second obstacle set, which includes two or more second obstacles. Prior to performing the trimming process, the following steps are also included:
[0193] When at least two second obstacles in the second obstacle set are in the same lane, and the distance between the two second obstacles is less than or equal to a set distance threshold, a convex hull is generated based on all corner points of the two second obstacles according to the monotonic chain algorithm.
[0194] If a vehicle's obstacle includes two or more second obstacles in the same lane, and the distance between these two second obstacles is less than a set threshold, then these two second obstacles can be considered a combination. A convex hull is the smallest convex polygon on a plane that contains all given points. The monotonic chain algorithm can be based on the convex hull used to solve for a set of points on a plane. Therefore, using the monotonic chain algorithm, we can base our solution on the convex hull formed by all the corner points of these two second obstacles. This convex hull can be understood as a dynamic traffic flow wall formed by the combination of these two second obstacles.
[0195] Based on this convex hull, the above trimming process can also include the following steps:
[0196] Determine that at least D predicted trajectories intersect with the convex hull. Then, cut off the trajectories after the first intersection of each of the D predicted trajectories with the convex hull, where D is a positive integer.
[0197] If the predicted trajectory of the first obstacle attempts to cross the convex hull, it is considered an illegal crossing. Therefore, the trajectory after the first intersection of the predicted trajectory and the convex hull is cut off.
[0198] Optionally, for multiple lanes, if there are multiple second obstacles in each lane, a corresponding convex hull can be generated for each lane, and the predicted trajectory can be clipped based on each convex hull.
[0199] Optionally, in the method of trimming the first predicted trajectory set to obtain the second predicted trajectory set in step S405 above, when determining that the predicted trajectory intersects with the solid line, curb, static obstacle or convex hull, the AABB of at least one predicted trajectory in the first predicted trajectory can be determined first, and then based on the AABB of at least one predicted trajectory, the intersection of at least one predicted trajectory with the solid line, curb, static obstacle or convex hull can be determined.
[0200] Using the above method, when performing intersection detection of predicted trajectories, it is not necessary to query each sampling point of the trajectory one by one. Instead, the AABB of the entire trajectory is calculated first, and a one-time range query is performed using this AABB in the first index to obtain a candidate set of map segments that may intersect. Then, fine-grained segment intersection detection is performed on each segment of the trajectory with the aforementioned solid lines, curbs, static obstacles, or convex hulls, thereby avoiding a full search of trajectory points and further improving retrieval efficiency.
[0201] The method proposed in this application improves the accuracy and stability of the motion intent determined by hysteresis comparison. Filtering the predicted trajectory based on this motion intent enhances its rationality. By identifying the first motion information through anomaly removal and smoothing, motion information from abnormal frames is eliminated. Furthermore, environmental information is used to trim the predicted trajectory, making the final predicted trajectory more consistent with physical laws and traffic regulations, further improving its rationality. Establishing a first index and determining trajectory intersection based on AABB reduces time complexity and improves the real-time performance of the predicted trajectory processing. Finally, deviation correction and smoothing of the predicted trajectory make it more continuous and stable, improving its robustness. Therefore, this method improves the rationality, robustness, and real-time performance of the predicted trajectory, enabling the autonomous driving module to more effectively avoid the first obstacle when determining the vehicle's route based on the filtered predicted trajectory.
[0202] Figure 4B The following is a schematic diagram illustrating the interaction of each module executing the various processes described in this embodiment when the aforementioned autonomous driving module is divided into multiple modules. In this embodiment, the autonomous driving module may include six modules. Compared with Embodiment 1, a motion processing module (Processor) and a trajectory inference module (Inferencer) are added. The modules are shown below:
[0203] The obstacle tracking module (Tracker) is used to determine the first location information and the first predicted trajectory set of the first obstacle to the vehicle. Unlike Embodiment 1, this module is also used to determine the first motion information based on anomaly culling and smoothing processing.
[0204] Environment positioning module (Locator): Used to establish a first index based on map information, and to determine the first location information of the first obstacle and the first environmental information based on the first positioning information.
[0205] The intent recognition module (Recognizer) is used to determine the first motion intent by hysteresis comparison based on the first motion information and the first position information.
[0206] The trajectory matching module (Matcher) is used to filter the first predicted trajectory set based on the first motion intention to obtain the second predicted trajectory set.
[0207] The motion processing module (Processor) is used to trim the first predicted trajectory to obtain a second predicted trajectory set. This includes truncating illegal trajectory segments that cross solid lines, curbs, static obstacles, and traffic flow walls, ensuring that the processed predicted trajectories are collision-free in physical space.
[0208] The trajectory inference module (Inferencer) optimizes the second predicted trajectory set to obtain the third predicted trajectory set. This includes correcting the deviation of the predicted trajectory from the centerline of the target lane based on a reference line adsorption algorithm, and smoothing curvature abrupt changes based on a quadratic programming smoother to obtain a stable third predicted trajectory that meets kinematic constraints.
[0209] like Figure 4B As shown, the interactions between the modules performing the various processes in this embodiment are as follows:
[0210] The obstacle tracking module determines the first location information and the first predicted trajectory set of the first obstacle of the vehicle, and determines the first motion information based on anomaly removal and smoothing processing. Then, it sends the first location information to the environmental positioning module, the first motion information to the intent recognition module, and the first predicted trajectory set to the trajectory matching module.
[0211] The environmental positioning module establishes a first index based on map information, which is used to determine the first location information and the first environmental information based on the first positioning information from the obstacle tracking module. Then, the first location information is sent to the intent recognition module and the trajectory inference module, and the first environmental information is sent to the motion processing module.
[0212] The intent recognition module determines the first motion intent by comparing the first motion information from the obstacle tracking module and the first position information from the environment positioning module through hysteresis, and then sends the first motion intent to the trajectory matching module.
[0213] The trajectory matching module filters the first predicted trajectory set from the obstacle tracking module based on the first motion intent from the intent recognition module, and sends the filtered result set to the motion processing module.
[0214] The motion processing module performs cropping processing on the filtering result set from the trajectory matching module based on the first environmental information from the environmental positioning module, and obtains the cropped second predicted trajectory set, which is then sent to the trajectory inference module.
[0215] The trajectory extrapolation module performs correction and smoothing operations on the second predicted trajectory set from the motion processing module based on the first position information from the environmental positioning module, and obtains the third predicted trajectory set.
[0216] Optionally, the execution order of the trajectory matching module and the motion processing module can be interchanged. In this case, the interaction of the various processes performed by the modules in this embodiment is as follows:
[0217] The obstacle tracking module determines the first location information and the first predicted trajectory set of the first obstacle of the vehicle, and determines the first motion information based on anomaly removal and smoothing processing. Then, it sends the first location information to the environmental positioning module, the first motion information to the intent recognition module, and the first predicted trajectory set to the motion processing module.
[0218] The environmental positioning module establishes a first index based on map information, which is used to determine the first location information and the first environmental information based on the first positioning information from the obstacle tracking module. Then, the first location information is sent to the intent recognition module and the trajectory inference module, and the first environmental information is sent to the motion processing module.
[0219] The intent recognition module determines the first motion intent by comparing the first motion information from the obstacle tracking module and the first position information from the environment positioning module through hysteresis, and then sends the first motion intent to the trajectory matching module.
[0220] The motion processing module performs cropping processing on the first predicted trajectory set from the obstacle tracking module based on the first environmental information from the environmental positioning module, and obtains the cropped result set, which is then sent to the trajectory matching module.
[0221] The trajectory matching module filters the cropping result set from the motion processing module based on the first motion intent from the intent recognition module, and obtains the filtered second predicted trajectory set, which is then sent to the trajectory inference module.
[0222] The trajectory extrapolation module performs correction and smoothing operations on the second predicted trajectory set from the trajectory matching module based on the first location information from the environmental positioning module, and obtains the third predicted trajectory set.
[0223] This application also provides an electronic device, including a memory and a processor, wherein the memory is coupled to the processor. The memory is used to store computer program code, which includes computer instructions. One or more processors call the computer instructions to cause the electronic device to implement the various processes of the above method embodiments and achieve the same technical effect. To avoid repetition, it will not be described again here.
[0224] This application also provides a readable storage medium storing a program or instructions. When the program or instructions are executed by a processor, they implement the various processes of the above method embodiments and achieve the same technical effect. To avoid repetition, they will not be described again here.
[0225] The readable storage medium includes computer-readable storage media, such as computer read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks. In some examples, the readable storage medium can be a non-transient readable storage medium.
[0226] This application also provides a computer program / program product, which is stored in a storage medium and executed by at least one processor to implement the various processes of the above method embodiments and achieve the same technical effect. To avoid repetition, it will not be described again here.
[0227] This application also provides a chip, which includes a processor and a communication interface. The communication interface and the processor are coupled. The processor is used to run programs or instructions to implement the various processes of the above method embodiments and achieve the same technical effects. To avoid repetition, it will not be described again here. It should be understood that the chip mentioned in this application embodiment can also be called a system-on-a-chip, system chip, chip system, or system-on-a-chip, etc.
[0228] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.
[0229] In the embodiments of this application, the term "at least one" refers to one or more, and "more than one" refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, X and / or Y can represent: X alone, X and Y simultaneously, or Y alone, where X and Y can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, "at least one of a, b, or c" can represent: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.
[0230] Unless otherwise stated, the ordinal numbers such as "first" and "second" mentioned in the embodiments of this application are used to distinguish multiple objects and are not used to limit the order, sequence, priority, or importance of multiple objects. Furthermore, the terms "comprising" and "having" in the embodiments, claims, and drawings of this application are not exclusive. For example, a process, method, system, product, or device that includes a series of steps or modules is not limited to the listed steps or modules and may also include steps or modules not listed.
[0231] In the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design that is described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design. Specifically, the use of the terms "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.
Claims
1. A method for processing obstacle prediction trajectories, characterized in that, An autonomous driving module applied to a vehicle, the method comprising: The first positioning information, first motion information, and first predicted trajectory set of the first obstacle of the vehicle are determined. The first predicted trajectory set includes P predicted trajectories of the first obstacle. The first motion information includes motion information of Z consecutive frames, where P is a positive integer and Z is a positive integer greater than 1. Based on the first positioning information, the first location information of the first obstacle is determined, wherein the first location information includes the location information of the consecutive Z frames; For the consecutive Z frames, a second motion intention is determined based on the motion information of the i-th frame, a third motion intention is determined based on the position information of the i-th frame, and a fourth motion intention of the first obstacle corresponding to the i-th frame is determined based on the second motion intention and the third motion intention, wherein the i-th frame is any frame in the Z frames; Based on the set first detection threshold m, it is determined that the m fourth motion intentions corresponding to m consecutive frames are the same, and any one of the m fourth motion intentions is taken as the fifth motion intention of the first obstacle, where m is a positive integer greater than 1. After the m frames, based on the set second detection threshold n, it is determined that the n fourth motion intentions corresponding to the consecutive n frames are the same as the fifth motion intention, and the fifth motion intention is taken as the first motion intention of the first obstacle, where n is a positive integer greater than 1, and the sum of m and n is less than or equal to Z; At least one predicted trajectory from the first predicted trajectory set is subjected to a first processing step to obtain a second predicted trajectory set for the first obstacle. The second predicted trajectory set includes at least one predicted trajectory from the P predicted trajectories that has undergone the first processing step. The first processing step includes filtering the at least one predicted trajectory based on the first motion intention. The method further includes: Based on the first positioning information, first environmental information of the first obstacle is determined, wherein the first environmental information includes at least one of the following: The solid line of the road where the first obstacle is located; The curb of the road where the first obstacle is located; Static obstacles surrounding the first obstacle; The first processing further includes: performing a pruning process on the at least one predicted trajectory based on the first environmental information, wherein the pruning process includes at least one of the following: If the first environmental information includes the solid line, determine that A predicted trajectories among the at least one predicted trajectory intersect with the solid line, and cut off the trajectory after the first intersection of each of the A predicted trajectories with the solid line, where A is a positive integer; If the first environmental information includes the roadside, determine that B predicted trajectories among the at least one predicted trajectory intersect with the roadside, and cut off the trajectory after the first intersection of each of the B predicted trajectories with the roadside, where B is a positive integer; If the first environmental information includes the static obstacle, determine that C predicted trajectories among the at least one predicted trajectory intersect with the static obstacle, and cut off the trajectory after the first intersection of each of the C predicted trajectories with the static obstacle, where C is a positive integer.
2. The method according to claim 1, characterized in that, The method further includes: Based on the map information in the autonomous driving module, a first index is established based on a k-dimensional tree and a grid map. The first index includes the correspondence between the positioning information and the location information corresponding to the positioning information in the map information. Determining the first location information of the first obstacle based on the first location information includes: Based on the first location information, the first index is retrieved to determine the first location information corresponding to the first location information in the map information.
3. The method according to claim 1, characterized in that, The motion information of the i-th frame includes at least one of the following: The longitudinal direction and speed of the first obstacle; The lateral direction and lateral velocity of the first obstacle; The longitudinal acceleration direction and longitudinal acceleration of the first obstacle; The lateral acceleration direction and lateral acceleration of the first obstacle; The deviation of the yaw direction and yaw angle of the first obstacle; Determining the second motion intent based on the motion information of the i-th frame includes: When the motion information of the i-th frame includes the longitudinal motion direction and the longitudinal motion speed, if the longitudinal motion speed is greater than or equal to a set longitudinal speed threshold, the second motion intention is determined to be moving in the longitudinal motion direction. When the motion information of the i-th frame includes the lateral motion direction and the lateral motion speed, if the lateral motion speed is greater than or equal to a set first lateral speed threshold, it is determined that the second motion intention is to move in the lateral motion direction. When the motion information of the i-th frame includes the longitudinal acceleration direction and the longitudinal acceleration, if the longitudinal acceleration is greater than or equal to a set longitudinal acceleration threshold, the second motion intention is determined to be to accelerate in the longitudinal acceleration direction. When the motion information of the i-th frame includes the lateral acceleration direction and the lateral acceleration, if the lateral acceleration is greater than or equal to a set first lateral acceleration threshold, it is determined that the second motion intention is to accelerate towards the lateral acceleration direction. When the motion information of the i-th frame includes the yaw direction and the yaw angle deviation, if the yaw angle deviation is greater than or equal to a set yaw angle deviation threshold, it is determined that the second motion intention is to move in the yaw direction.
4. The method according to claim 3, characterized in that, The location information of the i-th frame includes the curvature of the road where the first obstacle is located; When the motion information in the i-th frame includes the lateral motion direction and the lateral motion speed, determining that the second motion intention is to move in the lateral motion direction when the lateral motion speed is greater than or equal to a set first lateral speed threshold includes: When the road curvature is greater than or equal to a set first road curvature threshold, and the lateral movement speed is greater than or equal to a set second lateral speed threshold, the second movement intention is determined to be to move in the lateral movement direction, wherein the second lateral speed threshold is greater than the first lateral speed threshold. When the motion information in the i-th frame includes the lateral acceleration direction and the lateral acceleration, and the lateral acceleration is greater than or equal to a set first lateral acceleration threshold, determining that the second motion intention is to accelerate towards the lateral acceleration direction includes: When the road curvature is greater than or equal to a set second road curvature threshold, and the lateral acceleration is greater than or equal to a set second lateral acceleration threshold, the second motion intention is determined to be to accelerate in the lateral acceleration direction, wherein the second lateral acceleration threshold is greater than the first lateral acceleration threshold.
5. The method according to claim 1, characterized in that, The location information of the i-th frame includes: the center line of the lane where the first obstacle is located, and the first distance between the first obstacle and the center line; The determination of the third motion intent based on the position information of the i-th frame includes: When the first distance is less than or equal to a set first centerline threshold, the third movement intention is determined to be to move towards the centerline; when the first distance is greater than or equal to a set second centerline threshold, the third movement intention is determined to be to move away from the centerline, wherein the second centerline threshold is greater than the first centerline threshold. And / or, The location information of the i-th frame includes: the edge line of the lane where the first obstacle is located, and the second distance between the first obstacle and the edge line; The determination of the third motion intent based on the position information of the i-th frame includes: When the second distance is less than or equal to the set first edge threshold, the third movement intention is determined to be to move towards the edge. When the second distance is greater than or equal to the set second edge threshold, the third movement intention is determined to be to move away from the edge. The second edge threshold is greater than the first edge threshold.
6. The method according to claim 1, characterized in that, The filtering process for the at least one predicted trajectory based on the first motion intent includes: Based on the first motion intention, a matching degree is calculated for each of the at least one predicted trajectory, and the matching degree is positively correlated with the similarity of each predicted trajectory; Delete the predicted trajectory in the at least one predicted trajectory whose matching degree is less than or equal to the set matching degree threshold.
7. The method according to claim 1, characterized in that, The first environmental information also includes a second obstacle set, which includes two or more second obstacles. Before performing the trimming process, the method further includes: When at least two second obstacles in the second obstacle set are in the same lane, and the distance between the at least two second obstacles is less than or equal to a set distance threshold, a convex hull is generated based on all corner points of the at least two second obstacles according to the monotonic chain algorithm. The cutting process also includes: D predicted trajectories from the at least one predicted trajectory intersect with the convex hull. The trajectory after the first intersection of each of the D predicted trajectories with the convex hull is cut off, where D is a positive integer.
8. The method according to claim 7, characterized in that, Determining that A of the at least one predicted trajectories intersects the solid line includes: Determine the axis-aligned bounding box of the at least one predicted trajectory, and based on the axis-aligned bounding box of the at least one predicted trajectory, determine that the A predicted trajectories in the at least one predicted trajectory intersect the solid line; Determining that B of the at least one predicted trajectories intersect with the road edge includes: Determine the axis-aligned bounding box of the at least one predicted trajectory, and based on the axis-aligned bounding box of the at least one predicted trajectory, determine that the B predicted trajectories in the at least one predicted trajectory intersect with the road edge; Determining that C of the at least one predicted trajectories intersect with the static obstacle includes: Determine the axis-aligned bounding box of the at least one predicted trajectory, and based on the axis-aligned bounding box of the at least one predicted trajectory, determine that the C predicted trajectories among the at least one predicted trajectory intersect with the static obstacle; Determining that D predicted trajectories out of the at least one predicted trajectory intersect with the convex hull includes: Determine the axis-aligned bounding box of the at least one predicted trajectory, and based on the axis-aligned bounding box of the at least one predicted trajectory, determine the intersection of the D predicted trajectories of the at least one predicted trajectory with the convex hull.
9. An electronic device, characterized in that, Including memory and processor; The memory is coupled to the processor and is used to store computer program code, the computer program code including computer instructions, wherein one or more of the processors invoke the computer instructions to cause the electronic device to perform the obstacle prediction trajectory processing method according to any one of claims 1 to 8.