A method for generating drivable areas for autonomous vehicle trajectory planning

The Draune triangle division and improved triangle A-star algorithm generate the feasible area of ​​the autonomous vehicle, which solves the problems of high computing power consumption and low efficiency in the prior art, and realizes efficient and smooth path planning and clear feasible area representation.

CN118836879BActive Publication Date: 2025-09-02HUNAN UNIV
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202410794720.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-06-19
Publication Date
2025-09-02
Estimated Expiration
2044-06-19

AI Technical Summary

Technical Problem

When the existing autonomous driving vehicle trajectory planning system processes a large number of sensor output information, especially when generating a feasible area, there are problems of high computing power consumption and low efficiency, especially the data processing cost caused by grid, point cloud or pixel search.

Method used

The Delaune triangle division algorithm is used to generate a triangle mesh. Combined with the improved triangle A-star algorithm, it extracts obstacles and road boundaries, expands and integrates the boundaries, forms a triangle area with a larger coverage area, and generates a travelable area.

Benefits of technology

Effectively reduce computing power consumption, improve efficiency, provide uniform regional distribution, reduce data storage and processing overhead, generate smooth paths, improve path planning efficiency, and intuitively represent the vehicle's driving range.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118836879B_ABST
    Figure CN118836879B_ABST
Patent Text Reader

Abstract

The present invention relates to a method for generating a drivable area for trajectory planning of an autonomous vehicle, comprising the following steps: 1. extracting road conditions and expanding obstacles and road boundaries; 2. performing a Delaunay triangulation algorithm based on the expanded obstacles and road boundaries to output a triangle connectivity list and a Delaunay triangle mesh; 3. generating a rough triangle edge path based on the triangle connectivity list and the Delaunay triangle mesh; and 4. integrating triangle edges based on the rough triangle edge path to form a drivable area. Compared with existing technologies, the present invention has the advantages of improving the performance of trajectory planning systems, a simple algorithm structure, and strong robustness.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of autonomous driving vehicle trajectory planning, and in particular to a method for generating a drivable area for autonomous driving vehicle trajectory planning. Background Art

[0002] The trajectory planning system for autonomous vehicles is a system that uses environmental information output from sensors combined with numerical optimization algorithms to complete the driving trajectory planning of autonomous vehicles. The system can obtain information from sensors that sample the vehicle's environment, including surrounding obstacles, traffic light information, and road conditions, and combine it with vehicle dynamics, drivable area, and other constraints to use numerical optimization algorithms to determine the optimal driving path and speed for the vehicle, thereby achieving safe, efficient, and comfortable driving. Drivable area generation technology is an important technology for determining the safe and collision-free driving range of autonomous vehicles on the road. However, the performance of trajectory planning technology is limited by the efficiency of processing the large amount of information output by the sensors. In particular, for drivable area generation technology, its processing technology for the large amount of point cloud data output by the sensors is particularly critical, which directly affects the performance of the trajectory planning system.

[0003] Currently, there has been considerable research on methods for generating drivable areas in the field of autonomous driving. For example, Chinese Patent CN116343155A discloses a method and apparatus for determining a drivable area from a BEV perspective. Chinese Patent CN116620294A discloses a method, apparatus, device, storage medium, and vehicle for determining a drivable area. Chinese Patent CN110244731A discloses an active tracking control method for a three-section virtual track train. Chinese Patent CN115205823A discloses a method, system, and autonomous vehicle for determining a vehicle's drivable area. The various architectures mentioned in these patents share a common characteristic: they employ a certain number of grids, point clouds, or pixels to search and generate a feasible region. This implies that these systems share a common problem: generating a large number of grids, point clouds, or pixels significantly increases the cost of system data processing, primarily through the consumption of significant computing power and reduced data processing efficiency. Currently, there is no method for generating a drivable area for autonomous vehicle trajectory planning that balances performance and effectiveness. Summary of the Invention

[0004] The present invention discloses a method for generating a drivable area for autonomous vehicle trajectory planning, the method comprising the following steps:

[0005] Step 1: Extract road conditions and expand obstacles and road boundaries;

[0006] Step 2: Delaunay triangulation algorithm is performed based on the dilated obstacle and road boundary to output a triangle connection relationship list and a Delaunay triangle mesh;

[0007] Step 3: Generate a rough triangle edge path based on the triangle connection relationship list and the Delaunay triangle mesh;

[0008] Step 4: Integrate the triangle edges based on the rough triangle edge path to form a drivable area.

[0009] Furthermore, in step 1, the following steps are also included:

[0010] Step 11, extracting obstacle boundaries;

[0011] Based on the basic size information of the obstacle, a buffer size is reserved for the vehicle in front of the obstacle to form the obstacle boundary;

[0012] Step 12, dilate obstacles and road boundaries;

[0013] The width of the vehicle is reduced to 0, the obstacle boundary expands on both sides in the width direction, and the road boundary shrinks on both sides in the width direction;

[0014] Step 13, integrating the expansion boundary;

[0015] If the expanded obstacle boundary has a portion that exceeds the road boundary, when integrating the obstacle boundary, the intersecting portion is subtracted from the road boundary, and the remaining road boundary forms a new integrated boundary;

[0016] If the expanded obstacle boundary is completely within the road boundary, the new integrated boundary will completely contain the obstacle boundary, but the area within the obstacle boundary will be excluded from the drivable area selection range;

[0017] If the obstacle boundary is outside the road boundary, the obstacle boundary is ignored.

[0018] Furthermore, in step 2, the following steps are also included:

[0019] Step 21, extracting the connection relationship of the connection points from the integration boundary to form a connection point list and numbering it;

[0020] The connection relationship includes the connection point number, the location coordinates of the connection point, the actual driving distance cost G from the starting point to the point, the Euclidean distance heuristic cost H from the point to the end point, the total cost F as the sum of the actual cost G and the heuristic cost, and the connection relationship of the array of connection point numbers connected to the point.

[0021] Step 22: Apply the Delaunay triangulation algorithm to the vertex coordinates and connection relationships of the integrated boundary, and output a triangle connection relationship list.

[0022] Furthermore, in step 3, the following steps are also included:

[0023] Step 31, obtaining a triangle connection relationship list;

[0024] Step 32, determine the starting and ending points of the rough path planning;

[0025] The starting point is the forwardmost point on the vehicle line segment along the forward direction, and the end point is the rearmost point of the triangle in the forward direction;

[0026] Step 33: Input the triangle connection relationship and vertex coordinates into the improved triangle A-star algorithm to perform path planning and obtain a rough connection line path.

[0027] Furthermore, in step 4, the following steps are also included:

[0028] Step 41, obtaining a rough connection line path;

[0029] Step 42, separating the path into a triangle edge list through a rough connection line;

[0030] Step 43: Integrate the triangles of the drivable area to form a polygon, and output the polygonal drivable area with a connection relationship.

[0031] Furthermore, in step 33, the path planning adopts an improved triangle A-star algorithm;

[0032] The improved triangle A-star algorithm comprises the following steps:

[0033] Step 331, obtain input: starting and ending points, triangle connection relationship list, and vertex coordinate list;

[0034] Step 332: Create an empty list of connection line path points and an empty list of unreachable points;

[0035] Step 333: Initialize the total cost costF, the heuristic cost costH, and the actual cost costG of the starting point to 0;

[0036] Step 334, set the starting point as the current point, and add the current point to the list of connecting line path points;

[0037] Step 335: If the current point is not the end point:

[0038] Step 3351, obtain the connection point:

[0039] a. Search for a triangle in the triangle connection relationship list, the vertices of which include the current point;

[0040] b. Remove the current point from the searched triangle vertices and add it to the connection point list. Then, take the union of the connection point list and remove duplicate vertices.

[0041] Step 3352, connection point traversal: For each connection point in the connection point list:

[0042] a. If the connection point is an end point:

[0043] i. Add the point to the list of connecting line path points;

[0044] ii. Output the list of connecting line path points;

[0045] b. If the connection point is in the unreachable point list:

[0046] Repeat step 3352 to traverse the next vertex;

[0047] c. If the connection point is not in the unreachable point list:

[0048] Update connection point cost:

[0049] i. Update the actual cost of the connection point costG = the actual cost of the current point + the Euclidean distance between the connection point and the current point;

[0050] ii. Update the heuristic cost costH of the connection point = the Euclidean distance from the connection point to the end point;

[0051] iii. Update the total cost of the connection point costF = the actual cost of the connection point costG + the heuristic cost costH of the connection point;

[0052] d. If the connection point is the last connection point in the connection point list:

[0053] i. Take the connection point with the smallest total cost as the current point;

[0054] ii. Add the current point and the original current point to the unreachable point list;

[0055] iii. Add the current point to the list of connecting line path points;

[0056] Step 336: If the destination is not in the list of connecting line paths:

[0057] Add the end point to the list of connecting line path points;

[0058] Step 337: Output the list of connection line path points.

[0059] Furthermore, in step 42, a triangle edge list TOP is generated, which specifically includes the following steps:

[0060] Step 421, initialize the triangle edge list TOP to empty;

[0061] Step 422, traverse any triangle j in the triangle connection relationship list DelauT:

[0062] If the two vertices of the starting edge are both vertices of triangle j, and the triangle contains this edge, then add the number j of this triangle to the TOP of the triangle edge list;

[0063] If the two vertices of the end edge are both vertices of triangle j, and the triangle contains this edge, then add the number j of this triangle to the TOP of the triangle edge list;

[0064] The starting edge is the edge that contains the starting point in the link path, and the ending edge is the edge that contains the ending point in the link path;

[0065] Step 423: The triangle edge list ST does not contain the triangle edge of the starting point or the ending point as the passing point edge, and traverse any triangle j in the triangle connection relationship list DelauT;

[0066] If any point in the waypoint edge is a vertex of triangle j, triangle j is considered to be a drivable area, and the number j of this triangle is added to the TOP of the triangle edge list;

[0067] Step 424: Remove duplicate triangle numbers in the triangle edge list TOP.

[0068] Furthermore, in step 43, the polygonal drivable area is represented by a connection relationship list POLY;

[0069] The connection relationship list POLY removes the edges shared by any two triangles in the triangle edge list TOP to form a polygonal area border.

[0070] The beneficial effects achieved by the present invention are:

[0071] The present invention can provide a safe driving area for the vehicle. Figure 9 Take the two-lane driving scenario in the example. The ego vehicle (ego) has a preceding vehicle (Preceding) in its own lane, and a leader and a follower in the left lane. When the preceding vehicle (Preceding) is slower than the ego vehicle, the ego vehicle gradually catches up with the preceding vehicle (Preceding). Assuming that the distance between the two vehicles in the left lane is wide enough, to ensure the safety and traffic efficiency of the ego vehicle, it is necessary to change lanes to the left. The present invention can provide an area composed of the Delaunay triangle in which the ego vehicle can change lanes to the left. Based on this area constraint, the trajectory planning system can plan the trajectory of the ego vehicle's lane change.

[0072] This invention effectively reduces computing power consumption and improves efficiency. When forming a drivable area, processing triangles covering a larger area results in a much smaller number of triangles than grids, point clouds, or pixels covering a smaller area. Therefore, when computers process the same road surface information, this invention provides a more even distribution of areas and less redundant information, reducing data storage and processing overhead.

[0073] The present invention facilitates efficient planning of smooth trajectories. Delaunay triangulation provides a sparse and uniform grid, which facilitates the implementation of efficient path search algorithms, thereby improving the efficiency of path planning. Furthermore, because Delaunay triangulation tends to generate relatively uniform triangles without overly narrow and long triangles, it facilitates the calculation of smoother paths and reduces sharp turns along the path.

[0074] The present invention has a better visualization effect for the drivable area. Compared with the small coverage grid, point cloud or pixel, the drivable area composed of triangles with a larger coverage area can intuitively and clearly show the range where the vehicle can safely drive. BRIEF DESCRIPTION OF THE DRAWINGS

[0075] Figure 1 The present invention provides a flow chart of a method for generating a drivable area for trajectory planning of an autonomous vehicle;

[0076] Figure 2 Schematic diagram of the road condition in Example 1;

[0077] Figure 3 Schematic diagram of obstacle boundary size in Example 1;

[0078] Figure 4 Schematic diagram of obstacle boundary expansion in Example 1;

[0079] Figure 5 A schematic diagram of generating a drivable area in Example 1;

[0080] Figure 6 A schematic diagram of the extraction of connection point coordinates and connection relationships for extracting the integration boundary in Example 1;

[0081] Figure 7 Schematic diagram of the Delaunay triangular mesh within the final output integration boundary in Example 1;

[0082] Figure 8 This is a flow chart of the A* algorithm in step 3 of the present invention;

[0083] Figure 9 This is a schematic diagram of a polygonal drivable area in Example 1;

[0084] Figure 10Schematic diagram of the road condition in Example 2;

[0085] Figure 11 This is a schematic diagram of generating an expansion boundary in Example 2;

[0086] Figure 12 A schematic diagram of generating a drivable area in Example 2;

[0087] Figure 13 Schematic diagram of outputting the Delaunay triangular mesh within the integration boundary in Example 2;

[0088] Figure 14 A schematic diagram of generating a rough triangle edge path in Example 2;

[0089] Figure 15 This is a schematic diagram of the polygonal drivable area in Example 2;

[0090] Figure 16 Schematic diagram of a scenario according to an embodiment of the present invention. DETAILED DESCRIPTION

[0091] The present invention will be further described below with reference to specific embodiments, and the advantages and features of the present invention will become clearer as the description proceeds. However, these embodiments are merely exemplary and do not constitute any limitation to the scope of the present invention. It should be understood by those skilled in the art that the details and forms of the technical solutions of the present invention may be modified or replaced without departing from the spirit and scope of the present invention, and such modifications and replacements fall within the scope of protection of the present invention.

[0092] Example 1

[0093] like Figure 1 As shown, the present invention provides a method for generating a drivable area for autonomous vehicle trajectory planning, and the drivable area generation method includes the following steps:

[0094] Step 1: Extract and expand obstacles and road boundaries;

[0095] Specifically, extracting and expanding obstacles and road boundaries also includes the following steps:

[0096] Step 11: Extract obstacle boundaries.

[0097] Boundary refers to a clear boundary formed around an obstacle. Road boundary refers to the boundary used to define the edge of the road, and obstacle boundary refers to the boundary formed around a moving or stationary obstacle. Figure 2 shown.

[0098] Figure 2The large thick solid line is the boundary, and the present invention regards all boundaries as rectangular frames. The road boundary is composed of the edges on both sides of the road obtained from the radar and high-precision map, as well as the forward and backward perception boundaries of the vehicle. In the generation of the obstacle boundary line, the vehicle and all surrounding vehicles and obstacles are taken into account. The generation of its boundary requires the vehicle to obtain the vehicle's position and basic size information from the radar, high-precision map, and positioning module, and project it onto the bird's-eye view. On the basis of the basic size information of the obstacle, that is, the length L and width W of the vehicle, in order to ensure the safety of the vehicle's driving, the buffer length dL and width dW of the obstacle vehicle are reserved, and finally the obstacle boundary is formed. Figure 3 The thin lines in the figure are the basic dimensions of the obstacle, and the thick lines are the boundary lines of the obstacle. This completes the extraction of the obstacle boundary.

[0099] Step 12: Dilate the obstacle boundary.

[0100] The expansion of the obstacle boundary and the road boundary is performed in the width direction. The specific method is: the width of the vehicle is reduced to 0, the obstacle boundary is expanded by (W+dW) / 2 on both sides in the width direction, and the road boundary is contracted by (W+dW) / 2 on both sides in the width direction. The obstacle boundary expansion method is as follows Figure 4 , the thick solid line is the expansion boundary, thus completing the expansion of the obstacle and road boundaries.

[0101] Step 13: Integrate the expanded boundary. If the expanded obstacle boundary has a portion that exceeds the road boundary, when integrating the obstacle boundary, if the obstacle 1 boundary and the road boundary have an intersection, the intersection will be subtracted from the road boundary, and the remaining road boundary will form a new integrated boundary; if the obstacle 2 boundary is completely within the road boundary, the new integrated boundary will completely include the obstacle boundary, but the area within the obstacle 2 boundary will be excluded from the drivable area selection range; if the obstacle 3 boundary is outside the road boundary, the obstacle boundary can be ignored. The final effect is as follows Figure 5 .

[0102] Step 2: forming a Delaunay triangulation mesh;

[0103] The following steps are also included in forming the Delaunay triangle mesh:

[0104] Step 21 : extract the coordinates of the connection points and the connection relationships of the integrated boundary from step 1 to form a connection point list and number it.

[0105] A connection point is a 2D point representing the vertices that connect to form the integrated bounding box. Each pair of vertices is connected to form part of the integrated bounding box, creating a connection relationship between them. The data structure for a connection point is similar to that of a coarse path node, including the connection point number, the connection point's location coordinates, the actual cost costG from the starting point to the point, the Euclidean distance heuristic cost costH from the point to the end point, the total cost costF, which is the sum of the actual cost costG and the heuristic cost costH, and an array of connection points connected to the point.

[0106] If vertex 1 and vertex 2 are connected and form a line segment of the integration boundary, then vertices 1 and 2 have a connection relationship; if vertex 1 and vertex 3 are connected and do not form a line segment of the integration boundary, but the line segment crosses the integration boundary area, then vertices 1 and 3 do not have a connection relationship. Figure 6 The connection relationship list is [1 2; 2 3; 3 4; 4 5; 5 6; 6 7; 7 8; 8 1; 9 10; 1112; 12 13; 13 14; 14 11;]

[0107] Step 22: Delaunay triangulation is performed on the vertex coordinates and connectivity relationships of the integrated boundary to output a triangular mesh. The constrained Delaunay triangulation algorithm is used with Matlab's delaunayTriangulation function, and the following vertex coordinate list P and connectivity constraint list C are input:

[0108] P = [x1 y1; x2 y2; ...; xi yi; ...; x13 y13; x14 y14; ];

[0109] C=[1 2; 2 3; 3 4; 4 5; 5 6; 6 7; 7 8; 8 1; 9 10; 11 12; 12 13; 13 14; 14 11;];

[0110] The vertex numbers correspond to the row numbers of P, and each row of C consists of two vertex numbers, indicating the connection relationship between the vertices.

[0111] The output triangle connectivity list consists of the three vertex numbers that make up the triangle:

[0112] DelauT=[3 1 9; 9 8 10; 8 9 1; 3 9 10; 11 3 10; 2 1 3; 11 4 3; 8 14 10; 6 54; 10 14 11; 12 6 4; 8 7 14; 11 12 4; 13 7 12; 12 7 6; 13 14 7];

[0114] The final output of the Delaunay triangular mesh within the integration boundary is as follows Figure 7 .

[0115] Step 3, forming a rough triangle edge path;

[0116] The triangle edge path is a path that starts from the starting point and follows the edges of the triangle mesh within the integration boundary. It includes the following steps:

[0117] Step 31: Obtain the triangle connection relationship list output from step 2.

[0118] Step 32: Determine the starting and ending points of the rough path planning. The starting point is generally the frontmost point on the vehicle line segment along the forward direction, such as Figure 6 The end point is the point of the triangle that is farthest back in the forward direction, such as Figure 6 The middle triangle [12 6 7] can be set to point 6 here.

[0119] Step 33: Input the triangle connection relationship list DelauT and the vertex coordinate list P into the improved triangle A-star algorithm (Tri-A*) to perform path planning and obtain a rough connection line path.

[0120] The traditional A* algorithm is used on a chessboard. When traversing a node, the A* algorithm traverses the 8 grids connected to the node in the 3*3 chessboard except the current node.

[0121] The object of the improved triangle A-star algorithm proposed in the present invention is a point. A point is connected to other points in a triangular mesh formed by Delaunay triangulation to form a triangle edge. When the improved triangle A-star algorithm traverses a node, it traverses the points that are connected to the current node to form a triangle edge.

[0122] The rough connection line path is the list of points that need to be passed from the starting point to the end point. The process is as follows Figure 8 , specifically including the following steps:

[0123] Step 331, obtain input: starting and ending points, triangle connection relationship list, and vertex coordinate list;

[0124] Step 332: Create an empty list of connection line path points and an empty list of unreachable points;

[0125] Step 333: Initialize the total cost costF, the heuristic cost costH, and the actual cost costG of the starting point to 0;

[0126] Step 334, set the starting point as the current point, and add the current point to the list of connecting line path points;

[0127] Step 335: If the current point is not the end point:

[0128] Step 3351, obtain the connection point:

[0129] a. Search for a triangle in the triangle connection relationship list, the vertices of which include the current point;

[0130] b. Remove the current point from the searched triangle vertices and add it to the connection point list. Then, take the union of the connection point list and remove duplicate vertices.

[0131] Step 3352, connection point traversal: For each connection point in the connection point list:

[0132] a. If the connection point is an end point:

[0133] i. Add the point to the list of connecting line path points;

[0134] ii. Output the list of connecting line path points;

[0135] b. If the connection point is in the unreachable point list:

[0136] Repeat step 3352 to traverse the next vertex;

[0137] c. If the connection point is not in the unreachable point list:

[0138] Update connection point cost:

[0139] i. Update the actual cost of the connection point costG = the actual cost of the current point + the Euclidean distance between the connection point and the current point;

[0140] ii. Update the heuristic cost costH of the connection point = the Euclidean distance from the connection point to the end point;

[0141] iii. Update the total cost of the connection point costF = the actual cost of the connection point costG + the heuristic cost costH of the connection point;

[0142] d. If the connection point is the last connection point in the connection point list:

[0143] i. Take the connection point with the smallest total cost as the current point;

[0144] ii. Add the current point and the original current point to the unreachable point list;

[0145] iii. Add the current point to the list of connecting line path points;

[0146] Step 336: If the destination is not in the list of connecting line paths:

[0147] Add the end point to the list of connecting line path points;

[0148] Step 337: Output the list of connection line path points.

[0149] The pseudo code of the algorithm is as follows. The final output connection line path is [10 11 12 6], that is, Figure 7 The unreachable point list stores all the connection points after traversal to prevent the connection points that have been traversed from being traversed again.

[0150]

[0151]

[0152] Step 4: Integrate the triangle edges to form a drivable area.

[0153] Integrating the triangle edges to form a drivable area also includes the following steps:

[0154] Step 41, obtaining the rough connection line path in step 3.

[0155] Step 42: Extract the triangles that make up the drivable area. Separate the rough connection line path [10 11 126] into a triangle edge list ST, which is [10 11; 11 12; 12 6]. Obtain the triangle edge list TOP by comparing the triangle list ST with the triangle connectivity list DelauT.

[0156] Each triangle in the triangle edge list TOP must contain at least one line segment from the connected line path. Since each triangle is formed by the previous Delaunay triangle partitioning, the method of representing or labeling triangles is: using the row number of the connection relationship list DelauT output by the partitioning.

[0157] Each row of the connection relationship list DelauT has 3 columns, each column stores the number of a triangle point, that is, a triangle consists of 3 vertex numbers when defining Delaunay triangulation. Each edge in the triangle edge list ST consists of 2 vertex numbers when defining Delaunay triangulation.

[0158] To generate the triangle edge list TOP, the following steps are included:

[0159] Step 421, initialize the triangle edge list TOP to empty;

[0160] Step 422: The starting edge is the triangle edge that includes the starting point, and the ending edge is the triangle edge that includes the ending point. In this embodiment, for the triangle edge list ST, the starting edge is 10 11 and the ending edge is 12 6:

[0161] Traverse any triangle j in the triangle connectivity list DelauT:

[0162] If the two vertices of the starting edge are both vertices of triangle j, and the triangle contains this edge, then add the number j of this triangle to the TOP of the triangle edge list;

[0163] If the two vertices of the end edge are both vertices of triangle j, and the triangle contains this edge, then add the number j of this triangle to the TOP of the triangle edge list;

[0164] Step 423: The triangle edge list ST does not contain the triangle edge of the starting point or the end point as the waypoint edge. For the waypoint edge in the triangle edge list ST:

[0165] Traverse any triangle j in the triangle connectivity list DelauT:

[0166] If any point in the waypoint edge is a vertex of triangle j, triangle j is considered to be a drivable area, and the number j of this triangle is added to the TOP of the triangle edge list;

[0167] Step 424: Remove duplicate triangle numbers in the triangle edge list TOP.

[0168] Step 43: Integrate the triangles in the drivable area to form polygons, and output the polygonal drivable area with connectivity. The POLY form of the polygonal area connectivity list is similar to the constraint matrix C, that is, each row consists of the numbers of two connected vertices, indicating that the two vertices are connected by an edge.

[0169] The POLY data is used to list the connection relationships of the drivable area border, remove the edges shared by every two triangles in the triangle edge list TOP, and form a polygonal area border.

[0170] In this embodiment, POLY=[10 3; 3 4; 4 6; 6 7; 7 12; 12 11; 11 14; 10 14;], as follows Figure 9 Polygonal area covered in medium black.

[0171] Example 2

[0172] In this embodiment, the example road conditions are as follows Figure 10 .

[0173] Step 1: Taking the actual outlines of obstacles and road boundaries extracted from the sensor as input, the obstacles and road boundaries are extracted and expanded.

[0174] Step 11: The actual outlines of obstacles and road boundaries are extracted from the sensor module and projected onto the bird's-eye view image. Figure 10: The box in the lower left corner is the outline of the vehicle, and the remaining boxes are the outlines of the surrounding vehicles; the dotted line is the lane boundary, and the solid line is the road boundary.

[0175] Step 12: Based on the lateral size of the vehicle, i.e., half of the vehicle width, the contours on both sides of the surrounding vehicle are expanded outward by half of the vehicle width, and the road boundary lines on both sides are contracted toward the lane boundary by half of the vehicle width; after expansion, the upper left corner, upper right corner, and lower right corner of the surrounding vehicle boundary all exceed the lane boundary line on one side, and the dotted lines on both sides of the lane boundary are the expanded road boundary lines, as shown in the following figure. Figure 11 .

[0176] Step 13: Integrate the expanded boundaries. Since the upper left corner, upper right corner, and lower right corner of the vehicle boundary all exceed the lane boundary line on one side after expansion and intersect with the expanded road boundary line, in the area of ​​the vehicle contour, the part exceeding the expanded road boundary line is ignored, and the part within the expanded road boundary line is combined with the road boundary line; the result is as follows: Figure 12 The medium thick solid line is the expansion boundary.

[0177] Step 2: Using a general or constrained Delaunay triangulation algorithm as the main algorithm, a triangular mesh is formed.

[0178] Step 21, extract the connection point coordinates and connection relationships from the expansion boundary of step 1 to form a connection point list and number them. The result is as follows Figure 12 .

[0179] Step 22: Input the points in the connection point list and their connection relationships, and the points in the ego-vehicle line segment and their connection relationships as nodes. The order of the connection point numbers can be arbitrary, i.e., [1 2 3 4 5 6…16 17 18]. If the constrained Delaunay triangulation algorithm is used, where the connection relationship of the expansion boundary is used as the constraint input, the order of the connection point numbers is [1 2 3 4 5 6…16]. Ego-vehicle connection points 17 and 18 are not constraints and do not need to be input. Output the triangular mesh, such as Figure 13 .

[0180] Step 3, forming a rough triangle edge path;

[0181] Step 31, obtain the connection relationship list of each triangle from the triangular mesh of the second sub-method, and at the same time extract the connection point coordinates and connection relationships from the expansion boundary of step 1 to form a connection point list, whose data structure includes the connection point number, the position coordinates of the connection point, the actual driving distance cost costG from the starting point to the point, the Euclidean distance heuristic cost costH from the point to the end point, the total cost costF with the sum of the actual cost costG and the heuristic cost, and the connection relationship of the array of connection point numbers connected to the point; wherein the actual cost costG, the heuristic cost costH and the total cost costF are all initialized to 0.

[0182] Step 32: Determine the starting and ending points of the rough path planning from the output of the upper decision system. The starting point is generally the front point on the vehicle line segment along the forward direction, such as Figure 12 The midpoint is 18; the end point is generally the rear boundary point closest to the front obstacle of the target lane output by the decision system, such as Figure 12 Midpoint 6.

[0183] Step 33: Input the connection point list and its midpoint into the improved Tri-A* algorithm to perform path planning and obtain a rough connection line path. The planning process is as follows: Figure 8 ; Output rough path such as Figure 14 , the rough path point list is [18 14 6], and the numbers are all connection point numbers.

[0184] Step 4: Based on the rough path point list, integrate the triangle edges to form a drivable area.

[0185] Step 41 : Obtain a list of connection relationships of each edge of the triangle mesh corresponding to each path point from the connection point numbers of the rough path list of the third sub-method.

[0186] Step 42, take the connection relationship of each triangle of the triangular mesh, such as triangles [5 17 18] and [1814 15], and compare it with the obtained path connection relationship [18 14 6]; because the vertex of triangle [18 14 15] shares at least two connection points with the connection line path [1814 6], the triangle belongs to the drivable area; and because the vertex of triangle [5 17 18] shares only one connection point with the connection line path [18 14 6], the triangle does not belong to the drivable area.

[0187] Step 43, integrate the triangles of the drivable area to form polygons, and output the polygonal drivable area with a connection relationship: after step 42, the drivable area is composed of triangles [[18 14 15]; [18 145]; [5 14 6]; [14 13 6]]; the result is as follows Figure 15 Black area.

[0188] The present invention can provide a safe driving area for the vehicle. Figure 16 Take the two-lane driving scenario in the example. The ego vehicle (ego) has a preceding vehicle (Preceding) in its own lane, and a leader and a follower in the left lane. When the preceding vehicle (Preceding) is slower than the ego vehicle, the ego vehicle gradually catches up with the preceding vehicle (Preceding). Assuming that the distance between the two vehicles in the left lane is wide enough, to ensure the safety and traffic efficiency of the ego vehicle, it is necessary to change lanes to the left. The present invention can provide an area composed of the Delaunay triangle in which the ego vehicle can change lanes to the left. Based on this area constraint, the trajectory planning system can plan the trajectory of the ego vehicle's lane change.

[0189] This invention effectively reduces computing power consumption and improves efficiency. When forming a drivable area, processing triangles covering a larger area results in a much smaller number of triangles than grids, point clouds, or pixels covering a smaller area. Therefore, when computers process the same road surface information, this invention provides a more even distribution of areas and less redundant information, reducing data storage and processing overhead.

[0190] The present invention facilitates efficient planning of smooth trajectories. Delaunay triangulation provides a sparse and uniform grid, which facilitates the implementation of efficient path search algorithms, thereby improving the efficiency of path planning. Furthermore, because Delaunay triangulation tends to generate relatively uniform triangles without overly narrow and long triangles, it facilitates the calculation of smoother paths and reduces sharp turns along the path.

[0191] The present invention has a better visualization effect for the drivable area. Compared with the small coverage grid, point cloud or pixel, the drivable area composed of triangles with a larger coverage area can intuitively and clearly show the range where the vehicle can safely drive.

[0192] The above are only specific steps of the present invention and do not constitute any limitation to the scope of protection of the present invention; any technical solutions formed by equivalent transformation or equivalent replacement fall within the scope of protection of the present invention; the parts not elaborated in detail in the present invention belong to the common knowledge of those skilled in the art.

Claims

1. A method for generating a drivable area for autonomous vehicle trajectory planning, characterized in that: The method for generating a drivable area for autonomous vehicle trajectory planning comprises the following steps: Step 1: Extract road conditions and expand obstacles and road boundaries; Step 2: Delaunay triangulation algorithm is performed based on the dilated obstacle and road boundary to output a triangle connection relationship list and a Delaunay triangle mesh; Step 3: Based on the triangle connection relationship list and the Delaunay triangle mesh, a rough triangle edge path is generated by inputting the triangle connection relationship and vertex coordinates into the improved triangle A-star algorithm for path planning; Step 4: Integrate the triangle edges based on the rough triangle edge path to form a drivable area; In step 4, the following steps are also included: Step 41, obtaining a rough connection line path; Step 42, separating the triangle edge list of the drivable area through the rough connecting line path; Step 43: Integrate the triangles of the drivable area to form a polygon, and output the polygonal drivable area with a connection relationship; In step 42, a triangle edge list TOP is generated, which specifically includes the following steps: Step 421, initialize the triangle edge list TOP to empty; Step 422, traverse any triangle j in the triangle connection relationship list DelauT: If the two vertices of the starting edge are both vertices of triangle j, and the triangle contains this edge, then add the number j of this triangle to the TOP of the triangle edge list; If the two vertices of the end edge are both vertices of triangle j, and the triangle contains this edge, then add the number j of this triangle to the TOP of the triangle edge list; The starting edge is the edge that contains the starting point in the link path, and the ending edge is the edge that contains the ending point in the link path; Step 423: The triangle edge list ST does not contain the triangle edge of the starting point or the ending point as the passing point edge, and traverse any triangle j in the triangle connection relationship list DelauT; If any point in the waypoint edge is a vertex of triangle j, triangle j is considered to be a drivable area, and the number j of this triangle is added to the TOP of the triangle edge list; Step 424: Remove duplicate triangle numbers in the triangle edge list TOP.

2. The method for generating a drivable area for autonomous vehicle trajectory planning according to claim 1, characterized in that: In step 1, the following steps are also included: Step 11, extracting obstacle boundaries; Based on the size information of the obstacle, a buffer size is reserved for the vehicle in the obstacle to form the obstacle boundary; Step 12, dilate obstacles and road boundaries; The width of the vehicle is reduced to 0, the obstacle boundary expands on both sides in the width direction, and the road boundary shrinks on both sides in the width direction; Step 13, integrating the expansion boundary; If the expanded obstacle boundary has a portion that exceeds the road boundary, when integrating the obstacle boundary, the intersecting portion is subtracted from the road boundary, and the remaining road boundary forms a new integrated boundary; If the expanded obstacle boundary is completely within the road boundary, the new integrated boundary will completely contain the obstacle boundary, but the area within the obstacle boundary will be excluded from the drivable area selection range; If the obstacle boundary is outside the road boundary, the obstacle boundary is ignored.

3. The method for generating a drivable area for autonomous vehicle trajectory planning according to claim 1, characterized in that: In step 2, the following steps are also included: Step 21, extracting the connection relationship of the connection points from the integration boundary to form a connection point list and numbering it; The connection relationship includes the connection point number, the location coordinates of the connection point, the actual driving distance cost G from the starting point to the point, the Euclidean distance heuristic cost H from the point to the end point, the total cost F as the sum of the actual cost G and the heuristic cost, and the connection relationship of the array of connection point numbers connected to the point. Step 22: Apply the Delaunay triangulation algorithm to the vertex coordinates and connection relationships of the integrated boundary, and output a triangle connection relationship list.

4. The method for generating a drivable area for autonomous vehicle trajectory planning according to claim 3, characterized in that: In step 3, the following steps are also included: Step 31, obtaining a triangle connection relationship list; Step 32, determine the starting and ending points of the rough path planning; The starting point is the forwardmost point on the vehicle line segment along the forward direction, and the end point is the rearmost point of the triangle in the forward direction; Step 33: Input the triangle connection relationship and vertex coordinates into the improved triangle A-star algorithm to perform path planning and obtain a rough connection line path.

5. The method for generating a drivable area for autonomous vehicle trajectory planning according to claim 4, characterized in that: In step 33, the path planning adopts the improved triangle A-star algorithm; The improved triangle A-star algorithm comprises the following steps: Step 331, obtain input: starting and ending points, triangle connection relationship list, and vertex coordinate list; Step 332: Create an empty list of connection line path points and an empty list of unreachable points; Step 333: Initialize the total cost costF, the heuristic cost costH, and the actual cost costG of the starting point to 0; Step 334, set the starting point as the current point, and add the current point to the list of connecting line path points; Step 335: If the current point is not the end point: Step 3351, obtain the connection point: a. Search for a triangle in the triangle connection relationship list, the vertices of which include the current point; b. Remove the current point from the searched triangle vertices and add it to the connection point list. Then, take the union of the connection point list and remove duplicate vertices. Step 3352, connection point traversal: For each connection point in the connection point list: a. If the connection point is an end point: i. Add the point to the list of connecting line path points; ii. Output the list of connecting line path points; b. If the connection point is in the unreachable point list: Repeat step 3352 to traverse the next vertex; c. If the connection point is not in the unreachable point list: Update connection point cost: i. Update the actual cost of the connection point costG = the actual cost of the current point + the Euclidean distance between the connection point and the current point; ii. Update the heuristic cost costH of the connection point = the Euclidean distance from the connection point to the end point; iii. Update the total cost of the connection point costF = the actual cost of the connection point costG + the heuristic cost of the connection point costH; d. If the connection point is the last connection point in the connection point list: i. Take the connection point with the smallest total cost as the current point; ii. Add the current point and the original current point to the unreachable point list; iii. Add the current point to the list of connecting line path points; Step 336: If the destination is not in the list of connecting line paths: Add the end point to the list of connecting line path points; Step 337: Output the list of connection line path points.

6. The method for generating a drivable area for autonomous vehicle trajectory planning according to claim 1, characterized in that: In step 43, the polygonal drivable area is represented by a connection relationship list POLY; The connection relationship list POLY removes the edges shared by any two triangles in the triangle edge list TOP to form a polygonal area border.

Citation Information

Patent Citations

  • Active traction control method for three-section marshalling virtual rail train

    CN110244731A

  • Method and system for determining drivable area and automatic driving vehicle

    CN115205823A

  • Method and device for determining drivable area under BEV visual angle

    CN116343155A

  • Method and device for determining drivable area, equipment, storage medium and vehicle

    CN116620294A

  • A* algorithm-based incremental path planning method and A* algorithm-based incremental path planning system for companion robot

    CN109059924A