An unmanned vehicle local path planning method fusing dubins curve
By generating the minimum obstacle avoidance distance using Dubins curves and preset rules, and combining this with cost functions to optimize local path planning, the problem of vehicle obstacle avoidance failure in complex environments is solved, achieving path smoothness and executability.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEIJING MECHANICAL EQUIP INST
- Filing Date
- 2022-11-02
- Publication Date
- 2026-07-21
AI Technical Summary
Existing path planning algorithms fail to effectively consider vehicle kinematic constraints and road geometric constraints, causing vehicles to fail to follow the planned trajectory and failing to effectively handle the special orientations and positions of vehicles and obstacles on the road, resulting in obstacle avoidance failure.
The minimum obstacle avoidance distance of the vehicle is calculated by using Dubins curves combined with preset rules and cost functions, and local path groups are generated. The optimal path is selected by using preset cost functions to ensure that the path is smooth and free of obstacles.
It improves the success rate of vehicle obstacle avoidance and the feasibility of path planning, ensuring smooth and obstacle-free paths, and solves the problem of vehicle obstacle avoidance in complex environments.
Smart Images

Figure CN115755892B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of autonomous driving, and more specifically, to a method, apparatus, electronic device, and computer-readable storage medium for local path planning of autonomous vehicles that incorporates Dubins curves. Background Technology
[0002] With the development of automotive intelligence, autonomous driving technology has become an important research direction in the field of intelligent vehicles, among which path planning technology is one of the key technologies. Path planning includes global path planning and local path planning. Global path planning refers to planning an effective path that is collision-free and can safely reach the target point, given a starting point and a target point in the mobile environment model, according to performance indicators. Local path planning, also known as obstacle avoidance path planning, considers the geometric relationship between the vehicle and obstacles to find a local path that avoids collisions with obstacles. As the vehicle's position is updated in real time, the local environment information around the vehicle is also dynamically changing, so local path planning is calculated in real time in conjunction with the local environment. Path planning faces very complex scenarios, involving various working conditions such as vehicle and road size constraints, vehicle turning radius constraints, and vehicle obstacle avoidance. Commonly used path planning algorithms include graph search algorithms, sampling algorithms, artificial potential field algorithms, and intelligent biomimetic algorithms. Current research has the following shortcomings: it does not consider the kinematic constraints of the vehicle and the geometric constraints of the road, causing the vehicle to fail to run according to the planned trajectory; it does not consider the special orientation and position of the vehicle and obstacles in the road. For example, if a vehicle is on its global path and there is an obstacle directly in front of it, the cost of avoiding the obstacle from the left or the right is similar, and the vehicle may fail to avoid the obstacle due to switching back and forth between left and right directions. Another example is when the obstacle is too close to the vehicle, the vehicle cannot successfully avoid the obstacle due to the limitation of the vehicle's minimum turning radius.
[0003] Therefore, one or more methods are needed to solve the above problems.
[0004] It should be noted that the information disclosed in the background section above is only used to enhance the understanding of the background of this disclosure, and therefore may include information that does not constitute prior art known to those skilled in the art. Summary of the Invention
[0005] The purpose of this disclosure is to provide a method, apparatus, electronic device, and computer-readable storage medium for local path planning of autonomous vehicles that incorporates Dubins curves, thereby overcoming, at least to some extent, one or more problems caused by the limitations and defects of related technologies.
[0006] According to one aspect of this disclosure, a method for local path planning of an autonomous vehicle that incorporates Dubins curves is provided, comprising:
[0007] The local path planning parameters of the vehicle are obtained, and the minimum obstacle avoidance distance of the vehicle is calculated based on the analysis of the local path planning parameters and the position of the vehicle on the road.
[0008] The distance between the vehicle and the obstacle is calculated based on vehicle sensor information. If the distance between the vehicle and the obstacle is greater than the minimum obstacle avoidance distance, a local path group containing local paths is generated based on preset rules.
[0009] Based on a preset cost function, the obstacle avoidance cost of local paths in the local path group is calculated, and local path planning is completed based on the obstacle avoidance cost calculation results.
[0010] In one exemplary embodiment of this disclosure, the method further includes:
[0011] The local path planning parameters of the vehicle are obtained, including vehicle pose information, lane width h, and minimum turning radius r. The analysis is performed based on the local path planning parameters and the vehicle's position on the road.
[0012] If the vehicle is located in the center of the road and h / 2 ≥ 2r, then calculate the minimum obstacle avoidance distance for the vehicle.
[0013] If the vehicle is located in the center of the road and h / 2 < 2r, then calculate the minimum obstacle avoidance distance for the vehicle.
[0014] If the vehicle is not located in the center of the road, then the distances from the vehicle to the two sides of the road are d respectively. l1 and d l2 If d l1 <d l2 Then in 2d l1 Determine the lane width if d l1 If ≥2r, then calculate the minimum obstacle avoidance distance for generating the vehicle. If d l1 If <2r, then calculate the minimum obstacle avoidance distance for generating the vehicle. If d l1 >d l2 Then in 2d l2 Determine the lane width if d l2 If ≥2r, then calculate the minimum obstacle avoidance distance for generating the vehicle. If d l2 If <2r, then calculate the minimum obstacle avoidance distance for generating the vehicle.
[0015] In one exemplary embodiment of this disclosure, the method further includes:
[0016] The distance between the vehicle and the obstacle is calculated based on the vehicle sensor information. If the distance between the vehicle and the obstacle is less than the minimum obstacle avoidance distance, a reverse command is generated and sent to the vehicle.
[0017] The vehicle executes a reverse command and determines the distance between the vehicle and the obstacle in real time. If the distance between the vehicle and the obstacle is greater than the minimum obstacle avoidance distance, the reverse command is stopped, and a local path group containing local paths is generated based on preset rules.
[0018] In one exemplary embodiment of this disclosure, the method further includes generating a group of local paths containing local paths based on preset rules:
[0019] The vehicle pose information in the local path planning parameters of the vehicle is converted into vehicle pose coordinates in the Frent coordinate system;
[0020] Generate the coordinates of the first obstacle avoidance endpoint in the Cartesian coordinate system based on the vehicle pose coordinates in the Frent coordinate system.
[0021] Based on the global path baseline, a first local path is generated according to the vehicle pose information and the coordinates of the first obstacle avoidance endpoint.
[0022] Divide the lane into 2n-1 equal parts, generate 2n curves parallel to the global path using the global path as the baseline, and generate the coordinates of the nth obstacle bypass endpoint, where n is a natural number.
[0023] Based on the vehicle's pose information and the coordinates of the nth obstacle avoidance endpoint, a local path group containing n local paths is generated.
[0024] In one exemplary embodiment of this disclosure, the method further includes:
[0025] Based on the global path baseline, a Dubins curve segment and a global path straight line segment are generated according to the vehicle pose information and the coordinates of the first obstacle avoidance endpoint, respectively. The intersection of the Dubins curve segment and the global path straight line segment is the first obstacle avoidance endpoint.
[0026] The first local path is generated by splicing the Dubins curve segment and the global path straight line segment.
[0027] In one exemplary embodiment of this disclosure, the method further includes:
[0028] The preset cost function is f i (x)=ag i (x)+bh i (x)+cj i (x), i = 1, 2, ..., 2n,
[0029] Where a, b, and c are cost factors, and gi (x) represents the collision cost of the i-th local path, h i (x) represents the distance deviation cost of the i-th local path, j i (x) represents the switching cost of the i-th local path.
[0030] In one exemplary embodiment of this disclosure, the method further includes:
[0031] The collision cost of the i-th local path Where, d obs Let d be the lateral distance of the i-th local path from the obstacle. mim DBL_MAX represents the minimum distance between the vehicle and the obstacle during the obstacle avoidance process, and is a double-valued maximum value.
[0032] The distance deviation cost of the i-th local path Where k1 is the proportionality coefficient, d path Let be the horizontal distance between the i-th local path and the global path. Half the width of the lane;
[0033] The switching cost of the i-th local path
[0034]
[0035] In one aspect of this disclosure, a local path planning device for an autonomous vehicle that incorporates Dubins curves is provided, comprising:
[0036] The minimum obstacle avoidance distance calculation module is used to obtain the local path planning parameters of the vehicle, and to analyze the local path planning parameters and the vehicle's position on the road to calculate and generate the minimum obstacle avoidance distance of the vehicle.
[0037] The local path group generation module is used to calculate the distance between the vehicle and the obstacle based on vehicle sensor information. If the distance between the vehicle and the obstacle is greater than the minimum obstacle avoidance distance, a local path group containing local paths is generated based on preset rules.
[0038] The local path evaluation module is used to calculate the obstacle avoidance cost of local paths in the local path group based on a preset cost function, and to complete the local path planning based on the obstacle avoidance cost calculation results.
[0039] In one aspect of this disclosure, an electronic device is provided, comprising:
[0040] Processor; and
[0041] A memory storing computer-readable instructions that, when executed by the processor, implement the method according to any one of the preceding claims.
[0042] In one aspect of this disclosure, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the method according to any one of the preceding claims.
[0043] An exemplary embodiment of this disclosure provides a local path planning method for autonomous vehicles that integrates Dubins curves. The method includes: acquiring local path planning parameters of the vehicle; analyzing the local path planning parameters and the vehicle's position on the road to calculate the minimum obstacle avoidance distance; calculating the distance between the vehicle and obstacles based on vehicle sensor information; if the distance between the vehicle and obstacles is greater than the minimum obstacle avoidance distance, generating a local path group containing local paths based on preset rules; calculating the obstacle avoidance cost of the local paths in the local path group based on a preset cost function; and completing the local path planning based on the obstacle avoidance cost calculation result. This disclosure plans smooth and obstacle-free paths while ensuring the executability of the planning results, improving the success rate of vehicle obstacle avoidance.
[0044] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description
[0045] The above and other features and advantages of this disclosure will become more apparent from the detailed description of exemplary embodiments thereof with reference to the accompanying drawings.
[0046] Figure 1 A flowchart is shown for a local path planning method for an autonomous vehicle that incorporates Dubins curves, according to an exemplary embodiment of the present disclosure.
[0047] Figure 2A-2B A schematic diagram illustrating the minimum obstacle avoidance distance calculation of a local path planning method for an autonomous vehicle that incorporates Dubins curves, according to an exemplary embodiment of the present disclosure, is shown.
[0048] Figures 3A-3B The illustration shows a local path planning method for autonomous vehicles that incorporates Dubins curves according to an exemplary embodiment of the present disclosure, in which a new road edge schematic is generated when the vehicle is not in the center of the road.
[0049] Figures 4A-4C A schematic diagram of local path generation is shown in an exemplary embodiment of the present disclosure of a local path planning method for autonomous vehicles that incorporates Dubins curves;
[0050] Figure 5 A schematic block diagram of an autonomous vehicle local path planning apparatus that integrates Dubins curves according to an exemplary embodiment of the present disclosure is shown.
[0051] Figure 6 A block diagram of an electronic device according to an exemplary embodiment of the present disclosure is schematically shown; and
[0052] Figure 7 The illustration shows a schematic diagram of a computer-readable storage medium according to an exemplary embodiment of the present disclosure. Detailed Implementation
[0053] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, these exemplary embodiments can be implemented in many forms and should not be construed as limited to the embodiments set forth herein; rather, they are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the exemplary embodiments to those skilled in the art. The same reference numerals in the drawings denote the same or similar parts, and therefore repeated descriptions of them will be omitted.
[0054] Furthermore, the described features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. Numerous specific details are provided in the following description to give a thorough understanding of embodiments of this disclosure. However, those skilled in the art will recognize that the technical solutions of this disclosure can be practiced without one or more of the specific details described, or other methods, components, materials, apparatuses, steps, etc., can be employed. In other instances, well-known structures, methods, apparatuses, implementations, materials, or operations are not shown or described in detail to avoid obscuring various aspects of this disclosure.
[0055] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities can be implemented in software, or in one or more software-hardened modules, or in different network and / or processor devices and / or microcontroller devices.
[0056] In this example embodiment, a local path planning method for autonomous vehicles that incorporates Dubins curves is first provided; refer to Figure 1 As shown, this method for local path planning of autonomous vehicles that incorporates Dubins curves may include the following steps:
[0057] Step S110: Obtain the local path planning parameters of the vehicle, and analyze the local path planning parameters and the vehicle's position on the road to calculate and generate the minimum obstacle avoidance distance of the vehicle.
[0058] Step S120: Calculate the distance between the vehicle and the obstacle based on the vehicle sensor information. If the distance between the vehicle and the obstacle is greater than the minimum obstacle avoidance distance, generate a local path group containing local paths based on preset rules.
[0059] Step S130: Calculate the obstacle avoidance cost of the local paths in the local path group based on the preset cost function, and complete the local path planning based on the obstacle avoidance cost calculation results.
[0060] An exemplary embodiment of this disclosure provides a local path planning method for autonomous vehicles that integrates Dubins curves. The method includes: acquiring local path planning parameters of the vehicle; analyzing the local path planning parameters and the vehicle's position on the road to calculate the minimum obstacle avoidance distance; calculating the distance between the vehicle and obstacles based on vehicle sensor information; if the distance between the vehicle and obstacles is greater than the minimum obstacle avoidance distance, generating a local path group containing local paths based on preset rules; calculating the obstacle avoidance cost of the local paths in the local path group based on a preset cost function; and completing the local path planning based on the obstacle avoidance cost calculation result. This disclosure plans smooth and obstacle-free paths while ensuring the executability of the planning results, improving the success rate of vehicle obstacle avoidance.
[0061] The following will further explain a local path planning method for autonomous vehicles that incorporates Dubins curves in this example embodiment.
[0062] Example 1:
[0063] In step S110, the local path planning parameters of the vehicle can be obtained, and the minimum obstacle avoidance distance of the vehicle can be calculated based on the local path planning parameters and the position of the vehicle on the road.
[0064] In this example embodiment, the method further includes:
[0065] The local path planning parameters of the vehicle are obtained, including vehicle pose information, lane width h, and minimum turning radius r. The analysis is performed based on the local path planning parameters and the vehicle's position on the road.
[0066] If the vehicle is located in the center of the road and h / 2 ≥ 2r, then calculate the minimum obstacle avoidance distance for the vehicle.
[0067] If the vehicle is located in the center of the road and h / 2 < 2r, then calculate the minimum obstacle avoidance distance for the vehicle.
[0068] If the vehicle is not located in the center of the road, then calculate the distances d from the vehicle to the two sides of the road. l1 and d l2 If d l1 ≤d l2 Then in 2dl1 Determine the lane width if d l1 If ≥2r, then calculate the minimum obstacle avoidance distance for generating the vehicle. If d l1 If the distance is greater than 2r, then calculate the minimum obstacle avoidance distance for generating the vehicle. If d l1 >d l2 Then in 2d l2 Determine the lane width if d l2 If ≥2r, then calculate the minimum obstacle avoidance distance for generating the vehicle. If d l2 If <2r, then calculate the minimum obstacle avoidance distance for generating the vehicle.
[0069] In step S120, the distance between the vehicle and the obstacle can be calculated based on the vehicle sensor information. If the distance between the vehicle and the obstacle is greater than the minimum obstacle avoidance distance, a local path group containing local paths is generated based on preset rules.
[0070] In this example embodiment, the method further includes:
[0071] The distance between the vehicle and the obstacle is calculated based on the vehicle sensor information. If the distance between the vehicle and the obstacle is less than the minimum obstacle avoidance distance, a reverse command is generated and sent to the vehicle.
[0072] The vehicle executes a reverse command and determines the distance between the vehicle and the obstacle in real time. If the distance between the vehicle and the obstacle is greater than the minimum obstacle avoidance distance, the reverse command is stopped, and a local path group containing local paths is generated based on preset rules.
[0073] In this example embodiment, the method for generating a group of local paths containing local paths based on preset rules further includes:
[0074] The vehicle pose information in the local path planning parameters of the vehicle is converted into vehicle pose coordinates in the Frent coordinate system;
[0075] Generate the coordinates of the first obstacle avoidance endpoint in the Cartesian coordinate system based on the vehicle pose coordinates in the Frent coordinate system.
[0076] Based on the global path baseline, a first local path is generated according to the vehicle pose information and the coordinates of the first obstacle avoidance endpoint.
[0077] Divide the lane into 2n-1 equal parts, generate 2n curves parallel to the global path using the global path as the baseline, and generate the coordinates of the nth obstacle bypass endpoint, where n is a natural number.
[0078] Based on the vehicle's pose information and the coordinates of the nth obstacle avoidance endpoint, a local path group containing n local paths is generated.
[0079] In this example embodiment, the method further includes:
[0080] Based on the global path baseline, a Dubins curve segment and a global path straight line segment are generated according to the vehicle pose information and the coordinates of the first obstacle avoidance endpoint, respectively. The intersection of the Dubins curve segment and the global path straight line segment is the first obstacle avoidance endpoint.
[0081] The first local path is generated by splicing the Dubins curve segment and the global path straight line segment.
[0082] In step S130, obstacle avoidance cost can be calculated for local paths in the local path group based on a preset cost function, and local path planning can be completed based on the obstacle avoidance cost calculation results.
[0083] In this example embodiment, the method further includes:
[0084] The preset cost function is f i (x)=ag i (x)+bh i (x)+cj i (x), i = 1, 2, ..., 2n,
[0085] Where a, b, and c are cost factors, and g i (x) represents the collision cost of the i-th local path, h i (x) represents the distance deviation cost of the i-th local path, j i (x) represents the switching cost of the i-th local path.
[0086] In this example embodiment, the method further includes:
[0087] The collision cost of the i-th local path Where, d obs Let d be the lateral distance of the i-th local path from the obstacle. min DBL_MAX represents the minimum distance between the vehicle and the obstacle during the obstacle avoidance process, and is a double-valued maximum value.
[0088] The distance deviation cost of the i-th local path Where k1 is the proportionality coefficient, d path Let be the horizontal distance between the i-th local path and the global path. Half the width of the lane;
[0089] The switching cost of the i-th local path
[0090]
[0091] Example 2:
[0092] The disclosed method for local path planning of autonomous vehicles based on the fusion of Dubins curves includes the following steps:
[0093] Step 1): Obtain the parameters required for local path planning;
[0094] Step 2): Calculate the minimum distance d from the obstacle that the vehicle can avoid based on vehicle kinematic constraints and lane parameters;
[0095] Step 3): Calculate the distance d1 between the obstacle and the vehicle, and determine whether the vehicle needs to reverse. If the reversing condition is met, proceed to step 5); otherwise, proceed to step 4.
[0096] Step 4): Generate multiple local paths. Each local path contains two segments: the first segment is the dubins path, and the second segment is a path parallel to the global path.
[0097] Step 5): Send a reverse command to the vehicle control module;
[0098] Step 6): Design the cost function and calculate the obstacle bypass cost for each local path;
[0099] Step 7): Select the path with the lowest cost and no blocking from the generated candidate local paths as the optimal local path.
[0100] In this example embodiment, step 1) involves obtaining the parameters required for local path planning, including: the vehicle's current pose p(x, y, α), lane width h, minimum turning radius r, number of local paths 2n, length d0 of each local path, and minimum lateral distance d for obstacle avoidance. min .
[0101] In this example embodiment, step 2) specifically involves: based on the vehicle's position on the road and the relationship between the vehicle's minimum turning radius r and the lane width h, the following three cases are considered:
[0102] 2-1) The vehicle is in the center of the road, and h / 2 ≥ 2r;
[0103] like Figure 2AThis diagram illustrates the calculation of the minimum distance *d* from an obstacle when the vehicle is in the center of the road and *h / 2* ≥ 2*r*, allowing it to avoid the obstacle. In the diagram, *p* represents the vehicle's current pose, *l1* and *l2* represent the road edges. In this invention, the road edges near the vehicle are simplified to straight lines. *O2* is the initial circle of the Dubins path, and *O1* is the ending circle of the Dubins path. *O1* is tangent to *l1*, with point B as the tangency point. Circles *O1* and *O2* are also tangent. Figure 2A From the geometric relationships, we can obtain: O1O2=2r, BO1=AC=r, BC=AO1=d, The minimum obstacle avoidance distance d can be calculated from the vehicle when it can bypass the obstacle using formula (1).
[0104]
[0105] 2-2) The vehicle is in the center of the road, and h / 2 < 2r;
[0106] like Figure 2B This diagram illustrates the calculation of the minimum distance *d* from an obstacle when the vehicle is in the center of the road and *h / 2* < 2*r*, allowing it to avoid the obstacle. In the diagram, *p* represents the vehicle's current pose, *l1* and *l2* are the road edges, *O2* is the initial circle of the Dubins path, and *O1* is the ending circle of the Dubins path. *O1* is tangent to *l1*, with point B as the tangency point. Circles *O1* and *O2* are also tangent. Figure 2B The geometric relationship in can be obtained The minimum obstacle avoidance distance d can be calculated from formula (2) when the vehicle can avoid the obstacle.
[0107]
[0108] 2-3) The vehicle is not in the center of the road.
[0109] If the vehicle is not in the center of the road, the distances from the vehicle to the two sides l1 and l2 of the road can be calculated from the vehicle's current position and denoted as d. l1 and d l2 .
[0110] If d l1 <d l2 The vehicle is located on the left side of the road. It is d units to the right of point p. l1 Draw a straight line I′2 parallel to l2 at the position as the new road edge, such as... Figure 3A As shown, the minimum obstacle avoidance distance d from the obstacle is calculated using the methods described in 2-1) and 2-2) above.
[0111] If d l1 >d l2 The vehicle is close to the right side of the road, and is d away from point p to the left of point p. l2Draw a straight line l′1 parallel to l1 at the position as the new road edge, such as... Figure 3B As shown, the minimum obstacle avoidance distance d from the obstacle is calculated using the methods described in 2-1) and 2-2) above.
[0112] In this example embodiment, step 3) specifically involves obtaining the position of the obstacle based on sensor data, calculating the distance between the obstacle and the vehicle as d1, and if d1 < d, the vehicle cannot avoid the obstacle. A reverse command is sent to the vehicle control module until d1 ≥ d, at which point the reverse command is stopped and the process proceeds to step 4).
[0113] In this example embodiment, step 4) specifically refers to:
[0114] Step 4-1) Calculate the starting and ending coordinates of the dubins path.
[0115] The global path and lane from point C to point B are approximated as straight lines. The vehicle's current pose p(x, y, α) is then transformed into coordinates in the Frent coordinate system using a coordinate transformation formula, denoted as p(s). p d p In the Frent coordinate system, the coordinates of point C are denoted as c(s). c d c The coordinates of point B in the Frent coordinate system are denoted as B(s). B d B ),Depend on Figure 2A and Figure 2B The geometric relationships in the equation can be obtained as follows:
[0116] s c =s p (3)
[0117]
[0118] s B ×s c +d (5)
[0119] d B =d c (6)
[0120] The coordinates of point B (s) in the Frent coordinate system can be obtained from formulas (3)-(6). B d B Using the coordinate transformation formula, the coordinates in the Frent coordinate system are transformed to the Cartesian coordinate system, resulting in the coordinates B(x) of point B in the Cartesian coordinate system. B y B ,α).
[0121] Step 4-2) Generate the first local path.
[0122] Starting from p(x, y, α), B(x) B y B α) is the endpoint, and a Dubins curve is generated as the first segment of the local path. Figure 4A In the diagram, P->B1->B represents the generated Dubins curve. Using point B as the starting point of the second path segment, and with the global path as the baseline, a second path segment of length d0 is generated, parallel to the global path. Figure 4A In the example, B->B2 represents the second path parallel to the global path. The first and second paths are concatenated into a single complete local path, such as... Figure 4A As shown, P->B1->B->B2 is the first local path;
[0123] Step 4-3) Generate local path groups.
[0124] Divide the lane into 2n-1 equal parts, and generate 2n curves parallel to the global path, using the global path as the baseline. Label these curves from left to right as a0, a1, a2… For example… Figure 4B As shown, draw a circle O3 that is tangent to both a1 and circle O2. The point of tangency between circle O3 and a1 is D, and the point of tangency between circle O3 and the original O2 is D1. Calculate the coordinates of point D (x, y) using the method in step 4-1. D y D , α), with p(x, y, α) as the starting point, D(x D y D α) is the endpoint, generating a Dubins curve as the first segment of the second local path, i.e. Figure 4B In the path P -> D1 -> D, starting from point D, a section of curve a1 with length d0 is extracted as the second local path. Figure 4B In the first local path, D->D2 represents the second local path segment. The first and second local paths are concatenated to form a complete local path, which is then used as the second local path. This process is repeated to generate 2n local paths. The final group of local paths is shown below. Figure 4C As shown.
[0125] In this example embodiment, step 6) specifically refers to:
[0126] The cost function is defined as shown in formula (7):
[0127] f i (x)=ag i (x)+bh i (x)+cj i (x), i = 1, 2, ..., 2n (7)
[0128] In formula (7), a, b, and c are cost factors. i(x) represents the collision cost of the i-th local path.
[0129]
[0130] In formula (8), k is the proportionality coefficient, and d obs Let d be the lateral distance of the i-th local path from the obstacle. mim The minimum distance between the vehicle and the obstacle during the obstacle avoidance process, when d obs ≤d mim The path is considered infeasible, and the collision cost g is set. i (x) is set to the maximum value, and the path is marked as a blocked path. When d obs >d mim When the lateral distance between the i-th local path and the obstacle is smaller, the collision cost is smaller, and the probability of the path being selected is greater.
[0131] In formula (7) h i (x) represents the distance deviation cost of the i-th local path.
[0132]
[0133] In formula (9), k1 is the proportionality coefficient, and d path Let be the horizontal distance between the i-th local path and the global path. Half the lane width, when When this occurs, it indicates that the path is already outside the lane, and the deviation cost h will be incurred. i (x) is set to the maximum value. When the horizontal distance between the i-th local path and the global path is smaller, the probability of that path being selected is greater.
[0134] In formula (7), j i (x) represents the switching cost of the i-th local path.
[0135]
[0136] The switching cost is set to a larger value when the i-th local path and the previously selected optimal path are on opposite sides of an obstacle. The switching cost is smaller when the i-th local path and the previously selected optimal path are on the same side of an obstacle, and the probability of that path being selected is higher.
[0137] In this example embodiment, the autonomous vehicle local path planning method based on fused Dubins curves of this disclosure calculates the minimum distance from the obstacle to which the vehicle can successfully bypass it, i.e., the minimum obstacle bypass distance, based on the vehicle's relative position on the road and the lane width. It then determines whether the vehicle needs to perform a reverse operation based on the distance from the obstacle and the minimum obstacle bypass distance. Multiple local paths are generated, provided the vehicle can bypass the obstacle. A cost function is used to select the path that bypasses the obstacle with the lowest cost as the optimal local path. When there are no obstacles in front of the vehicle, the path closest to the global path is the optimal path.
[0138] It should be noted that although the steps of the method in this disclosure are described in a specific order in the accompanying drawings, this does not require or imply that the steps must be performed in that specific order, or that all the steps shown must be performed to achieve the desired result. Additional or alternative steps may be omitted, multiple steps may be combined into one step, and / or a step may be broken down into multiple steps.
[0139] Furthermore, in this example embodiment, a local path planning device for autonomous vehicles that integrates Dubins curves is also provided. (Refer to...) Figure 5 As shown, the autonomous vehicle local path planning device 500 integrating Dubins curves may include: a minimum obstacle avoidance distance calculation module 510, a local path group generation module 520, and a local path evaluation module 530. Wherein:
[0140] The minimum obstacle avoidance distance calculation module 510 is used to obtain the local path planning parameters of the vehicle, and to analyze the local path planning parameters and the vehicle's position on the road to calculate and generate the minimum obstacle avoidance distance of the vehicle.
[0141] The local path group generation module 520 is used to calculate the distance between the vehicle and the obstacle based on the vehicle sensor information. If the distance between the vehicle and the obstacle is greater than the minimum obstacle avoidance distance, a local path group containing local paths is generated based on preset rules.
[0142] The local path evaluation module 530 is used to calculate the obstacle avoidance cost of local paths in the local path group based on a preset cost function, and to complete the local path planning based on the obstacle avoidance cost calculation result.
[0143] The specific details of each of the above-mentioned autonomous vehicle local path planning device modules that integrate Dubins curves have been described in detail in the corresponding autonomous vehicle local path planning method that integrates Dubins curves, so they will not be repeated here.
[0144] It should be noted that although several modules or units of an autonomous vehicle local path planning device 500 incorporating Dubins curves have been mentioned in the detailed description above, this division is not mandatory. In fact, according to embodiments of this disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.
[0145] Furthermore, in an exemplary embodiment of this disclosure, an electronic device capable of implementing the above-described method is also provided.
[0146] Those skilled in the art will understand that various aspects of the present invention can be implemented as systems, methods, or program products. Therefore, various aspects of the present invention can be specifically implemented as entirely hardware embodiments, entirely software embodiments (including firmware, microcode, etc.), or embodiments combining hardware and software aspects, collectively referred to herein as “circuit,” “module,” or “system.”
[0147] The following reference Figure 6 To describe an electronic device 600 according to such an embodiment of the present invention. Figure 6 The electronic device 600 shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of the present invention.
[0148] like Figure 6 As shown, the electronic device 600 is presented in the form of a general-purpose computing device. The components of the electronic device 600 may include, but are not limited to: at least one processing unit 610, at least one storage unit 620, a bus 630 connecting different system components (including storage unit 620 and processing unit 610), and a display unit 640.
[0149] The storage unit stores program code that can be executed by the processing unit 610, causing the processing unit 610 to perform the steps described in the "Exemplary Methods" section of this specification according to various exemplary embodiments of the present invention. For example, the processing unit 610 can perform actions such as... Figure 1 Steps S110 to S130 are shown in the diagram.
[0150] Storage unit 620 may include a readable medium in the form of a volatile storage unit, such as random access memory (RAM) 6201 and / or cache memory 6202, and may further include a read-only memory (ROM) 6203.
[0151] Storage unit 620 may also include a program / utility 6204 having a set (at least one) program module 6203, such program module 6205 including but not limited to: operating system, one or more application programs, other program modules and program data, each or some combination of these examples may include an implementation of a network environment.
[0152] Bus 650 can represent one or more of several types of bus structures, including a memory cell bus or memory cell controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local bus using any of the various bus structures.
[0153] Electronic device 600 can also communicate with one or more external devices 670 (e.g., keyboard, pointing device, Bluetooth device, etc.), and with one or more devices that enable a user to interact with electronic device 600, and / or with any device that enables electronic device 600 to communicate with one or more other computing devices (e.g., router, modem, etc.). This communication can be performed via input / output (I / O) interface 650. Furthermore, electronic device 600 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 650. As shown, network adapter 660 communicates with other modules of electronic device 600 via bus 660. It should be understood that, although not shown in the figures, other hardware and / or software modules can be used in conjunction with electronic device 600, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0154] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, terminal device, or network device, etc.) to execute the methods according to the embodiments of this disclosure.
[0155] In exemplary embodiments of this disclosure, a computer-readable storage medium is also provided, on which a program product capable of implementing the methods described above is stored. In some possible embodiments, various aspects of the invention may also be implemented as a program product comprising program code that, when the program product is run on a terminal device, causes the terminal device to perform the steps of the various exemplary embodiments of the invention described in the "Exemplary Methods" section above.
[0156] refer to Figure 7 As shown, a program product 700 for implementing the above-described method according to an embodiment of the present invention is described. It may employ a portable compact disc read-only memory (CD-ROM) and include program code, and may run on a terminal device, such as a personal computer. However, the program product of the present invention is not limited thereto. In this document, the readable storage medium may be any tangible medium containing or storing a program that may be used by or in conjunction with an instruction execution system, apparatus, or device.
[0157] The program product may employ any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0158] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, carrying readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium, capable of sending, propagating, or transmitting programs for use by or in conjunction with an instruction execution system, apparatus, or device.
[0159] The program code contained on the readable medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination thereof.
[0160] Program code for performing the operations of this invention can be written in any combination of one or more programming languages, including object-oriented programming languages such as Java and C++, and conventional procedural programming languages such as C or similar languages. The program code can execute entirely on the user's computing device, partially on the user's device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0161] Furthermore, the above figures are merely illustrative of the processes included in the method according to exemplary embodiments of the present invention, and are not intended to be limiting. It is readily understood that the processes shown in the above figures do not indicate or limit the temporal order of these processes. Additionally, it is readily understood that these processes may be executed synchronously or asynchronously, for example, in multiple modules.
[0162] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and embodiments are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the claims.
[0163] It should be understood that this disclosure is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this disclosure is limited only by the appended claims.
Claims
1. A local path planning method for autonomous vehicles incorporating Dubins curves, characterized in that, The method includes: The local path planning parameters of the vehicle are obtained, including vehicle pose information, lane width h, and minimum turning radius r. The analysis is performed based on the local path planning parameters and the vehicle's position on the road. If the vehicle is located in the middle of the road, and Then calculate the minimum obstacle avoidance distance for the vehicle. ; If the vehicle is located in the middle of the road, and Then calculate the minimum obstacle avoidance distance for the vehicle. ; If the vehicle is not located in the center of the road, then the distances from the vehicle to the two sides of the road are calculated as follows: and ,like Then Determine the lane width if Then calculate the minimum obstacle avoidance distance for the vehicle. ,like Then calculate the minimum obstacle avoidance distance for the vehicle. ;like Then Determine the lane width if Then calculate the minimum obstacle avoidance distance for the vehicle. ,like Then calculate the minimum obstacle avoidance distance for the vehicle. ; The distance between the vehicle and the obstacle is calculated based on vehicle sensor information. If the distance between the vehicle and the obstacle is greater than the minimum obstacle avoidance distance, a local path group containing local paths is generated based on preset rules. Based on a preset cost function, the obstacle avoidance cost of local paths in the local path group is calculated, and local path planning is completed based on the obstacle avoidance cost calculation results.
2. The method as described in claim 1, characterized in that, The method further includes: The distance between the vehicle and the obstacle is calculated based on the vehicle sensor information. If the distance between the vehicle and the obstacle is less than the minimum obstacle avoidance distance, a reverse command is generated and sent to the vehicle. The vehicle executes a reverse command and determines the distance between the vehicle and the obstacle in real time. If the distance between the vehicle and the obstacle is greater than the minimum obstacle avoidance distance, the reverse command is stopped, and a local path group containing local paths is generated based on preset rules.
3. The method as described in claim 1, characterized in that, The method further includes generating local path groups containing local paths based on preset rules: The vehicle pose information in the local path planning parameters of the vehicle is converted into vehicle pose coordinates in the Frent coordinate system; Generate the coordinates of the first obstacle avoidance endpoint in the Cartesian coordinate system based on the vehicle pose coordinates in the Frent coordinate system. Based on the global path baseline, a first local path is generated according to the vehicle pose information and the coordinates of the first obstacle avoidance endpoint. Drive the lane Divide equally, generating based on the global path. A curve parallel to the global path is generated, and the coordinates of the nth obstacle bypass endpoint are generated, where n is a natural number; Based on the vehicle's pose information and the coordinates of the nth obstacle avoidance endpoint, a local path group containing n local paths is generated.
4. The method as described in claim 3, characterized in that, The method further includes: Based on the global path baseline, a Dubins curve segment and a global path straight line segment are generated according to the vehicle pose information and the coordinates of the first obstacle avoidance endpoint, respectively. The intersection of the Dubins curve segment and the global path straight line segment is the first obstacle avoidance endpoint. The first local path is generated by splicing the Dubins curve segment and the global path straight line segment.
5. The method as described in claim 1, characterized in that, The method also includes: The preset cost function is: , in, As a cost factor, Let i be the collision cost of the i-th local path. The distance deviation cost for the i-th local path. Let $\frac{i}{i}$ be the switching cost of the i-th local path.
6. The method as described in claim 5, characterized in that, The method further includes: The collision cost of the i-th local path ,in, Let be the lateral distance of the i-th local path from the obstacle. This is the minimum distance between the vehicle and the obstacle during the obstacle avoidance process. The maximum value of type double, and k is the first scaling factor used to calculate the collision cost of the i-th local path; The distance deviation cost of the i-th local path ,in, This is the proportionality coefficient. Let be the horizontal distance between the i-th local path and the global path. Half the width of the lane; The switching cost of the i-th local path ; k2 is the scaling factor used to calculate the switching cost of the i-th local path.
7. A local path planning device for an autonomous vehicle that integrates Dubins curves, based on the method described in any one of claims 1-6, characterized in that, The device includes: The minimum obstacle avoidance distance calculation module is used to obtain the local path planning parameters of the vehicle, and analyze the local path planning parameters and the vehicle's position on the road to calculate and generate the minimum obstacle avoidance distance of the vehicle. The minimum obstacle avoidance distance is the minimum distance between the vehicle and the obstacle when the vehicle can successfully avoid the obstacle, calculated based on the vehicle's kinematic constraints and lane parameters. The local path group generation module is used to calculate the distance between the vehicle and the obstacle based on vehicle sensor information. If the distance between the vehicle and the obstacle is greater than the minimum obstacle avoidance distance, a local path group containing local paths is generated based on preset rules. The local path evaluation module is used to calculate the obstacle avoidance cost of local paths in the local path group based on a preset cost function, and to complete the local path planning based on the obstacle avoidance cost calculation results.
8. An electronic device, characterized in that, include Processor; and A memory storing computer-readable instructions that, when executed by the processor, implement the method according to any one of claims 1 to 6.
9. A computer-readable storage medium having a computer program stored thereon, the computer program implementing the method according to any one of claims 1 to 6 when executed by a processor.