Travel path planning method, device and equipment and computer storage medium

By constructing an N-dimensional state space and configuring node dimensions, and using a hybrid A* algorithm to plan vehicle driving paths, the problem of low efficiency in vehicle parking path planning is solved, and efficient path planning is achieved.

CN115993127BActive Publication Date: 2026-05-29CHANGSHA INTELLIGENT DRIVING INST CORP LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
CHANGSHA INTELLIGENT DRIVING INST CORP LTD
Filing Date
2021-10-20
Publication Date
2026-05-29

AI Technical Summary

Technical Problem

Existing technologies have low efficiency in vehicle parking path planning due to limitations in dynamic performance, such as steering ability and the difference in heading angle between the tractor and trailer.

Method used

An N-dimensional state space is constructed, and nodes whose distance to the termination node is less than or equal to a distance threshold are classified as N-dimensional nodes, while nodes whose distance is greater than the distance threshold are classified as M-dimensional nodes. By using a hybrid A* algorithm, the driving path is planned in the N-dimensional state space, reducing computational power consumption and improving planning efficiency.

Benefits of technology

While ensuring the reliability of vehicle route planning, it reduces computing power consumption and improves the efficiency of vehicle route planning.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115993127B_ABST
    Figure CN115993127B_ABST
Patent Text Reader

Abstract

The application discloses a driving path planning method, device and equipment and a computer storage medium. The driving path planning method comprises the following steps: acquiring a path planning area and a starting pose and a terminal pose of a vehicle, wherein the starting pose and the terminal pose are N-dimensional data, N is an integer greater than 2; an N-dimensional state space matched with the N-dimensional data is constructed for the path planning area, wherein the N-dimensional state space comprises a plurality of nodes, the plurality of nodes comprise a starting node corresponding to the starting pose and a terminal node corresponding to the terminal pose, the terminal node and nodes with a distance less than or equal to a distance threshold value from the terminal node are configured as N-dimensional nodes, and nodes with a distance greater than the distance threshold value from the terminal node are configured as M-dimensional nodes, M is an integer less than N; and a first driving path from the starting node to the terminal node is planned in the N-dimensional state space. The application can reduce the consumption of computing power and improve the planning efficiency of the driving path of the vehicle.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of vehicle technology, and in particular relates to a driving path planning method, device, equipment and computer storage medium. Background Technology

[0002] As is well known, the field of autonomous driving typically involves the planning of parking paths for vehicles. However, vehicles are often limited by dynamic performance constraints, such as steering limitations and the difference in heading angle between the tractor and trailer. Therefore, parking path planning often suffers from low efficiency. Summary of the Invention

[0003] This application provides a driving path planning method, apparatus, device, and computer storage medium to solve the problem of low parking path planning efficiency in related technologies.

[0004] In a first aspect, embodiments of this application provide a driving route planning method, the method comprising:

[0005] Obtain the path planning region and the vehicle's starting and ending poses. Both the starting and ending poses are N-dimensional data, where N is an integer greater than 2.

[0006] For the path planning region, an N-dimensional state space matching the N-dimensional data is constructed. The N-dimensional state space includes multiple nodes, including a start node corresponding to the start pose and a stop node corresponding to the stop pose. The stop node and nodes whose distance from the stop node is less than or equal to a distance threshold are configured as N-dimensional nodes, and nodes whose distance from the stop node is greater than a distance threshold are configured as M-dimensional nodes, where M is an integer less than N.

[0007] In an N-dimensional state space, plan the first travel path from the starting node to the ending node.

[0008] Secondly, embodiments of this application provide a driving route planning device, the device comprising:

[0009] The first acquisition module is used to acquire the path planning area and the vehicle's starting and ending poses. Both the starting and ending poses are N-dimensional data, where N is an integer greater than 2.

[0010] The construction module is used to construct an N-dimensional state space that matches the N-dimensional data for the path planning region. The N-dimensional state space includes multiple nodes, including a start node corresponding to the start pose and a stop node corresponding to the stop pose. The stop node and nodes whose distance from the stop node is less than or equal to a distance threshold are configured as N-dimensional nodes, and nodes whose distance from the stop node is greater than a distance threshold are configured as M-dimensional nodes, where M is an integer less than N.

[0011] The planning module is used to plan the first travel path from the starting node to the ending node in an N-dimensional state space.

[0012] Thirdly, embodiments of this application provide an electronic device, the device including: a processor and a memory storing computer program instructions;

[0013] When the processor executes computer program instructions, it implements the driving path planning method as shown in the first aspect.

[0014] Fourthly, embodiments of this application provide a computer storage medium storing computer program instructions, which, when executed by a processor, implement the driving path planning method as shown in the first aspect.

[0015] The driving path planning method provided in this application obtains the path planning region and the vehicle's starting and ending poses. Both the starting and ending poses are N-dimensional data. An N-dimensional state space matching the N-dimensional data is constructed for the path planning region. This N-dimensional state space includes multiple nodes, including a starting node corresponding to the starting pose and an ending node corresponding to the ending pose. The ending node and nodes whose distance to the ending node is less than or equal to a distance threshold are configured as N-dimensional nodes, and nodes whose distance to the ending node is greater than the distance threshold are configured as M-dimensional nodes. In the N-dimensional state space, a first driving path from the starting node to the ending node is planned, where N is an integer greater than 2 and M is an integer less than N. This embodiment configures the dimension of a node in the N-dimensional state space based on the distance to the ending node, which helps to reduce computational power consumption and improve the efficiency of vehicle driving path planning while ensuring the reliability of the planning. Attached Figure Description

[0016] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments of this application will be briefly introduced below. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0017] Figure 1 This is a flowchart illustrating the driving path planning method provided in an embodiment of this application;

[0018] Figure 2 This is an example diagram of a three-dimensional state space and node index;

[0019] Figure 3 This is a schematic diagram illustrating the node expansion method in the hybrid A* algorithm.

[0020] Figure 4This is a flowchart of the hybrid A* algorithm;

[0021] Figure 5a and Figure 5b These are example images of the vehicle in two different poses;

[0022] Figure 6 Here are example graphs of the Dubins curve and the RS curve;

[0023] Figure 7 This is a flowchart illustrating the process of determining whether the current node and the termination node can be connected via a Dubins curve;

[0024] Figure 8 This is a flowchart illustrating the hybrid A* algorithm based on adaptive dimensions;

[0025] Figure 9 It is a comparison diagram of the actual state and equivalent state of the vehicle and the obstacle;

[0026] Figure 10 This is a schematic diagram illustrating the principle of generating a safe driving zone for any particle.

[0027] Figure 11 This is a flowchart illustrating a specific application example of a driving path planning method.

[0028] Figure 12 This is a schematic diagram of the driving path planning device provided in the embodiments of this application;

[0029] Figure 13 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application. Detailed Implementation

[0030] The features and exemplary embodiments of various aspects of this application will be described in detail below. To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain this application and not to limit it. For those skilled in the art, this application can be implemented without some of these specific details. The following description of the embodiments is merely to provide a better understanding of this application by illustrating examples.

[0031] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus that includes the element.

[0032] To address the problems of the prior art, embodiments of this application provide a driving route planning method, apparatus, device, and computer storage medium. The driving route planning method provided in this application embodiment will be described first below.

[0033] Figure 1 A flowchart illustrating a driving path planning method according to an embodiment of this application is shown. Figure 1 As shown, the method includes:

[0034] Step 101: Obtain the path planning region and the vehicle's starting and ending poses. Both the starting and ending poses are N-dimensional data, where N is an integer greater than 2.

[0035] Step 102: Construct an N-dimensional state space that matches the N-dimensional data for the path planning region. The N-dimensional state space includes multiple nodes, including a starting node corresponding to the starting pose and a ending node corresponding to the ending pose. The ending node and nodes whose distance from the ending node is less than or equal to a distance threshold are configured as N-dimensional nodes, and nodes whose distance from the ending node is greater than a distance threshold are configured as M-dimensional nodes, where M is an integer less than N.

[0036] Step 103: In the N-dimensional state space, plan the first driving path from the starting node to the ending node.

[0037] In this embodiment, the path planning area can be defined as needed.

[0038] For example, in a given application scenario, a vehicle might need to travel from its starting point to a parking space. Accordingly, the path planning area includes both the vehicle's starting point and the parking space. In one example, the path planning area could be rectangular, and within it, there might be areas available for the vehicle to travel on, as well as obstacles, etc.

[0039] Of course, the above-mentioned path planning can also be applied to scenarios other than parking, such as obstacle avoidance path planning during normal driving. The size and shape of the path planning area are not specifically limited, as long as it includes the vehicle's starting position and the planned ending position.

[0040] When planning a driving path, corresponding constraints can be set. For example, the starting and ending positions mentioned above can be considered as spatial constraints. Generally, these constraints also include constraints on the vehicle's attitude at these positions.

[0041] Position and attitude can be collectively referred to as pose. Therefore, in step 101, the starting pose and ending pose of the vehicle can be obtained as constraints for driving path planning.

[0042] It's easy to understand that each location within the path planning area can be represented by coordinates in a predefined XY coordinate system. Taking the initial pose as an example, it can include the X and Y coordinates in this XY coordinate system, where the X and Y coordinates can be considered as two dimensions of data. Of course, the initial pose can also include vehicle attitude data, such as the vehicle's heading angle; furthermore, if the vehicle includes a tractor and a semi-trailer, the vehicle attitude data can also include the difference in heading angle between the tractor and the semi-trailer. The heading angle or heading angle difference mentioned above can each be considered as a single dimension of data.

[0043] In a specific application scenario, such as the example above, when the vehicle includes a tractor and a semi-trailer, its initial pose can include four dimensions of data: X-coordinate, Y-coordinate, tractor heading angle, and the difference in heading angle between the tractor and the semi-trailer. Therefore, the initial pose can be considered as four-dimensional data. The final pose is similar to the initial pose and can also be four-dimensional data.

[0044] Of course, in practical applications, the vehicle can also be a regular vehicle excluding the semi-trailer. In this case, the initial and final poses may not include the heading angle difference data mentioned above. In other feasible methods, the initial and final poses may also include data from other dimensions, etc.

[0045] In summary, in this embodiment, both the initial pose and the final pose are N-dimensional data, where N is an integer greater than 2. For the sake of simplicity, the following description mainly uses four-dimensional data as an example of N-dimensional data, which includes the X coordinate, Y coordinate, the heading angle of the tractor (hereinafter referred to as the first heading angle), and the heading angle difference between the tractor and the semi-trailer (hereinafter referred to as the heading angle difference).

[0046] In step 102, an N-dimensional state space matching the N-dimensional data can be constructed for the path planning region. The N-dimensional space includes multiple nodes.

[0047] Matching N-dimensional data with an N-dimensional state space mainly means that the dimensions of both can be the same.

[0048] To facilitate understanding of the state space, dimensions, and relationships between nodes, we can first provide a simplified description of the two-dimensional state space.

[0049] This two-dimensional state space includes the two-dimensional space corresponding to the path planning region. Assuming this two-dimensional space is a rectangle, dividing it into multiple smaller rectangles along the X and Y axes according to preset intervals can be achieved. Each smaller rectangle corresponds to a node, and each node can be represented by coordinates; for example, the coordinates of a node could be the coordinates of the center point of the rectangle it corresponds to. Thus, each node can be associated with data in both the X and Y coordinate dimensions.

[0050] If we add the first heading angle as a dimension to the two-dimensional state space, we can obtain a three-dimensional state space. In this three-dimensional state space, each node can be associated with three dimensions: the X coordinate, the Y coordinate, and the first heading angle. Accordingly, each node can be considered a three-dimensional node.

[0051] In one example, when a vehicle arrives at a small rectangle from different directions, if the first heading angle is different when the vehicle arrives at the small rectangle, it can be considered that it has arrived at different nodes in the three-dimensional state space.

[0052] like Figure 2 As shown, Figure 2 This is an example diagram of a three-dimensional state space and node indexing, where the x-axis corresponds to the X-coordinate and the y-axis corresponds to the Y-coordinate. This corresponds to the first heading angle dimension.

[0053] The initial pose and the final pose each have corresponding nodes in this three-dimensional state space, defined as the start node and the end node, respectively. The process of planning the vehicle's driving path can be equivalent to planning the driving path from the start node to the end node. Specifically, this is done by using node indexing to obtain a discrete set of nodes from the start node to the end node. In the discrete node set, each discrete node is associated with three dimensions of data, which can provide guidance for the vehicle's driving so that the vehicle can reach the final pose from the start pose.

[0054] If we add the heading angle difference dimension to the aforementioned three-dimensional state space, we obtain a four-dimensional state space. In this four-dimensional state space, each node can be associated with four dimensions; correspondingly, each node can be considered a four-dimensional node.

[0055] In a four-dimensional state space, there is also a starting node to an ending node; the process of planning a vehicle's driving path can also be a process of indexing discrete nodes from the starting node to the ending node.

[0056] It's easy to understand that a four-dimensional state space has a significantly increased number of nodes compared to a three-dimensional state space, which in turn requires more computing power to index discrete nodes. This greatly increases computational resource consumption and leads to lower efficiency in planning travel paths.

[0057] Taking the above example where N equals 4 and M equals 3, in step 102 of this embodiment, when constructing the four-dimensional state space (i.e., the N-dimensional state space), the dimensions of each node are configured. Specifically, the terminating node and nodes whose distance from the terminating node is less than or equal to a distance threshold are configured as four-dimensional nodes, and nodes whose distance from the terminating node is greater than a distance threshold are configured as three-dimensional nodes.

[0058] In theory, every node in a four-dimensional state space is a four-dimensional node. However, in this embodiment, nodes that are far from the termination node (i.e., nodes whose distance from the termination node is greater than a distance threshold) can be dimensionalized and configured as three-dimensional nodes.

[0059] For example, there are two nodes with coordinates (50,40,20,10) and (50,40,20,5) in the four-dimensional state space, where 50 is the X coordinate in meters; 40 is the Y coordinate in meters; 20 is the first heading angle in degrees; and 10 and 5 are the difference in heading angles in degrees.

[0060] If these two nodes are far from the termination node, the dimension of the difference in heading angle between the two nodes can be reduced, and the resulting coordinates are both (50, 40, 20). In this case, the coordinates of the two nodes are the same, and they can be considered as the same node.

[0061] During node indexing, if the current node is (50,40,20,10), since the dimension-reduced node (50,40,20,5) is the same as node (50,40,20,10), the case of a vehicle arriving at node (50,40,20,5) will no longer be considered. More specifically, the case of a vehicle arriving at node (50,40,20) will no longer be considered.

[0062] It is evident that when the region indexed by a node is far from the terminal node, the four-dimensional state space can be effectively reduced to a three-dimensional state space. In this way, the number of nodes available for indexing is reduced accordingly, thereby effectively improving the planning efficiency of the driving path.

[0063] When the region where node indexing is performed is close to the termination node, in order to ensure that the vehicle can reliably reach the termination node, discrete node indexing can be performed in the four-dimensional state space.

[0064] For example, if the nodes (50,40,20,10) and (50,40,20,5) are close to the termination node (i.e., the distance to the termination node is less than the distance threshold), then these two nodes are different nodes. During the node indexing process, if the current node is node (50,40,20,10), then the case where the vehicle arrives at node (50,40,20,5) can still be considered later.

[0065] Of course, it is worth emphasizing that the values ​​of M and N mentioned above are merely illustrative. In practical applications, their values ​​can be adjusted as needed.

[0066] For example, M can be equal to 2, and N can be equal to 4. Thus, when a node is far from the terminal node, it can be configured as a two-dimensional node and associated with both the X and Y coordinates.

[0067] For example, M can be equal to 2 and N can be equal to 3. In this case, the vehicle may not include the semi-trailer, and the three-dimensional state space can be associated with the three dimensions of X coordinate, Y coordinate and first heading angle; at the same time, when a node is far from the termination node, the node can be configured as a two-dimensional node and associated with the two dimensions of X coordinate and Y coordinate.

[0068] As for planning the first driving path from the starting node to the ending node in step 103, it can be achieved by the conventional hybrid A* algorithm or a modified hybrid A* algorithm, which will be explained in detail in the following embodiments.

[0069] The driving path planning method provided in this application obtains the path planning region and the vehicle's starting and ending poses. Both the starting and ending poses are N-dimensional data. An N-dimensional state space matching the N-dimensional data is constructed for the path planning region. This N-dimensional state space includes multiple nodes, including a starting node corresponding to the starting pose and an ending node corresponding to the ending pose. The ending node and nodes whose distance to the ending node is less than or equal to a distance threshold are configured as N-dimensional nodes, and nodes whose distance to the ending node is greater than the distance threshold are configured as M-dimensional nodes. In the N-dimensional state space, a first driving path from the starting node to the ending node is planned, where N is an integer greater than 2 and M is an integer less than N. This embodiment configures the dimension of a node in the N-dimensional state space based on the distance to the ending node, which helps to reduce computational power consumption and improve the efficiency of vehicle driving path planning while ensuring the reliability of the planning.

[0070] Optionally, step 102 above, planning the first travel path from the starting node to the ending node in the N-dimensional state space, includes:

[0071] The current node is determined from the preset open list. The open list is used to record the nodes expanded during the planning of the first driving path, as well as the total generation value of each expanded node. The current node is the node with the smallest total generation value in the open list.

[0072] Connect the current node and the termination node using a preset curve;

[0073] If the preset curve meets the preset conditions, the first driving path is determined based on the preset curve;

[0074] If the preset curve does not meet the preset conditions, update the open list and return to the step of determining the current node from the preset open list;

[0075] The preset conditions include avoiding obstacles in the path planning area.

[0076] The following description uses the implementation process of a conventional hybrid A* algorithm to illustrate this embodiment.

[0077] The hybrid A* algorithm, also known as the hybrid A* algorithm, is a heuristic search algorithm. Generally, the hybrid A* algorithm requires dividing the path planning region into a grid, discretizing the continuous space, thus allowing the search to be performed within a finite discrete space.

[0078] In the discretized two-dimensional plane, the starting point and the ending point are represented by grids. At the same time, by determining which grids the obstacle falls into, the other grids are divided into two categories: blank grids and grids occupied by obstacles.

[0079] Typically, the hybrid A* algorithm takes into account the vehicle's attitude angles in each grid cell. Accordingly, the vehicle's first attitude angle... It is also discretized as a third dimension, allowing the hybrid A* algorithm to ultimately establish a discrete... State space.

[0080] Generally, this spatial grid formed by discretization can be called a node, and each node represents the vehicle state within a certain neighborhood. After determining the target start and end nodes of the driving path planning task, the hybrid A* algorithm will use heuristic search to obtain a sequence of nodes connecting the start and end nodes. This sequence of nodes, after processing, can become the planned vehicle driving path.

[0081] The core idea of ​​the hybrid A* algorithm is to continuously expand the search range from the starting node outwards, and to continuously expand the search according to the most promising node position selected by a certain heuristic function until the terminal node is found.

[0082] In the hybrid A* algorithm, each node N k The following attributes should be recorded: Total agency value f(N) k ), estimated future cost h(N) k The cost of the path already traversed, g(N). k ), parent node index parent(N) k The boolean state variable `is_open(N)` in the open list indicates whether the current node is an unsearched node. k The boolean state variable `is_close(N)` indicates whether the current node has been searched. k The current node's position and orientation. And the input control variables v and θ that enable it to travel from the previous node to this node, where v represents the distance traveled and θ represents the vehicle's steering angle. Total cost f(N) k The sum of the cost of the path already traversed and the estimated cost of the future path is denoted as .

[0083] f(N k )=g(N k )+h(N k (1)

[0084] The first step of the hybrid A* algorithm is to start the node N. start Complete information, i.e., setting g(N) start =0, calculate h(N) start ) and g(N start ), set the parent node to null, add the starting node to the open list, and set is_close(N) start The future cost is estimated as 0, where the method for estimating the future cost will be described below. After adding the starting node to the open list as the first element, the hybrid A* algorithm begins the search process for subsequent nodes.

[0085] The hybrid A* algorithm dynamically updates and maintains an open list of nodes to be explored in the future during the search process. If node N... k If a record is saved in the open list during a search, then the state is_open(N). k The value of `is_open(N)` should be set to 1. If a node in the open list is selected for expansion during a search, it is immediately removed from the open list and marked as expanded. This means that for that node, `is_open(N)` should be set to 1. k ) will be changed to 0 and is_close(N)k ) is set to 1.

[0086] At the beginning of each iteration, the hybrid A* algorithm selects the node with the smallest total generation value from the open list (if multiple nodes simultaneously achieve the smallest total generation value, the most recently added node is generally chosen). For ease of explanation, let's assume the selected node is denoted as the current node N. now After selecting the current node, the hybrid A* algorithm first determines whether the current node is already the endpoint or whether the endpoint can be reached through a feasible RS curve. The RS curve can correspond to the preset curve mentioned above.

[0087] The RS curve, proposed by Reeds and Shepp in 1990, allows for the connection of any starting and ending poses on a plane using 48 possible combinations of straight lines or circular arcs (i.e., RS curves), ensuring the shortest path length from a vehicle kinematics perspective. Although the RS curve calculation process cannot consider obstacles, its computation speed is fast. In the hybrid A* algorithm, the RS curve is typically constructed first, and then a collision check is performed to verify whether the node can successfully avoid obstacles and reach the final pose via the RS curve. If the RS curve connecting the node to the endpoint is collision-free, the hybrid A* algorithm terminates.

[0088] If the node is neither the endpoint nor can it be connected to the endpoint via a feasible RS curve, the hybrid A* algorithm will then expand the node to obtain a series of feasible expansion nodes. Expansion nodes that have not yet been searched and have not been added to the open list will be placed in the open list for further searching, while expansion nodes that have not yet been searched but have been added to the open list will have their total generation value updated.

[0089] like Figure 3 As shown, in the hybrid A* algorithm, the node expansion method is: starting from the current node's position and pose... Starting from a point, v and θ are fixed to a given value. The endpoint position and attitude reached after a fixed time dt are used as extension nodes.

[0090] An example of setting the input control variable v and θ is: v∈{-v} max ,v max}, θ∈{-θ max ,0,θ max}, where v max It is a pre-set movement step length, such as the preset maximum parking speed, θ max For a pre-set steering angle, such as the vehicle's maximum steering angle. In this case, such as... Figure 3 As shown, six nodes can be expanded from a single node. The node being expanded can be called the parent node, and the six expanded nodes can be called child nodes N.child .

[0091] To represent the sequence relationship between parent and child nodes, the pose of the parent node can be denoted as... Record the pose of the child node as Then we have:

[0092]

[0093]

[0094]

[0095] Where L is the wheelbase of the vehicle.

[0096] The next step, the hybrid A* algorithm, will be applied to these six child nodes N. child The checks are performed sequentially. First, it checks if a child node is feasible, meaning whether a portion of the vehicle will be within the obstacle's range after reaching that child node. If so, the child node is abandoned; otherwise, it checks if the child node has already been expanded (i.e., is_close(N)). child Is the value 1? If yes, discard the child node; otherwise, check if the child node is already in the open list (i.e., is_open(N)). child If the value is 1, and it is not in the list, calculate its generation value and add it to the open list, and set its parent node to N. now .

[0097] The cost value can be calculated using the following method:

[0098] g(N child )=g(N now )+ds+penalties (2)

[0099] h(N child ) = max(RS(N child ),dis(N child (3)

[0100] Where, `penalties` represents the possible penalty cost functions, which can be set according to the specific situation of interest, such as penalizing changes in vehicle direction or penalizing the magnitude of the change in direction; RS(N child ) represents the RS curve length from the child node to the target endpoint, and dis(N) represents the length of the RS curve from the child node to the target endpoint. child Let be the shortest path distance from this child node to the target endpoint, avoiding obstacles, without considering vehicle movement restrictions. This shortest path distance can be obtained using the A* algorithm mentioned above or other algorithms, which will not be elaborated upon here.

[0101] The total cost can be determined by formula (1). If the child node is already in the open list, its total generation value is still calculated. If the obtained total generation value is smaller than the currently saved total generation value, its total generation value is updated.

[0102] The hybrid A* algorithm succeeds if it finds the terminal node or connects to it using an RS curve at a found node to avoid obstacles. Hybrid A* algorithm failures typically occur when the open list is empty, meaning all feasible nodes have been searched but the target endpoint cannot be reached.

[0103] like Figure 4 As shown, the hybrid A* algorithm can be summarized as follows:

[0104] Step 401: Initialize the development list to an empty set;

[0105] That is, for any node N k All are initialized to is_open(N) k ) = 0.

[0106] Step 402: Generate a starting node and add it to the open list;

[0107] Step 403: Determine if the open list is not empty; if yes, proceed to step 404; otherwise, return the result indicating failure to solve.

[0108] It is worth noting that this step can be considered a loop step. That is, during the operation of the hybrid A* algorithm, it will repeatedly check whether the open list is not empty. When the open list is determined to be empty, it means that the corresponding path cannot be planned.

[0109] Step 404: Select the node N with the lowest total value from the open list. now ;

[0110] Step 405, determine N now Is it the endpoint node? If not, proceed to step 406; otherwise, proceed to step 420.

[0111] This step can be considered as determining N. now Is it the node corresponding to the target endpoint?

[0112] Step 406, use RS curves to generate the connecting N now The path c to the target destination.

[0113] Step 407: Determine if c can avoid the obstacle; if not, proceed to step 408; if yes, proceed to step 421.

[0114] Step 408, Extend N now This yields the set of child nodes G;

[0115] This step can be considered as expanding the parent node to obtain child nodes. (Combined with the above...) Figure 4 For example, the set of child nodes G can include 6 child nodes N. child .

[0116] Step 409: Determine if G is not empty. If not, proceed to step 410; if yes, proceed to step 411.

[0117] Step 410, N now Remove from the open list and return to step 403.

[0118] Step 411, extract a child node N from G. child ;

[0119] Step 412, determine is_close(N) child If the value is 1, proceed to step 413; otherwise, return to step 409.

[0120] Step 413, determine is_open(N) child If the value is 1, proceed to step 414; otherwise, proceed to step 416.

[0121] Step 414, calculate N child The total value of the agent, proceed to step 415.

[0122] Step 415, if N child If the total value of the substitution is less than the existing value, then update the total cost and return to step 409.

[0123] Step 416, determine from N now To N child If the local path collides with an obstacle, proceed to step 417; otherwise, proceed to step 418.

[0124] Step 417, set is_close(N) child ) = 1, and return to execute step 409.

[0125] Step 418, calculate N child The various attributes and costs are determined, and step 419 is executed.

[0126] Step 419, N child Add to the open list and return to step 409.

[0127] Step 420, record node N now Proceed to step 422.

[0128] Step 421, record node Nnow And c, proceed to step 422.

[0129] Step 422: Trace the parent node back to the starting point through the recorded nodes and return the motion path.

[0130] It is easy to understand that, based on the example above, when M=2, the above hybrid A* algorithm will be simplified to the A* algorithm, which will not be explained in detail here.

[0131] like Figure 5a and Figure 5b As shown, in one application scenario, the vehicle includes a first vehicle body and a second vehicle body, which are connected by a linkage. The first vehicle body can correspond to the aforementioned tractor unit, while the second vehicle body can correspond to the aforementioned semi-trailer unit. The two ends of the linkage can be hinged to the first and second vehicle bodies, respectively.

[0132] Optionally, when the vehicle has the above structure, the N-dimensional state space is associated with a first-dimensional parameter, and the M-dimensional node is obtained by reducing the first-dimensional parameter of the node. The first-dimensional parameter is the difference between the heading angle of the first vehicle body and the heading angle of the second vehicle body.

[0133] The heading angle of the first vehicle body can correspond to the first heading angle mentioned above, denoted as... The first parameter corresponds to the heading angle difference mentioned above, denoted as... At this point, the N-dimensional state space can be a four-dimensional state space, denoted as...

[0134] As shown above, in a four-dimensional state space, the large state space will lead to an increase in the time spent on driving path planning. The inevitable estimation model mismatch of the heuristic function in the hybrid A* algorithm will also cause the hybrid A* algorithm to be unable to efficiently search for the terminal node.

[0135] In this embodiment, at locations where the heading angle of the second vehicle body (i.e., the semi-trailer) can be disregarded, the four-dimensional nodes are reduced to a dimension of [missing information]. The three-dimensional nodes correspond to the process described above of reducing the first dimension of the nodes in the N-dimensional state space. This minimizes the number of nodes in the state space, thus accelerating the node search process.

[0136] like Figure 5a and Figure 5b As shown, the tractor's state is the same under both vehicle orientation conditions (i.e., the tractor's position (x, y) and heading angle are the same). (Same), and only the heading angle difference between the tractor and the semi-trailer (respectively...) and Since there are differences, the states of the two vehicles can be considered to be at the same node in three-dimensional space.

[0137] In one application example, when the vehicle is far from the termination node, it is not necessary to consider whether the semi-trailer's heading angle can meet the termination pose requirements; it is sufficient to ensure that the current vehicle is continuously approaching the termination node. For example, only when the current node is close to the termination node (e.g., less than or equal to the threshold T) is the heading angle considered. d Only then do we need to consider the difference between the current semi-trailer heading angle and the heading angle corresponding to the termination pose. At this point, we restore the node dimension to four dimensions to ensure sufficient state space around the termination node so that the hybrid A* algorithm can find a feasible solution. In this way, while ensuring a feasible solution is found, the size of the state space can be reduced as much as possible to achieve the goal of fast planning.

[0138] As can be seen from the above application examples, when planning vehicle travel paths, it is necessary to consider the distance between each node in the N-dimensional state space and the terminal node.

[0139] In one embodiment, the distance between any node and the termination node is the length of the path from that node to the termination node planned using the A* algorithm.

[0140] In a specific application example, during node expansion, it is determined whether the basic A-planet path length between any node and the termination node is greater than a certain threshold T. d If yes, set the node as a 3D node; otherwise, set the node as a 4D node.

[0141] It's important to note that setting a node as a 3D node does not completely remove the heading angle difference parameter between the tractor and the semi-trailer. This heading angle difference is still calculated through forward simulation using the vehicle's kinematic equations and recorded as part of the node information. It can also be used for collision detection of the semi-trailer later. However, at this point, the heading angle difference can be considered a fixed attribute value for the node but is not involved in the path planning based on the hybrid AlphaGo algorithm. When the hybrid AlphaGo algorithm is extended to this node again, it is considered the same node even if the heading angle differences are different.

[0142] In some feasible implementations, the distance between any node and the termination node can also be the straight-line distance between the two nodes in the two-dimensional space of (x, y), etc., which will not be illustrated here.

[0143] Based on the example above, when planning the first driving path, the preset curve connecting the current node and the end node can be an RS curve.

[0144] To further improve the efficiency of the first driving path planning, in one embodiment, the aforementioned preset curve can be a Durbin curve.

[0145] Among them, the Dubins curve, which was proposed by Dubins in 1957, is based on the theory that the shortest curve connecting the poses of two points in a plane consists of an arc and a straight line constrained by the maximum curvature.

[0146] The Dubins curve is similar to the RS curve, but the difference is that the Dubins curve can only move forward, while the RS curve can move either forward or backward. An example illustrating the difference between the Dubins and RS curves is... Figure 6 As shown, Figure 6 The figure shows the Dubins curve and the RS curve connecting the starting pose (corresponding to the initial pose) and the ending pose (corresponding to the final pose). As can be seen from this figure, due to the limitation of the motion direction, the Dubins curve is longer than the RS curve.

[0147] Because RS curves are more flexible, their generation requires calculating the lengths of 48 possible straight-line and curve combinations, while generating Dubins curves only requires calculating the lengths of 6. This significantly reduces computation time compared to RS curves, helping to ensure real-time planning. For example, in a scenario involving reversing into a parking space, Dubins curves demonstrate outstanding practicality.

[0148] Optionally, when the vehicle includes a first vehicle body and a second vehicle body, and the vehicle is reversing, after connecting the current node and the termination node using a preset curve, the method further includes:

[0149] The reverse curve is derived by reversing the preset curve. The preset curve includes P first nodes, and the reverse curve includes P second nodes. The P first nodes and P second nodes are the same in the M-dimensional state space. The M-dimensional state space is obtained by reducing the first dimension parameter of the N-dimensional state space. P is an integer greater than 1.

[0150] Obtain the first dimension parameter of each second node;

[0151] The preset conditions also include: the first dimension parameter of each second node is less than or equal to the heading angle difference threshold; in the N-dimensional state space, the termination node is the same as the second node at the end of the back-reasoning curve.

[0152] It's easy to understand that for vehicles including tractor-trailers and semi-trailers, if the tractor-trailer maintains a constant steering angle, it will advance a preset distance from one position, then reverse a preset distance back to that position. These three parameters may remain unchanged, but But things may have changed.

[0153] When a vehicle is reversing, because the Dubins curve only allows forward movement, when connecting the current node and the termination node using the Dubins curve, the connection is made from the termination node to the current node. However, the actual direction of vehicle travel is from the current node to the termination node. This may lead to the following situations: First, when the vehicle travels along the Dubins curve and reaches the termination position, the heading angle difference may not meet the termination pose requirements. Second, at certain intermediate positions, the heading angle difference may exceed the maximum operating heading angle difference (corresponding to the heading angle difference threshold).

[0154] When the above situations occur, it can be considered that the current node and the termination node cannot be connected by the Dubins curve, and further expansion of child nodes is required. Therefore, when judging whether the preset curve meets the preset conditions, the preset conditions can include not only avoiding obstacles in the path planning area, but also: the first dimension parameter of each second node is less than or equal to the heading angle difference threshold; in the N-dimensional state space, the termination node is the same as the second node at the end of the reverse curve.

[0155] The following example illustrates this embodiment using a scenario of a vehicle reversing into a parking space.

[0156] like Figure 7 As shown, the process of determining whether the current node and the termination node can be connected by a Dubins curve includes the following steps:

[0157] Step 701: During the process of using Dubins curves to extend nodes, generate a Dubins curve χ that connects the termination pose and the current pose.

[0158] It is easy to understand that the Dubins curve χ can include the P first nodes mentioned above.

[0159] Step 702: Back-reasoning to obtain the set of heading angle differences between the tractor and the semi-trailer;

[0160] The inverse curve connecting the current pose and the final pose is obtained by inverse calculation based on the Dubins curve χ. This inverse curve includes P second nodes.

[0161] exist In the three-dimensional state space, the node sequence consisting of P first nodes is exactly the opposite of the node sequence consisting of P second nodes. However, the two node sequences have the same... The node, They may not be the same. In this step, it can be considered as obtaining the associations of each of the P second nodes.

[0162] The following are the associations for each node. The calculation method will be illustrated with an example. Let the flight angle of the semi-trailer be denoted as... Then we have:

[0163]

[0164] in, v(k) and θ(k) represent the speed and front wheel angle of the tractor at the current node. L1 is the wheelbase of the tractor, and L2 is the distance from the trailer axle to the articulation point. M1 is the distance from the articulation point to the center of the tractor's rear axle. From the above formula, it can be seen that when the vehicle state at the current path point (k) is known, the semi-trailer heading angle at the next path point (k+1) can be derived.

[0165] Step 703: Determine whether any heading angle difference exceeds the maximum permissible heading angle difference. If not, proceed to step 704. If yes, return "Expansion Failure".

[0166] Generally speaking, the angle between the tractor and the semi-trailer should always be less than or equal to a certain threshold, i.e., the maximum permissible heading angle difference. If it exceeds this threshold, a collision may occur between the tractor and the semi-trailer or the articulated structure between them may be damaged.

[0167] In this step, the maximum permissible heading angle difference corresponds to the heading angle difference threshold mentioned above, which can be denoted as:

[0168] Step 704: Determine whether the heading angle difference at the end of the Dubins curve is the same as the heading angle difference at the termination pose. If yes, return "Extension successful"; otherwise, return "Extension failed".

[0169] Of course, in practical applications, collision detection is also required for the tractor-semi-trailer system status at each path point on the Dubins curve. If a collision occurs, the Dubins path expansion fails; if no collision occurs, the iterative solution exits and returns a success message.

[0170] Combining the adjustment of node dimensions in the N-dimensional state space in the above embodiments, and the description of setting the preset curve as a Dubins curve, the planning algorithm for the first driving path can be called the adaptive dimension-based hybrid A* algorithm. Figure 8 As shown, this adaptive dimension-based hybrid A* algorithm can be summarized as including the following steps:

[0171] Step 801: Obtain the start node and the end node, and add the start node to the open list;

[0172] Step 802: Remove the node with the smallest total generation value up to the termination node from the open list and record it as the current node;

[0173] Step 803: Determine whether the Dubins curve from the current node to the termination node is collision-free and meets the heading angle difference limit between the tractor and the semi-trailer. If yes, proceed to step 806; otherwise, proceed to step 804.

[0174] Step 804: Generate three-dimensional or four-dimensional child nodes according to the adaptive dimension method;

[0175] Step 805: Calculate the cost of child nodes, add child nodes that do not collide with obstacles and have not yet been searched to the open list, and return to execute step 802.

[0176] Step 806: Search ends, output the first driving path and generate the trajectory.

[0177] This hybrid A* algorithm based on adaptive dimensions, on the one hand, generates child nodes through adaptive dimensions, which helps reduce the number of child nodes that need to be expanded; on the other hand, it uses a relatively simple Dubins curve to connect the terminating node and the current node. The combined application of these two methods can effectively improve the efficiency of driving path planning.

[0178] In step 103, the planned first driving path can be considered a relatively coarse trajectory. To obtain a smoother trajectory and improve the smoothness of vehicle driving, in this embodiment, after planning the first driving path from the starting node to the ending node in the N-dimensional state space in step 103, the method further includes:

[0179] The first driving path is smoothed to obtain the second driving path, with the constraints of vehicle kinematics, obstacle avoidance, starting pose, ending pose, and vehicle motion state as the conditions, and the goal is to minimize the weighted sum of the loss values ​​brought by the planned trajectory on S preset motion parameters. S is a positive integer.

[0180] The process of smoothing the first travel path can be considered as solving a trajectory optimization problem. The following example, where both the initial and final poses are four-dimensional data, will also be used to illustrate this embodiment.

[0181] It is easy to understand that vehicle kinematic constraints can include limitations on parameters such as acceleration, velocity, angular velocity, front wheel steering angle, and the difference in heading angle between the first and second vehicle bodies (i.e., the tractor and the semi-trailer). These can be specifically represented by the following formula:

[0182]

[0183]

[0184] in, Let t be the heading angle of the tractor. The semi-trailer's heading angle at time t The difference between them. x(t), y(t), a(t), ω(t), v(t), and θ(t) represent the x-coordinate, y-coordinate, acceleration, angular velocity, velocity, and front wheel rotation angle of the tractor unit at time t, respectively. L1 is the wheelbase of the tractor unit, and L2 is the distance from the trailer axle to the articulation point. M1 is the distance from the articulation point to the center of the rear axle of the tractor unit. T is the time threshold. max v max Ω max Φ max Φ dmax These are the threshold values ​​for acceleration, velocity, angular velocity, front wheel steering angle, and heading angle difference, respectively.

[0185] The starting pose, ending pose, and vehicle motion state limitations can be represented by the following formula:

[0186] as well as

[0187] Among them, the prescripts x, y, v, θ, a, ω These are the x-coordinate, y-coordinate, tractor heading angle, tractor speed, tractor front wheel rotation angle, tractor acceleration, tractor angular velocity, and semi-trailer heading angle, respectively. The suffix (0) corresponds to the initial state of the vehicle, the suffix (T) corresponds to the final state of the vehicle, the subscript 0 corresponds to the value of the initial state, and the subscript T corresponds to the value of the final state.

[0188] As shown above, the initial pose and the final pose are four-dimensional data, corresponding to x, y, and π. as well as In the initial and final states, the above formula restricts the values ​​of these four dimensions. The restrictions on the vehicle's motion state can be reflected in the limitations on parameters such as v, θ, a, and ω.

[0189] Obstacle avoidance restrictions can be achieved by defining safe driving zones and ensuring that vehicles travel within these zones. The specific implementation method can be set according to needs.

[0190] Vehicle kinematic constraints, obstacle avoidance, starting pose, ending pose, and vehicle motion state constraints can be input into a preset solver. This solver can output a second planned path after smoothing the first planned path, with the goal of minimizing the weighted sum of the loss values ​​brought by the planned trajectory on S preset motion parameters.

[0191] S preset motion parameters can correspond to S types of trajectory properties. For example, the S types of trajectory properties can include at least one of the following: vehicle motion time, trajectory curvature, rate of change of trajectory curvature, velocity, acceleration, and rate of change of acceleration.

[0192] For any trajectory property, a corresponding loss function can be defined. For example, for the trajectory property of vehicle motion time, the corresponding loss function can be defined as the shorter the vehicle motion time, the smaller the loss value. Similarly, for the trajectory property of the rate of change of trajectory curvature, the corresponding loss function can be defined as the smaller the rate of change of trajectory curvature, the smaller the loss value, and so on. The specific form of the loss function is not specifically limited here.

[0193] Minimizing the weighted sum of the loss values ​​resulting from the S preset motion parameters can be achieved by finding the minimum value of the following objective function:

[0194]

[0195] As for the solver mentioned above, it can be any existing solver, such as the IPOPT solver, etc., without any specific limitations here.

[0196] The trajectory optimization problem described above can be easily discretized into a typical nonlinear optimization problem, which can be easily solved using existing optimization solvers. The resulting second planned path can be a smooth, obstacle-avoiding trajectory that conforms to vehicle kinematics.

[0197] Alternatively, the constraints for avoiding obstacles are determined as follows:

[0198] Q mass points are identified on the vehicle, and Q circles are defined with the Q mass points as centers, and the Q circles can cover the vehicle.

[0199] The target length is expanded by the boundary of obstacles in the path planning area, and the target length is greater than or equal to the radius of any circle;

[0200] Determine the corresponding sub-path for each mass point based on the first driving path;

[0201] The constraint for avoiding obstacles is defined as ensuring that the driving sub-path corresponding to each mass point does not collide with obstacles after the boundary expansion target length.

[0202] like Figure 9 As shown, in this embodiment, Q circles are determined to cover the vehicle, which can be simply referred to as a multi-circle model covering the vehicle. Let the radius of these circles be R, and the obstacles in the scene are enlarged by R to obtain a scene with expanded obstacles.

[0203] exist Figure 9In this context, the actual vehicle can be considered to occupy a rectangular area, while the equivalent vehicle is multiple point masses; the equivalent obstacle is obtained by expanding the actual obstacle by a distance R.

[0204] The number of mass points is determined by the overall length and width of the vehicle. In one feasible implementation, the number of mass points = [vehicle length / vehicle width], where [] denotes rounding down, thus allowing the entire vehicle to be covered by a circle with a smaller radius.

[0205] Of course, in practical applications, the radii of the Q circles may be equal or unequal due to factors such as the distribution of particle positions. In this embodiment, the target length is greater than or equal to the radius of any of the circles, that is, the target length is at least equal to the maximum value of the radii of the Q circles. This helps to determine a more reliable safe driving area subsequently.

[0206] The aforementioned first driving path can be considered to include a sequence of nodes in a four-dimensional state space. Sampling this node sequence yields sampling points. In some feasible implementations, each node can be sampled, or sampling can be performed from the node sequence at a certain sampling frequency.

[0207] Each sampling point can be associated with data in four dimensions, namely Based on this data and the sampling distance between the Q particles, the positions of the Q particles at a sampling point can be calculated.

[0208] From the perspective of a single point mass, its position at each sampling point can be obtained, and correspondingly, the driving sub-path for that point mass can also be obtained. For Q points mass, Q driving sub-paths can be obtained, with a one-to-one correspondence between the Q points mass and the Q driving sub-paths.

[0209] like Figure 10 As shown, Figure 10 This is a schematic diagram illustrating the principle of generating a safe driving zone for any particle.

[0210] For each sampling point on the driving sub-path corresponding to each mass point obtained in the previous step, establish a rectangle that does not collide with the expanded obstacle, and continue to expand the rectangle until all four sides of it collide with the expanded obstacle.

[0211] Ensuring that all sampled points along the driving sub-path correspond to particles within their respective rectangles constitutes a collision avoidance condition, preventing the vehicle from colliding with obstacles during its movement. Therefore, the obstacle avoidance condition can be expressed as:

[0212] P q (k)∈S q (k), k = 1, ..., N s

[0213] q = 1, ..., Q

[0214] Among them, P q (k) represents the k-th sampling point on the path generated by the q-th mass point of the vehicle simplified to its current form, S. q (k) is P q (k) corresponds to the safe driving area (i.e., a rectangle).

[0215] The process of solving the trajectory optimization problem based on the safe driving area described above can be called the optimization algorithm based on the safe driving area.

[0216] The following example illustrates the driving route planning method provided in this application. Figure 11 As shown in this application example, the method includes:

[0217] Step 1101: Obtain information on the start point, end point, and obstacles;

[0218] In this step, the vehicle's starting pose, ending pose, and obstacle information in the path planning area can be obtained;

[0219] Step 1102: Plan the first driving path based on the adaptive dimension hybrid A* algorithm;

[0220] Step 1103: The first driving path is processed by an optimization algorithm based on the safe driving area to obtain the second driving path;

[0221] The second driving path obtained in this step can be a smooth, obstacle-avoiding trajectory that conforms to vehicle kinematics.

[0222] As can be seen from the above application examples, the driving path planning method provided in this application adopts a hybrid A* algorithm based on adaptive dimension adjustment for parking path planning. This adaptive dimension adjustment method can reduce the number of nodes in the state space as much as possible while ensuring that a feasible path is solved, thus realizing fast path planning in a high-dimensional state space.

[0223] Furthermore, this method is effectively applicable to automatic parking applications involving vehicles including tractor-trailers and semi-trailers. For reverse parking scenarios, the Dubins curve generation mechanism can be used to expand the path, accelerating the planning speed. While Dubins curves are typically suitable for motion planning of mobile devices such as vehicles that can only move forward (or only backward), this embodiment of the application can apply Dubins curves to scenarios where vehicles enter a designated parking space in reverse.

[0224] like Figure 12 As shown in the figure, this application embodiment also provides a driving route planning device, including:

[0225] The first acquisition module 1201 is used to acquire the path planning area and the starting pose and ending pose of the vehicle. The starting pose and ending pose are both N-dimensional data, where N is an integer greater than 2.

[0226] The construction module 1202 is used to construct an N-dimensional state space that matches the N-dimensional data for the path planning region. The N-dimensional state space includes multiple nodes, including a starting node corresponding to the starting pose and a ending node corresponding to the ending pose. The ending node and nodes whose distance from the ending node is less than or equal to a distance threshold are configured as N-dimensional nodes, and nodes whose distance from the ending node is greater than a distance threshold are configured as M-dimensional nodes, where M is an integer less than N.

[0227] Planning module 1203 is used to plan the first travel path from the starting node to the ending node in an N-dimensional state space.

[0228] Optionally, planning module 1203 includes:

[0229] The first determining unit is used to determine the current node from a preset open list. The open list is used to record the nodes expanded during the planning process of the first driving path, as well as the total generation value of each expanded node. The current node is the node with the smallest total generation value in the open list.

[0230] A connection unit is used to connect the current node and the termination node using a preset curve;

[0231] The second determining unit is used to determine the first driving path based on the preset curve when the preset curve meets the preset conditions.

[0232] The update unit is used to update the open list when the preset curve does not meet the preset conditions, and return to the step of determining the current node from the preset open list.

[0233] The preset conditions include avoiding obstacles in the path planning area.

[0234] Optionally, when the vehicle includes a first vehicle body and a second vehicle body, and the first vehicle body and the second vehicle body are connected by a linkage, the N-dimensional state space is associated with a first-dimensional parameter, and the M-dimensional node is obtained by reducing the first-dimensional parameter of the node. The first-dimensional parameter is the difference between the heading angle of the first vehicle body and the heading angle of the second vehicle body.

[0235] Optionally, the preset curve is the Dubins curve.

[0236] Optionally, the driving path planning device may also include:

[0237] The derivation module is used to derive the preset curve in reverse to obtain the reverse curve. The preset curve includes P first nodes, and the reverse curve includes P second nodes. The P first nodes and P second nodes are the same in the M-dimensional state space. The M-dimensional state space is obtained by reducing the first dimension parameter of the N-dimensional state space. P is an integer greater than 1.

[0238] The second acquisition module is used to acquire the first dimension parameter of each second node;

[0239] Correspondingly, the preset conditions also include: the first dimension parameter of each second node is less than or equal to the heading angle difference threshold; in the N-dimensional state space, the termination node is the same as the second node at the end of the back-reasoning curve.

[0240] Optionally, the distance between any node and the termination node is the length of the path from any node to the termination node planned using the A* algorithm.

[0241] Optionally, the driving path planning device may also include:

[0242] The smoothing module is used to smooth the first driving path and obtain the second driving path by taking vehicle kinematic constraints, obstacle avoidance, starting pose, ending pose and vehicle motion state constraints as constraints, and minimizing the weighted sum of the loss values ​​brought by the planned trajectory on S preset motion parameters as objectives. S is a positive integer.

[0243] Optionally, the smoothing module may include:

[0244] The third determining unit is used to determine Q mass points on the vehicle and to determine Q circles with the Q mass points as centers, and the Q circles can cover the vehicle.

[0245] An expansion unit is used to expand the target length of the boundary of obstacles in the path planning area. The target length is greater than or equal to the radius of any circle.

[0246] The fourth determining unit is used to determine the driving sub-path corresponding to each mass point based on the first driving path;

[0247] The fifth determining unit is used to determine the obstacle avoidance constraint as the condition that the driving sub-path corresponding to each mass point does not collide with the obstacle after the boundary expansion target length.

[0248] It should be noted that this driving path planning device is a device corresponding to the driving path planning method described above. All implementation methods in the above method embodiments are applicable to the embodiments of this device and can achieve the same technical effect.

[0249] Figure 13 A schematic diagram of the hardware structure of the electronic device provided in an embodiment of this application is shown.

[0250] The electronic device may include a processor 1301 and a memory 1302 storing computer program instructions.

[0251] Specifically, the processor 1301 may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits that can be configured to implement the embodiments of this application.

[0252] Memory 1302 may include mass storage for data or instructions. For example, and not limitingly, memory 1302 may include a hard disk drive (HDD), floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or Universal Serial Bus (USB) drive, or a combination of two or more of these. Where appropriate, memory 1302 may include removable or non-removable (or fixed) media. Where appropriate, memory 1302 may be internal or external to the integrated gateway disaster recovery device. In a particular embodiment, memory 1302 is non-volatile solid-state memory.

[0253] Memory may include read-only memory (ROM), random access memory (RAM), disk storage media devices, optical storage media devices, flash memory devices, and electrical, optical, or other physical / tangible memory storage devices. Therefore, typically, memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the methods according to this disclosure.

[0254] The processor 1301 reads and executes computer program instructions stored in the memory 1302 to implement any of the driving path planning methods in the above embodiments.

[0255] In one example, the electronic device may also include a communication interface 1303 and a bus 1304. For example, Figure 13 As shown, the processor 1301, memory 1302, and communication interface 1303 are connected through bus 1304 and complete communication with each other.

[0256] The communication interface 1303 is mainly used to realize communication between various modules, devices, units and / or equipment in the embodiments of this application.

[0257] Bus 1304 includes hardware, software, or both. For example, and not limitingly, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an Infinite Bandwidth Interconnect, a Low Pin Count (LPC) bus, a memory bus, a Microchannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable buses, or combinations of two or more of these. Where appropriate, bus 1304 may include one or more buses. Although specific buses are described and illustrated in embodiments of this application, any suitable bus or interconnect is contemplated herein.

[0258] Furthermore, in conjunction with the driving path planning methods in the above embodiments, this application embodiment can provide a computer storage medium for implementation. The computer storage medium stores computer program instructions; when these computer program instructions are executed by a processor, they implement any of the driving path planning methods in the above embodiments.

[0259] It should be clarified that this application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of this application is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of this application.

[0260] The functional blocks shown in the above block diagram can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this application are programs or code segments used to perform the required tasks. Programs or code segments can be stored on a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried on a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio frequency (RF) links, etc. Code segments can be downloaded via computer networks such as the Internet, intranets, etc.

[0261] It should also be noted that the exemplary embodiments mentioned in this application describe methods or systems based on a series of steps or apparatus. However, this application is not limited to the order of the above steps; that is, the steps can be performed in the order mentioned in the embodiments, or in a different order, or several steps can be performed simultaneously.

[0262] The aspects of this disclosure have been described above with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block in the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that these instructions, executable via the processor of the computer or other programmable data processing apparatus, enable the implementation of the functions / actions specified in one or more blocks of the flowchart illustrations and / or block diagrams. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field-programmable logic circuit. It is also understood that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can also be implemented by special-purpose hardware performing the specified functions or actions, or can be implemented by a combination of special-purpose hardware and computer instructions.

[0263] The above are merely specific embodiments of this application. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, modules, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. It should be understood that the protection scope of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the protection scope of this application.

Claims

1. A method for planning a driving route, characterized in that, include: Obtain the path planning region and the vehicle's starting and ending poses, where the starting and ending poses are both N-dimensional data, and N is an integer greater than 2. For the path planning region, an N-dimensional state space matching the N-dimensional data is constructed. The N-dimensional state space includes multiple nodes, including a start node corresponding to the start pose and a stop node corresponding to the stop pose. The stop node and nodes whose distance from the stop node is less than or equal to a distance threshold are configured as N-dimensional nodes, and nodes whose distance from the stop node is greater than a distance threshold are configured as M-dimensional nodes, where M is an integer less than N. In the N-dimensional state space, plan the first travel path from the starting node to the ending node; When the vehicle comprises a first vehicle body and a second vehicle body, and the vehicle is reversing, planning the first driving path from the starting node to the ending node in the N-dimensional state space includes: The current node is determined from a preset open list, which is used to record the nodes expanded during the planning of the first driving path and the total generation value of each expanded node. The current node is the node with the smallest total generation value in the open list. Connect the current node and the termination node using a preset curve; The preset curve is reverse-derived to obtain the reverse-derived curve. The preset curve includes P first nodes, and the reverse-derived curve includes P second nodes. The P first nodes and the P second nodes are identical in an M-dimensional state space. The M-dimensional state space is obtained by reducing the first dimension of the N-dimensional state space, where P is an integer greater than 1. The N-dimensional state space includes: X-coordinate, Y-coordinate, the heading angle of the first vehicle body, and the difference between the heading angles of the first vehicle body and the second vehicle body. The M-dimensional state space includes: X-coordinate, Y-coordinate, and the heading angle of the first vehicle body. Obtain the first dimension parameter of each second node; the first dimension parameter is the difference between the heading angle of the first vehicle body and the heading angle of the second vehicle body; If the preset curve meets the preset conditions, the first driving path is determined based on the preset curve; If the preset curve does not meet the preset conditions, update the open list and return to the step of determining the current node from the preset open list; wherein the preset conditions include: the first dimension parameter of each second node is less than or equal to the heading angle difference threshold; in the N-dimensional state space, the termination node is the same as the second node at the end of the reverse curve; and avoid obstacles in the path planning area.

2. The method according to claim 1, characterized in that, In the case where the vehicle includes a first vehicle body and a second vehicle body, and the first vehicle body and the second vehicle body are connected by a linkage, the N-dimensional state space is associated with a first-dimensional parameter. The M-dimensional node is obtained by reducing the first-dimensional parameter of the node. The first-dimensional parameter is the difference between the heading angle of the first vehicle body and the heading angle of the second vehicle body.

3. The method according to claim 1 or 2, characterized in that, The preset curve is the Durbins curve.

4. The method according to claim 1, characterized in that, The distance between any of the nodes and the termination node is the length of the path from any of the nodes to the termination node planned using the A* algorithm.

5. The method according to claim 1, characterized in that, After planning the first travel path from the starting node to the ending node in the N-dimensional state space, the method further includes: Using vehicle kinematic constraints, obstacle avoidance, the initial pose, the final pose, and vehicle motion state constraints as constraints, and aiming to minimize the weighted sum of the loss values ​​caused by the planned trajectory on S preset motion parameters, the first driving path is smoothed to obtain the second driving path, where S is a positive integer.

6. The method according to claim 5, characterized in that, The constraints for avoiding obstacles are determined in the following manner: Q mass points are identified on the vehicle, and Q circles are defined with the Q mass points as centers, and the Q circles can cover the vehicle. The target length of the boundary expansion of obstacles in the path planning area is greater than or equal to the radius of any of the circles; Determine the driving sub-path corresponding to each mass point based on the first driving path; The constraint for avoiding obstacles is defined as ensuring that the driving sub-path corresponding to each mass point does not collide with the obstacles after the boundary expansion target length.

7. A driving path planning device, characterized in that, include: The first acquisition module is used to acquire the path planning area and the starting pose and ending pose of the vehicle. The starting pose and the ending pose are both N-dimensional data, where N is an integer greater than 2. The construction module is used to construct an N-dimensional state space that matches the N-dimensional data for the path planning region. The N-dimensional state space includes multiple nodes, including a start node corresponding to the start pose and a stop node corresponding to the stop pose. The stop node and nodes whose distance from the stop node is less than or equal to a distance threshold are configured as N-dimensional nodes, and nodes whose distance from the stop node is greater than a distance threshold are configured as M-dimensional nodes, where M is an integer less than N. The planning module is used to plan a first travel path from the starting node to the ending node in the N-dimensional state space; When the vehicle comprises a first body and a second body, and the vehicle is reversing, the planning module is specifically used for: The current node is determined from a preset open list, which is used to record the nodes expanded during the planning of the first driving path and the total generation value of each expanded node. The current node is the node with the smallest total generation value in the open list. Connect the current node and the termination node using a preset curve; The preset curve is reverse-derived to obtain the reverse-derived curve. The preset curve includes P first nodes, and the reverse-derived curve includes P second nodes. The P first nodes and the P second nodes are identical in an M-dimensional state space. The M-dimensional state space is obtained by reducing the first dimension of the N-dimensional state space, where P is an integer greater than 1. The N-dimensional state space includes: X-coordinate, Y-coordinate, the heading angle of the first vehicle body, and the difference between the heading angles of the first vehicle body and the second vehicle body. The M-dimensional state space includes: X-coordinate, Y-coordinate, and the heading angle of the first vehicle body. Obtain the first dimension parameter of each second node; the first dimension parameter is the difference between the heading angle of the first vehicle body and the heading angle of the second vehicle body; If the preset curve meets the preset conditions, the first driving path is determined based on the preset curve; If the preset curve does not meet the preset conditions, update the open list and return to the step of determining the current node from the preset open list; wherein the preset conditions include: the first dimension parameter of each second node is less than or equal to the heading angle difference threshold; in the N-dimensional state space, the termination node is the same as the second node at the end of the reverse curve; and avoid obstacles in the path planning area.

8. An electronic device, characterized in that, The device includes: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, it implements the driving path planning method as described in any one of claims 1-6.

9. A computer storage medium, characterized in that, The computer storage medium stores computer program instructions, which, when executed by a processor, implement the driving path planning method as described in any one of claims 1-6.