Method and device for generating a U-turn lane, computer-readable storage medium, terminal

By constructing a heuristic cost function and combining kinematics, obstacle avoidance, and endpoint orientation constraints, an accurate, safe, and stable U-turn lane is generated, solving the instability and safety issues of autonomous vehicles making U-turns at urban road intersections and adapting to the turning radius requirements of different vehicle models.

CN114637284BActive Publication Date: 2025-11-18SHANGHAI XIANTU INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210096651.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-01-26
Publication Date
2025-11-18
Estimated Expiration
2042-01-26

AI Technical Summary

Technical Problem

When existing autonomous vehicles make U-turns at urban road intersections, conventional path search algorithms are easily affected by the surrounding environment and obstacles, resulting in unstable and unsafe U-turn lanes. Relying on high-precision semantic maps does not take into account the turning radii of different vehicle models, leading to inaccurate lanes.

Method used

A heuristic cost function is constructed, which is combined with kinematic constraints, obstacle avoidance constraints and endpoint orientation constraints. The Dubins curve and Rieship curve are used to solve the function, and the A* algorithm is employed to generate accurate, safe and stable U-turn lanes.

Benefits of technology

It enables the automatic and real-time generation of accurate, safe, and stable U-turn lanes based on the vehicle's turning radius and the environment, thereby improving the safety and stability of autonomous vehicles.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114637284B_ABST
    Figure CN114637284B_ABST
Patent Text Reader

Abstract

A method and device for generating a U-turn lane, a computer readable storage medium and a terminal, the method comprising: determining a start point position and a start orientation angle, a terminal point position and a terminal orientation angle of a vehicle, and determining a turning radius of the vehicle; constructing a heuristic cost function, the heuristic cost function being a weighted sum of one or more heuristic functions: a first heuristic function under kinematic constraints, the first heuristic function being constructed based on the turning radius; a second heuristic function under obstacle avoidance constraints, the second heuristic function being constructed based on at least the start point position and the start orientation angle, the terminal point position and the terminal orientation angle; a third heuristic function under terminal point orientation constraints, the third heuristic function being constructed based on the start point position and the start orientation angle, the terminal point position and the terminal orientation angle; and determining a U-turn lane based on the constructed heuristic cost function. The present application can automatically and in real time generate an accurate, safe and stable U-turn lane.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of autonomous driving technology, and in particular to a method and apparatus for generating U-turn lanes, a computer-readable storage medium, and a terminal. Background Technology

[0002] In the field of intelligent driving technology, lane markings are a crucial foundation for the operation of autonomous vehicles. This is especially true for autonomous sanitation vehicles (such as intelligent sweepers). Currently, most autonomous sanitation applications are located on urban roads, constrained by traffic rules and oncoming vehicles. Intelligent sweepers primarily plan their routes and cleaning based on fixed lanes, frequently requiring U-turns during the cleaning process. Therefore, generating U-turn lanes for autonomous vehicles has become an important research topic.

[0003] In existing technologies, autonomous vehicles typically employ two methods to make U-turns at urban intersections: The first method does not rely on high-precision semantic maps. Instead, it uses conventional path-finding algorithms to search for a U-turn path based solely on the starting and ending points. The autonomous vehicle then follows this path. However, this method is heavily influenced by the surrounding real-time environment and obstacles, potentially leading to issues such as failure to find a path or an unstable and unsafe path. The second method relies on high-precision semantic maps. However, existing high-precision semantic maps used for urban roads generally lack markings for U-turn lanes or are generated based solely on passenger vehicle models. Therefore, the generated U-turn lanes may be too long or too short, failing to accurately accommodate vehicles of different sizes and types. This is especially problematic for unmanned cleaning vehicles, which range from large to medium to small sizes. Therefore, both excessively small and excessively large turning radii can cause stability and safety issues.

[0004] Therefore, there is an urgent need for a method to generate U-turn lanes that can automatically and in real time generate accurate, safe, and stable U-turn lanes based on the vehicle's turning radius and the drivable area of ​​the road during the autonomous driving process. Summary of the Invention

[0005] The technical problem solved by this invention is that existing U-turn lanes generated by conventional path search algorithms based solely on the starting and ending points are easily affected by the surrounding real-time environment and obstacles, resulting in insufficient stability and safety; or they rely on high-precision semantic maps without considering different vehicle types (vehicle turning radii), leading to inaccurate and unsafe U-turn lanes.

[0006] To address the aforementioned technical problems, this invention provides a method for generating U-turn lanes, comprising the following steps: determining the position and starting orientation angle of a vehicle's starting point, the position and ending orientation angle of its ending point, and the turning radius of the vehicle; constructing a heuristic cost function, wherein the heuristic cost function is a weighted sum of one or more of the following heuristic functions: a first heuristic function under kinematic constraints, wherein the first heuristic function is constructed based on the turning radius; a second heuristic function under obstacle avoidance constraints, wherein the second heuristic function is constructed at least based on the position and starting orientation angle of the starting point and the position and ending orientation angle of the ending point; and a third heuristic function under endpoint orientation constraints, wherein the third heuristic function is constructed based on the position and starting orientation angle of the starting point and the position and ending orientation angle of the ending point; and determining a U-turn lane based on the constructed heuristic cost function.

[0007] Optionally, the first heuristic function is constructed based on the turning radius using the Dubins curve solving function and the Reeds_Shepp curve solving function.

[0008] Optionally, the first heuristic function can be constructed using the following formula:

[0009] constrained_cost=max{Dubins(κ,δ,Sample_d),Reeds_Shepp(κ,δ,Sample_d)};

[0010] Wherein, constrained_cost represents the function value of the first heuristic function, κ represents the maximum curvature, i.e., 1 / min_R, δ represents the maximum curvature change value, i.e., 1 / min_R, min_R represents the turning radius, sample_d represents the sampling distance, Dubins() represents the Dubins curve solving function, Reeds_Shepp() represents the Reeds_Shepp curve solving function, and max{} represents the maximum value solving function.

[0011] Optionally, the second heuristic function is constructed using a path search algorithm based on the position and starting orientation angle of the starting point, the position and ending orientation angle of the ending point, and the drivable area for turning around.

[0012] Optionally, the path search algorithm is the A* algorithm; the second heuristic function is constructed using the following formula:

[0013] astar_cost=Astar(start(x start ,y start ,θ start ),end(xend ,y end ,θ end ),occupancy_map);

[0014] Where, astar_cost represents the function value of the second heuristic function; Astar() represents the A* algorithm; start(x start ,y start ,θ start The x-coordinate is used to represent the starting point of the vehicle, which includes the x-coordinate, y-coordinate, and starting orientation angle; end(x) end ,y end ,θ end The occupancy_map is a two-dimensional array used to represent the drivable area for U-turns. It contains the x-coordinate, y-coordinate, and occupancy angle of the occupancy point.

[0015] Optionally, before constructing the second heuristic function, the method further includes: determining the drivable area for U-turns based on a lane line map.

[0016] Optionally, determining the U-turn drivable area based on the lane map includes: obtaining static drivable area and conflict lane information based on the default U-turn lane loaded from the lane map; and generating the U-turn drivable area based on the static drivable area and conflict lane information.

[0017] Optionally, the third heuristic function can be constructed using the following formula:

[0018] circle_cost=min{1×α start ÷sin(α start ),1×α end ÷sin(α end )};

[0019] in:

[0020] euclidean_distance(start(x start ,y start ,θ start ),end(x end ,y end ,θ end )) = 1;

[0021] α start =arctan(△y / △x)-θ start ;

[0022] α end =arctan(△y / △x)-θ end ;

[0023] Where circle_cost represents the function value of the third heuristic function, min{} represents the function for finding the minimum value, and α start The angle α is used to represent the deflection angle from the starting orientation angle to the starting and ending vector angle. end The angle used to represent the deviation from the starting and ending vector angles to the ending orientation angle, Δx is used to represent the difference between the x-coordinate of the ending point and the x-coordinate of the starting point, i.e., x. end -x start x end The x-coordinate used to represent the endpoint. start The x-coordinate of the starting point is used to represent the x-coordinate, and Δy is used to represent the y-coordinate of the ending point and the y-coordinate of the starting point, i.e., y = 0. end -y start y end The y-coordinate used to represent the endpoint. start θ is used to represent the ordinate of the starting point. start Used to indicate the initial orientation angle, θ end The `euclidean_distance()` function is used to represent the terminating orientation angle, `arctan()` is used to represent the Euclidean distance, and `arctan()` is used to represent the arctangent function.

[0024] Optionally, the heuristic cost function is a weighted sum of the first heuristic function under the kinematic constraints, the second heuristic function under the obstacle avoidance constraints, and the third heuristic function under the endpoint orientation constraints;

[0025] The heuristic cost function is constructed using the following formula:

[0026] f=constrained_cost×k1+astar_cost×k2+circle_cost×k3;

[0027] Where f represents the cost of the heuristic cost function, constrained_cost represents the first heuristic function, k1 represents the penalty coefficient of the first heuristic function, astar_cost represents the second heuristic function, k2 represents the penalty coefficient of the second heuristic function, circle_cost represents the third heuristic function, and k3 represents the penalty coefficient of the third heuristic function.

[0028] Optionally, the heuristic cost function is constructed to satisfy one or more of the following: the weight of the first heuristic function under the kinematic constraints is greater than or equal to 1.0 and less than or equal to 1.2; the weight of the second heuristic function under the obstacle avoidance constraints is greater than or equal to 4.0 and less than or equal to 6.0; and the weight of the third heuristic function under the endpoint orientation constraints is greater than or equal to 10.0 and less than or equal to 15.0.

[0029] Optionally, determining the optimal U-turn lane based on the constructed heuristic cost function includes: using a path search algorithm to determine the optimal U-turn lane based on the constructed heuristic cost function.

[0030] Optionally, the path search algorithm is selected from: Dijkstra's algorithm, A* algorithm, and hybrid A* algorithm.

[0031] Optionally, the path search algorithm is a hybrid A* algorithm. Using the path search algorithm, based on the constructed heuristic cost function, determining the U-turn lane includes: using the vehicle's starting point as the initial node for the search, and the vehicle's ending point as the target node for the search; during each search, the point that minimizes the cost of the heuristic cost function is selected as the optimal neighbor node of the initial node, and the optimal neighbor node is selected as the initial node for the next search, until the distance between the optimal neighbor node and the target node is less than a preset threshold, at which point the search ends; the U-turn lane is generated based on the starting point, the ending point, and multiple nodes obtained at the end of the search.

[0032] This invention also provides a U-turn lane generation device, comprising:

[0033] The vehicle model parameter determination module is used to determine the starting point position and starting orientation angle, the ending point position and ending orientation angle, and the turning radius of the vehicle; the heuristic cost function construction module is used to construct a heuristic cost function, which is a weighted sum of one or more of the following heuristic functions: a first heuristic function under kinematic constraints, a second heuristic function under obstacle avoidance constraints, and a third heuristic function under endpoint orientation constraints; the U-turn lane generation module is used to determine the U-turn lane based on the constructed heuristic cost function.

[0034] This invention also provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, performs the steps of the above-described U-turn lane generation method.

[0035] This invention also provides a terminal, including a memory and a processor. The memory stores a computer program that can run on the processor. When the processor runs the computer program, it executes the steps of the above-described U-turn lane generation method.

[0036] Compared with the prior art, the technical solution of the embodiments of the present invention has the following beneficial effects:

[0037] In this embodiment of the invention, the starting point and starting orientation angle of the vehicle, the ending point and ending orientation angle, and the turning radius of the vehicle are first determined; then, a heuristic cost function is constructed, which is a weighted sum of one or more of the following heuristic functions: a first heuristic function under kinematic constraints, a second heuristic function under obstacle avoidance constraints, and a third heuristic function under endpoint orientation constraints; finally, based on the constructed heuristic cost function, the U-turn lane is determined. Compared to existing technologies that rely solely on the starting and ending points of a U-turn, conventional search algorithms for U-turn paths are susceptible to the influence of the surrounding real-time environment and obstacles, making it impossible to find stable and safe U-turn paths. Alternatively, relying on high-precision semantic maps to generate U-turn lanes based on typical passenger vehicle models may result in insufficient accuracy (potentially too long or too short) due to the lack of consideration for the turning radii of different vehicles, compromising the safety of autonomous driving. The embodiments of this invention, in addition to considering the vehicle's starting and ending points, comprehensively consider the drivable U-turn area (avoiding obstacles), the vehicle's turning radius, and the characteristics of the U-turn scenario (changes in the vehicle's orientation angle during the U-turn). Based on this, various types of heuristic functions are constructed. A heuristic cost function is then determined by a weighted sum of one or more of these heuristic functions. Finally, based on the path search algorithm and the heuristic cost function, accurate, safe, and stable U-turn lanes can be automatically and in real-time generated.

[0038] Furthermore, the first heuristic function is constructed based on the turning radius using the Dubins curve solution function and the Reeds-Shepp curve solution function. The first heuristic function satisfies kinematic constraints, which are estimated by assuming an optimal path conforming to vehicle kinematics in a collision-free environment as the cost estimate. Such a path is generated using the Dubins and Reeds-Shepp curves, and the larger of the two is taken as the function value of the first heuristic function. This ensures that the final generated U-turn lane conforms to vehicle kinematics and accurately adapts to the vehicle's turning radius, improving the accuracy and safety of the U-turn lane.

[0039] Furthermore, the second heuristic function is constructed using a path search algorithm based on the starting point's position and starting orientation angle, the ending point's position and ending orientation angle, and the drivable area for U-turns. The second heuristic function satisfies obstacle avoidance constraints. Considering obstacle collision constraints but not vehicle kinematic constraints, the path length searched by the path search algorithm is used as the function value of the second heuristic function. This ensures that the final generated U-turn lane avoids obstacles and remains entirely within the drivable area, guaranteeing the safety and stability of the U-turn lane.

[0040] Furthermore, the third heuristic function, constructed based on the position and starting orientation angle of the starting point, and the position and ending orientation angle of the ending point, is a special cost function introduced for U-turn scenarios in this embodiment of the invention. That is, without considering turning radius and obstacle constraints, but taking into account the characteristics of the U-turn scenario and the endpoint orientation constraint, it uses the arc length calculated from the intersection of the starting point, the ending point, and the extended lines of the starting and ending points as a coarse path for the U-turn. This coarse path can, to a certain extent, characterize the evaluation of angle changes during the U-turn process. Intuitively, as the vehicle travels along the arc path, its orientation angle gets closer and closer to the endpoint orientation angle. Therefore, this heuristic function is more in line with the characteristics of U-turn scenarios, enabling faster path search and improving the rationality and accuracy of the searched U-turn path.

[0041] Furthermore, employing a hybrid A* algorithm, based on the constructed heuristic cost function, the optimal U-turn lane is determined by: using the vehicle's starting point as the initial node for the search, and the vehicle's ending point as the target node; during each search, the point that minimizes the cost of the heuristic cost function is selected as the optimal neighbor of the initial node, and this optimal neighbor is used as the initial node for the next search, until the distance between the optimal neighbor and the target node is less than a preset threshold, at which point the search ends. In this way, the optimal neighbor of the current node can be determined during each search process, and by connecting the starting point, ending point, and the determined multiple neighboring nodes, an accurate, stable, and complete U-turn lane can be automatically and in real-time determined.

[0042] Furthermore, when constructing the heuristic cost function, one or more of the following conditions must be met: the weight of the first heuristic function under the kinematic constraints has a value range greater than or equal to 1.0 and less than or equal to 1.2; the weight of the second heuristic function under the obstacle avoidance constraints has a value range greater than or equal to 4.0 and less than or equal to 6.0; and the weight of the third heuristic function under the endpoint orientation constraints has a value range greater than or equal to 10.0 and less than or equal to 15.0. In this embodiment of the invention, by assigning accurate and appropriate weight values ​​to the three different heuristic functions, the accuracy, safety, and rationality of the generated U-turn lanes can be improved, as well as the U-turn efficiency can be increased. Attached Figure Description

[0043] Figure 1 This is a flowchart of a method for generating a U-turn lane in an embodiment of the present invention;

[0044] Figure 2 This is a schematic diagram of a U-turn path that satisfies kinematic constraints and is generated using a Dubins curve in an embodiment of the present invention.

[0045] Figure 3 This is a schematic diagram of a U-turn path that satisfies kinematic constraints and is generated using a Reeds_Shepp curve in an embodiment of the present invention.

[0046] Figure 4 This is a schematic diagram of a U-turn path that satisfies obstacle avoidance constraints, generated using the A* algorithm in an embodiment of the present invention.

[0047] Figure 5 This is a schematic diagram of a U-turn path that satisfies the endpoint orientation constraint without considering the turning radius in an embodiment of the present invention;

[0048] Figure 6 yes Figure 1 A flowchart of a specific implementation of step S13;

[0049] Figure 7 This is a schematic diagram of the structure of a U-turn lane generation device in an embodiment of the present invention. Detailed Implementation

[0050] As mentioned earlier, in the field of intelligent driving technology, how to generate U-turn lanes for autonomous vehicles when making U-turns has become an important research topic.

[0051] In existing technologies, when autonomous vehicles make U-turns at urban road intersections, two methods are typically used: The first method does not rely on high-precision semantic maps, but only uses conventional path search algorithms to search for a U-turn path based on the starting point and the ending point after the U-turn, and the autonomous vehicle makes the U-turn according to the trajectory generated by this path; the second method relies on the default lane loaded in the high-precision semantic map to make the U-turn.

[0052] The inventors of this invention discovered through research that U-turn paths searched solely based on starting and ending points using conventional path search algorithms are significantly affected by the surrounding real-time environment and obstacles, potentially leading to the inability to find a path or to find a path that is not stable or safe. Furthermore, existing high-precision semantic maps used for urban roads generally do not identify U-turn lanes or are generated only based on the type of passenger vehicles. Therefore, the generated U-turn lanes may not accurately adapt to vehicles of different sizes or types, which may also lead to stability and safety issues.

[0053] In this embodiment of the invention, the starting point and starting orientation angle of the vehicle, the ending point and ending orientation angle, and the turning radius of the vehicle are first determined; then, a heuristic cost function is constructed, which is a weighted sum of one or more of the following heuristic functions: a first heuristic function under kinematic constraints, a second heuristic function under obstacle avoidance constraints, and a third heuristic function under endpoint orientation constraints; finally, based on the constructed heuristic cost function, the U-turn lane is determined. Compared to existing technologies that rely solely on the starting and ending points of a U-turn, conventional search algorithms for U-turn paths are susceptible to the influence of the surrounding real-time environment and obstacles, making it impossible to find stable and safe U-turn paths. Alternatively, relying on high-precision semantic maps to generate U-turn lanes based on typical passenger vehicle models may result in insufficient accuracy (potentially too long or too short) due to the lack of consideration for the turning radii of different vehicles, compromising the safety of autonomous driving. The embodiments of this invention, in addition to considering the vehicle's starting and ending points, comprehensively consider the drivable U-turn area (avoiding obstacles), the vehicle's turning radius, and the characteristics of the U-turn scenario (changes in the vehicle's orientation angle during the U-turn). Based on this, various types of heuristic functions are constructed. A heuristic cost function is then determined by a weighted sum of one or more of these heuristic functions. Finally, based on the path search algorithm and the heuristic cost function, accurate, safe, and stable U-turn lanes can be automatically and in real-time generated.

[0054] To make the above-mentioned objectives, features and beneficial effects of the present invention more apparent and understandable, specific embodiments of the present invention will be described in detail below with reference to the accompanying drawings.

[0055] Reference Figure 1 , Figure 1 This is a flowchart of a method for generating a U-turn lane according to an embodiment of the present invention. The method may include steps S11 to S13:

[0056] Step S11: Determine the starting point and starting orientation angle of the vehicle, the ending point and ending orientation angle, and the turning radius of the vehicle.

[0057] Step S12: Construct a heuristic cost function, which is a weighted sum of one or more of the following heuristic functions: a first heuristic function under kinematic constraints, a second heuristic function under obstacle avoidance constraints, and a third heuristic function under endpoint orientation constraints;

[0058] Step S13: Determine the U-turn lane based on the constructed heuristic cost function.

[0059] In the specific implementation of step S11, the starting point can be a specific location on the road before the vehicle begins to turn around, and the ending point can be a specific location after the vehicle has turned around and can continue to drive safely on the road. Both can be represented by two-dimensional spatial coordinates. The starting point and ending point can be obtained from the default lane line map. The orientation angle can be used to indicate the angle between the vehicle body and the lane line (assuming the lane is straight). Specifically, the vehicle orientation angle information can be measured by a laser sensor, an image sensor, or a combination of different sensors (e.g., a combination of lidar and a camera). Other methods can also be used to determine the vehicle orientation angle information. This embodiment of the invention does not limit the method for determining the starting and ending orientation angles of the vehicle.

[0060] In summary, the position of the starting point and the starting orientation angle can be referred to as the starting point information, which can be represented as start(x) start ,y start ,θ start ), where x start The x-coordinate used to represent the starting point, y start θ is used to represent the ordinate of the starting point. start Used to represent the starting orientation angle; the position of the ending point and the ending orientation angle can be called ending point information, which can be represented as end(x). end ,y end ,θ end ), where x end The x-coordinate used to represent the endpoint, y end θ is used to represent the ordinate of the endpoint. end Used to indicate the terminating orientation angle.

[0061] In practice, the vehicles can be various types of vehicles utilizing autonomous driving technology, such as autonomous passenger cars, autonomous trucks, autonomous sweepers, water trucks, and autonomous buses, ranging from large to medium to small vehicles. It is understood that different vehicle types often have different turning radii. For example, the turning radius of large trucks, buses, and sweepers is much larger than that of ordinary small cars. This difference in turning radius means that even in the same scenario, the appropriate U-turn path for each vehicle should be different.

[0062] It should be noted that different vehicle models have different turning radii. If the U-turn lane is not accurate enough, it may cause dangerous accidents such as slipping or overturning during the U-turn. Therefore, for safety reasons, it is necessary to consider the turning radius of vehicles when generating U-turn lanes.

[0063] The turning radius of a vehicle can refer to the distance from the center of steering to the point of contact between the front outer steering wheel and the ground during the vehicle's movement.

[0064] In one non-limiting embodiment, the minimum turning radius of the vehicle can be used as the turning radius, which can refer to the radius of the circle traced by the center of the outer steering wheel on the support plane when the steering wheel is turned to its limit and the vehicle is turning at the lowest stable speed. This largely characterizes the vehicle's ability to pass through narrow, winding areas or go around insurmountable obstacles. In another non-limiting embodiment, the average turning radius of the vehicle under several different conditions can be used as the turning radius.

[0065] Specifically, the turning radius of a vehicle can be determined by reading vehicle parameters such as length, width, wheelbase, and maximum steering wheel angle, and then using conventional calculation methods. Alternatively, the steering wheel angle can be converted into wheel angle by measuring the vehicle's gear ratio, and then the turning radius at different steering wheel angles can be calculated using the Ackerman model. Another method is to drive the vehicle in an open area marked with lines, and measure the turning radius at different steering wheel angles by reading wheel tracks based on the markings. Other methods can also be used to determine the turning radius, and this embodiment of the invention does not limit these methods.

[0066] In the specific implementation of step S12, the first heuristic function under the kinematic constraints is constructed based on the turning radius; the second heuristic function under the obstacle avoidance constraints is constructed based at least on the position and starting orientation angle of the starting point, and the position and ending orientation angle of the ending point; the third heuristic function under the endpoint orientation constraints is constructed based on the position and starting orientation angle of the starting point, and the position and ending orientation angle of the ending point.

[0067] Furthermore, the first heuristic function is constructed based on the turning radius using the Dubins curve solving function and the Reeds_Shepp curve solving function.

[0068] Furthermore, the first heuristic function is constructed using the following formula:

[0069] constrained_cost=max{Dubins(κ,δ,Sample_d),Reeds_Shepp(κ,δ,Sample_d)};

[0070] Where, constrained_cost represents the function value of the first heuristic function, κ represents the maximum curvature, i.e., 1 / min_R, δ represents the maximum curvature change value, i.e., 1 / min_R, min_R represents the turning radius, sample_d represents the sampling distance, Dubins() represents the Dubins curve solving function, Reeds_Shepp() represents the Reeds_Shepp curve solving function, and max{} represents the function for solving the maximum value.

[0071] Reference Figure 2 , Figure 2 This is a schematic diagram of a U-turn path that satisfies kinematic constraints and is generated using a Dubins curve in an embodiment of the present invention.

[0072] The rightmost small rectangular shadow represents a vehicle, and a point can be selected from the vehicle body to represent the starting point A1 of the U-turn. The small circle on the left represents the ending point B1 of the U-turn. The long strip shadow in the middle represents an obstacle. The arc between the starting point A1 and the ending point B1 represents the U-turn path that satisfies kinematic constraints and is generated using Dubins curves.

[0073] The Dubins curve is the shortest path connecting two two-dimensional planes, satisfying curvature constraints and specified tangent directions at the beginning and end points, assuming the vehicle can only travel forward. A key parameter required for generating a U-turn path satisfying kinematic constraints using the Dubins curve is the vehicle's turning radius. The specific calculation method can be a conventional method used in existing technologies, which will not be elaborated here.

[0074] Reference Figure 3 , Figure 3 This is a schematic diagram of a U-turn path that satisfies kinematic constraints and is generated using a Reeds_Shepp curve in an embodiment of the present invention.

[0075] The rightmost small rectangular shaded area represents the vehicle. A point is selected from the vehicle body to represent the starting point A2 of the U-turn. The small circle on the left represents the ending point B2 of the U-turn. The long strip shaded area in the middle represents the obstacle. Several curved lines connecting the starting point A2 and the ending point B2 represent the U-turn path that satisfies kinematic constraints and is generated using Reeds_Shepp curves.

[0076] The Reeds-Shepp curve is also a shortest path method that considers vehicle kinematics but not obstacles. However, the biggest difference between the Reeds-Shepp curve and the Dubins curve is that the latter only allows the vehicle to move forward, while the former allows both forward and backward movement. Similarly, the important parameter required for generating a U-turn path that satisfies kinematic constraints using the Reeds-Shepp curve is the vehicle's turning radius. The specific calculation method can be the conventional method used in existing technologies, which will not be elaborated here.

[0077] In this embodiment of the invention, the first heuristic function satisfies kinematic constraints. The estimation of kinematic constraints assumes that the optimal path conforming to vehicle kinematics in a collision-free environment (the shortest path without considering obstacles) is used as the cost estimate. Such a path is generated by using Dubins curves and Reeds-Shepp curves, and the larger of the two is taken as the function value of the first heuristic function. This ensures that the final generated U-turn lane conforms to vehicle kinematics and accurately adapts to the vehicle's turning radius, preventing vehicles from reaching the target from the wrong direction and improving the accuracy and safety of the U-turn lane.

[0078] Furthermore, the second heuristic function is constructed using a path search algorithm based on the position and starting orientation angle of the starting point, the position and ending orientation angle of the ending point, and the drivable area for turning around.

[0079] Furthermore, the path search algorithm is the A* algorithm; the second heuristic function is constructed using the following formula:

[0080] astar_cost=Astar(start(x start ,y start ,θ start ),end(x end ,y end ,θ end ),occupancy_map);

[0081] Where, astar_cost represents the function value of the second heuristic function; Astar() represents the A* algorithm; start(x start ,y start ,θ start The x-coordinate is used to represent the starting point of the vehicle, which includes the x-coordinate, y-coordinate, and starting orientation angle; end(x) end ,y end ,θ endThe occupancy_map is a two-dimensional array used to represent the drivable area for U-turns. It contains the x-coordinate, y-coordinate, and occupancy angle of the occupancy point.

[0082] Reference Figure 4 , Figure 4 This is a schematic diagram of a U-turn path that satisfies obstacle avoidance constraints, generated using the A* algorithm in an embodiment of the present invention.

[0083] The rightmost small rectangular shaded area represents the vehicle. A point is selected from the vehicle body to represent the starting point A3 of the U-turn. The small circle on the left represents the ending point B3 of the U-turn. The long strip shaded area in the middle represents the obstacle. The broken line between the starting point A3 and the ending point B3 represents the U-turn path that satisfies the obstacle avoidance constraints generated by the A* algorithm.

[0084] In this embodiment of the invention, the second heuristic function satisfies the obstacle avoidance constraint condition. The obstacle avoidance constraint is estimated by taking the optimal path under obstacle collision but not vehicle kinematic constraints as the cost estimate. The path length searched by the path search algorithm (such as A* algorithm) is used as the function value of the second heuristic function. This ensures that the final generated U-turn lane can avoid obstacles and be completely in the drivable area, thereby avoiding the danger caused by obstacle collision and preventing vehicles from wasting time around obstacles or in U-shaped obstacles, thus improving the safety and efficiency of U-turns.

[0085] Furthermore, before constructing the second heuristic function, the method further includes: determining the drivable area for U-turns based on a lane line map.

[0086] Furthermore, determining the U-turn drivable area based on the lane map includes: obtaining static drivable area and conflict lane information based on the default U-turn lane loaded from the lane map; and generating the U-turn drivable area based on the static drivable area and conflict lane information.

[0087] The lane map can be a commonly used intelligent electronic map applied in the field of autonomous driving technology, such as a high-precision semantic map. A high-precision semantic map can be accurate to the centimeter level and includes traffic-related surrounding static information in addition to road information. Furthermore, the high-precision semantic map also contains rich semantic information, such as the location and type of traffic lights, the type of road markings, and which road surfaces are drivable.

[0088] Furthermore, the third heuristic function is constructed based on the position of the starting point and the starting orientation angle, and the position of the ending point and the ending orientation angle.

[0089] Furthermore, the third heuristic function is constructed using the following formula:

[0090] circle_cost=min{1×α start ÷sin(α start ),1×α end ÷sin(α end )};

[0091] in:

[0092] euclidean_distance(start(x start ,y start ,θ start ),end(x end ,y end ,θ end )) = 1;

[0093] α start =arctan(△y / △x)-θ start ;

[0094] α end =arctan(△y / △x)-θ end ;

[0095] Where circle_cost represents the function value of the third heuristic function, min{} represents the function for finding the minimum value, and α start The angle α is used to represent the deflection angle from the starting orientation angle to the starting and ending vector angle. end The angle used to represent the deviation from the starting and ending vector angles to the ending orientation angle, Δx is used to represent the difference between the x-coordinate of the ending point and the x-coordinate of the starting point, i.e., x. end -x start x end The x-coordinate used to represent the endpoint. start The x-coordinate of the starting point is used to represent the x-coordinate, and Δy is used to represent the y-coordinate of the ending point and the y-coordinate of the starting point, i.e., y = 0. end -y start y end The y-coordinate used to represent the endpoint. start θ is used to represent the ordinate of the starting point. start Used to indicate the initial orientation angle, θ end The `euclidean_distance()` function is used to represent the terminating orientation angle, `arctan()` is used to represent the Euclidean distance, and `arctan()` is used to represent the arctangent function.

[0096] Reference Figure 5 , Figure 5 This is a schematic diagram of a U-turn path that satisfies the endpoint orientation constraint without considering the turning radius, according to an embodiment of the present invention.

[0097] The rightmost small rectangular shaded area represents a vehicle, and a point is selected from the vehicle body to represent the starting point A4 of the U-turn. The small circle on the left represents the ending point B4 of the U-turn. The long strip shaded area in the middle represents an obstacle. The short arc between the starting point A4 and the ending point B4 represents the U-turn path that satisfies the endpoint orientation constraint without considering the turning radius.

[0098] In this embodiment of the invention, the third heuristic function is a special cost function introduced for U-turn scenarios. Specifically, it calculates the arc length (based on the intersection of the starting point, ending point, and the extended lines of the starting and ending points) as a coarse path for the U-turn, without considering turning radius and obstacle constraints, but taking into account the characteristics of the U-turn scenario and the endpoint orientation constraint. This coarse path can characterize the evaluation of angle changes during the U-turn process to a certain extent. Intuitively, as the vehicle travels along the arc path, its orientation angle gets closer and closer to the endpoint orientation angle. Therefore, this heuristic function is more consistent with the characteristics of U-turn scenarios, enabling faster path search and improving the rationality and accuracy of the searched U-turn path.

[0099] As a non-limiting example, the heuristic cost function is a weighted sum of the first heuristic function under the kinematic constraints, the second heuristic function under the obstacle avoidance constraints, and the third heuristic function under the endpoint orientation constraints.

[0100] Furthermore, the heuristic cost function is constructed using the following formula:

[0101] f=constrained_cost×k1+astar_cost×k2+circle_cost×k3;

[0102] Where f represents the cost of the heuristic cost function, constrained_cost represents the first heuristic function, k1 represents the penalty coefficient of the first heuristic function, astar_cost represents the second heuristic function, k2 represents the penalty coefficient of the second heuristic function, circle_cost represents the third heuristic function, and k3 represents the penalty coefficient of the third heuristic function.

[0103] Furthermore, when constructing the heuristic cost function, one or more of the following conditions must be met: the weight of the first heuristic function under the kinematic constraints is greater than or equal to 1.0 and less than or equal to 1.2; the weight of the second heuristic function under the obstacle avoidance constraints is greater than or equal to 4.0 and less than or equal to 6.0; and the weight of the third heuristic function under the endpoint orientation constraints is greater than or equal to 10.0 and less than or equal to 15.0.

[0104] It should be noted that the range of weight values ​​for each heuristic function mentioned above is only listed as a non-limiting example when constructing the heuristic cost function, and is not intended to limit the range of weight values ​​for each heuristic function. In this embodiment of the invention, different weight values ​​can be set for each heuristic function according to the needs of different U-turn scenarios. By assigning accurate and appropriate weight values ​​to each heuristic function, the accuracy, safety, and efficiency of the generated U-turn lanes can be improved.

[0105] Continue to refer to Figure 1 In the specific implementation of step S13, the U-turn lane is determined based on the constructed heuristic cost function.

[0106] Reference Figure 6 , Figure 6 yes Figure 1 A flowchart illustrating a specific implementation of step S13. Determining the U-turn lane based on the constructed heuristic cost function may include steps S61 to S63.

[0107] In step S61, the starting point of the vehicle is used as the initial node for the search, and the ending point of the vehicle is used as the target node for the search.

[0108] In step S62, during each search, the point that minimizes the cost of the heuristic cost function is taken as the optimal neighbor of the initial node, and the optimal neighbor is taken as the initial node for the next search, until the search ends when the distance between the optimal neighbor and the target node is less than a preset threshold.

[0109] The search algorithm used in steps S61 and S62 above for node search is the hybrid A* algorithm.

[0110] Specifically, the Hybrid A-Star algorithm is an improved version of the A-Star algorithm, representing a highly efficient direct search method for finding the shortest path. The Hybrid A-Star algorithm can use a combination of two heuristics: one that considers kinematic constraints but not environmental obstacles (e.g., the path length to the target found in the traditional A-Star algorithm), and another that considers obstacle constraints but not kinematic constraints (e.g., the lengths of the Dubins curve and the Reeds-Shepp curve). The Hybrid A-Star algorithm selects the maximum value of the two heuristics as the final heuristic.

[0111] Understandably, the first type of heuristic, "considering kinematic constraints but not environmental obstacle constraints," is used to ensure the vehicle travels in the correct direction and prevent it from reaching the target from the wrong direction. The second type of heuristic, "ignoring kinematic constraints but considering obstacle constraints," is used to prevent wasting time around obstacles such as dead ends or U-shaped obstacles.

[0112] The heuristic information can be a type of information that guides the search algorithm, allowing it to prioritize searching regions that are likely to produce solutions. Since a larger search area results in greater computational complexity and lower efficiency, the more accurate the guidance provided by the heuristic information, the higher the algorithm's efficiency. It should be noted that the heuristic information is a replaceable module in the search algorithm. In specific implementations, heuristic information can be removed or replaced with other suitable heuristic information as needed.

[0113] As a non-limiting embodiment, other commonly used algorithms capable of path search functions can also be used as needed for specific scenarios, such as Dijkstra's algorithm and A* algorithm.

[0114] Dijkstra's algorithm is a classic shortest path search algorithm. Its core idea is to generate the shortest paths in ascending order of length. This involves sorting the path lengths of all visible points and selecting the shortest path. This shortest path is the path from the corresponding vertex to the source vertex. Visible points are those found during the breadth-first search of vertices starting from the source vertex. A-Star's algorithm is very similar to Dijkstra's algorithm in its computation process; it's analogous to growing a tree, exploring outwards from the starting point until the target vertex is found. However, Dijkstra's algorithm only grows the outermost nodes, while A-Star can determine which nodes are closer to the target and prioritizes growing those closer nodes. Therefore, A-Star is faster and more efficient than Dijkstra's algorithm.

[0115] In step S63, the U-turn lane is generated based on the starting point, the ending point, and multiple nodes obtained at the end of the search.

[0116] In this embodiment of the invention, by adopting the above scheme, the optimal neighboring node of the current node can be determined in each search process, and then the starting point, the ending point and the determined multiple neighboring nodes can be connected, so as to automatically and in real time determine an accurate, stable and complete U-turn lane.

[0117] In specific implementation, please refer to the preceding text for more detailed information regarding steps S61 to S63. Figure 1 The steps described in the document will be executed, and will not be repeated here.

[0118] Reference Figure 7 , Figure 7 This is a schematic diagram of a U-turn lane generation device according to an embodiment of the present invention. The device may include:

[0119] The vehicle model parameter determination module 71 is used to determine the starting point position and starting orientation angle, the ending point position and ending orientation angle, and the turning radius of the vehicle.

[0120] The heuristic cost function construction module 72 is used to construct a heuristic cost function, wherein the heuristic cost function is a weighted sum of one or more of the following heuristic functions: a first heuristic function under kinematic constraints, a second heuristic function under obstacle avoidance constraints, and a third heuristic function under endpoint orientation constraints;

[0121] The U-turn lane generation module 73 is used to determine the U-turn lane based on the constructed heuristic cost function.

[0122] For details regarding the principle, implementation, and beneficial effects of this U-turn lane generation device, please refer to the preceding text. Figures 1 to 6 The description of the U-turn lane generation method shown is not repeated here.

[0123] This invention also provides a computer-readable storage medium storing computer instructions, wherein the computer program, when executed by a processor, performs the steps of the above-described U-turn lane generation method. The computer-readable storage medium may include non-volatile or non-transitory memory, and may also include optical discs, hard disk drives, solid-state drives, etc.

[0124] Specifically, in this embodiment of the invention, the processor can be a central processing unit (CPU), or it can be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor.

[0125] It should also be understood that the memory in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of random access memory (RAM) are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced synchronous DRAM (ESDRAM), synchronous linked DRAM (SLDRAM), and direct rambus RAM (DR RAM).

[0126] This invention also provides a terminal, including a memory and a processor. The memory stores a computer program that can run on the processor. When the processor runs the computer program, it executes the steps of the above-described U-turn lane generation method. The terminal may include, but is not limited to, mobile phones, computers, tablets, and other terminal devices, and may also be servers, cloud platforms, etc.

[0127] It should be understood that the term "and / or" in this article is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / " in this article indicates that the preceding and following related objects have an "or" relationship.

[0128] In the embodiments of this application, "multiple" refers to two or more.

[0129] The descriptions of "first," "second," etc., appearing in the embodiments of this application are for illustrative purposes and to distinguish the objects being described. They have no order and do not indicate any special limitation on the number of devices in the embodiments of this application, nor do they constitute any limitation on the embodiments of this application.

[0130] It should be noted that the sequence number of each step in this embodiment does not represent a limitation on the execution order of each step.

[0131] While the present invention has been disclosed above, it is not limited thereto. Any person skilled in the art can make various modifications and alterations without departing from the spirit and scope of the invention; therefore, the scope of protection of the present invention should be determined by the scope defined in the claims.

Claims

1. A method for generating U-turn lanes, characterized in that, include: Determine the starting point and starting orientation angle of the vehicle, the ending point and ending orientation angle, and the turning radius of the vehicle; Construct a heuristic cost function, which is a weighted sum of the following multiple heuristic functions: A first heuristic function under kinematic constraints, wherein the first heuristic function is constructed based on the turning radius; A second heuristic function under obstacle avoidance constraints, wherein the second heuristic function is constructed at least based on the position and starting orientation angle of the starting point, and the position and ending orientation angle of the ending point; A third heuristic function under the endpoint orientation constraint, wherein the third heuristic function is constructed based on the position and starting orientation angle of the starting point, and the position and ending orientation angle of the ending point; Based on the constructed heuristic cost function, the U-turn lane is determined; The third heuristic function is constructed using the following formula: ; in: ; ; ; in, The function value used to represent the third heuristic function, Used to represent a function for finding the minimum value. Used to represent the deflection angle from the starting orientation angle to the starting and ending vector angle. Used to represent the deflection angle from the starting and ending point vector angle to the ending orientation angle. This is used to represent the difference between the x-coordinate of the ending point and the x-coordinate of the starting point. , Used to represent the x-coordinate of the endpoint. Used to represent the x-coordinate of the starting point This is used to represent the difference between the ordinate of the ending point and the ordinate of the starting point, i.e. , Used to represent the ordinate of the endpoint. Used to represent the ordinate of the starting point. Used to indicate the starting orientation angle, Used to indicate the termination orientation angle, Used to represent Euclidean distance Used to represent the arctangent function.

2. The method according to claim 1, characterized in that, The first heuristic function is constructed based on the turning radius using the Dubins curve solving function and the Reeds_Shepp curve solving function.

3. The method according to claim 2, characterized in that, The first heuristic function is constructed using the following formula: ; in, Used to represent the function value of the first heuristic function, Used to represent maximum curvature, i.e. , Used to represent the maximum curvature change value, i.e. , Used to indicate the turning radius. Used to indicate sampling distance, Used to represent Dubins Curve solving function, Used to represent Ryzeship Curve solving function, Used to represent the function for finding the maximum value.

4. The method according to claim 1, characterized in that, The second heuristic function is constructed using a path search algorithm based on the position and starting orientation angle of the starting point, the position and ending orientation angle of the ending point, and the drivable area for turning around.

5. The method according to claim 4, characterized in that, The path search algorithm is the A* algorithm; The second heuristic function is constructed using the following formula: ; in, Used to represent the function value of the second heuristic function; Used to represent the A* algorithm; Used to indicate the starting point of the vehicle, including the x-coordinate, y-coordinate, and starting orientation angle of the starting point; Used to represent the termination point, which includes the x-coordinate, y-coordinate, and termination orientation angle of the termination point; It is a two-dimensional array used to represent the driving area where U-turns are permitted.

6. The method according to claim 4 or 5, characterized in that, Before constructing the second heuristic function, the method further includes: The permitted U-turn area is determined based on the lane marking map.

7. The method according to claim 6, characterized in that, According to the lane map, the permitted U-turn area includes: Based on the default U-turn lane loaded from the lane line map, obtain static drivable area and conflict lane information; The U-turn drivable area is generated based on the static drivable area and conflict lane information.

8. The method according to claim 1, characterized in that, The heuristic cost function is a weighted sum of the first heuristic function under the kinematic constraints, the second heuristic function under the obstacle avoidance constraints, and the third heuristic function under the endpoint orientation constraints; The heuristic cost function is constructed using the following formula: ; in, Used to represent the cost of a heuristic cost function. Used to represent the first heuristic function. The penalty coefficient used to represent the first heuristic function, Used to represent the second heuristic function, The penalty coefficient used to represent the second heuristic function, Used to represent the third heuristic function. The penalty coefficient used to represent the third heuristic function.

9. The method according to claim 8, characterized in that, When constructing the heuristic cost function, one or more of the following conditions must be met: The weights of the first heuristic function under the kinematic constraints range from greater than or equal to 1.0 to less than or equal to 1.

2. The weights of the second heuristic function under the obstacle avoidance constraint range from greater than or equal to 4.0 to less than or equal to 6.

0. The weight of the third heuristic function under the endpoint orientation constraint has a value range of greater than or equal to 10.0 and less than or equal to 15.

0.

10. The method according to claim 1, characterized in that, Based on the constructed heuristic cost function, the optimal U-turn lanes are determined to include: A path search algorithm is used to determine the optimal U-turn lane based on the constructed heuristic cost function.

11. The method according to claim 10, characterized in that, The path search algorithm is selected from: Dijkstra's algorithm, A* algorithm, and hybrid A* algorithm.

12. The method according to claim 10, characterized in that, The path search algorithm is a hybrid A* algorithm; Using a path search algorithm and based on the constructed heuristic cost function, the following U-turn lanes are determined: The starting point of the vehicle is used as the initial node for the search, and the ending point of the vehicle is used as the target node for the search. During each search, the point that minimizes the cost of the heuristic cost function is taken as the optimal neighbor of the initial node, and the optimal neighbor is taken as the initial node for the next search, until the distance between the optimal neighbor and the target node is less than a preset threshold and the search ends. The U-turn lane is generated based on the starting point, the ending point, and multiple nodes obtained at the end of the search.

13. A U-turn lane generation device, characterized in that, include: The vehicle model parameter determination module is used to determine the starting point position and starting orientation angle, the ending point position and ending orientation angle, and the turning radius of the vehicle. The heuristic cost function construction module is used to construct a heuristic cost function, which is a weighted sum of multiple heuristic functions: a first heuristic function under kinematic constraints, a second heuristic function under obstacle avoidance constraints, and a third heuristic function under endpoint orientation constraints. The U-turn lane generation module is used to determine U-turn lanes based on the constructed heuristic cost function; The third heuristic function is constructed using the following formula: ; in: ; ; ; in, The function value used to represent the third heuristic function, Used to represent a function for finding the minimum value. Used to represent the deflection angle from the starting orientation angle to the starting and ending vector angle. Used to represent the deflection angle from the starting and ending point vector angle to the ending orientation angle. This is used to represent the difference between the x-coordinate of the ending point and the x-coordinate of the starting point. , Used to represent the x-coordinate of the endpoint. Used to represent the x-coordinate of the starting point This is used to represent the difference between the ordinate of the ending point and the ordinate of the starting point, i.e. , Used to represent the ordinate of the endpoint. Used to represent the ordinate of the starting point. Used to indicate the starting orientation angle, Used to indicate the termination orientation angle, Used to represent Euclidean distance Used to represent the arctangent function.

14. A computer-readable storage medium having a computer program stored thereon, characterized in that, The computer program, when run by a processor, performs the steps of the U-turn lane generation method according to any one of claims 1 to 12.

15. A terminal comprising a memory and a processor, wherein the memory stores a computer program capable of running on the processor, characterized in that, When the processor runs the computer program, it performs the steps of the U-turn lane generation method according to any one of claims 1 to 12.

Citation Information

Patent Citations

  • Navigation path determining method, device and automobile

    CN107246878A

  • two-stage automatic driving automobile U-turn trajectory planning method

    CN113619603A