Automatic driving speed planning method and device, vehicle and storage medium
By using discrete sampling and mixed A* search algorithm to generate target speed curves during autonomous driving, the problem of dynamic obstacle avoidance is solved to ensure vehicle safety and comfort.
Patent Information
- Application Number
- CN202210169437.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-02-23
- Publication Date
- 2025-08-29
- Estimated Expiration
- 2042-02-23
AI Technical Summary
During autonomous driving, it is difficult for the prior art to effectively plan vehicle speed to avoid dynamic obstacles, resulting in possible collisions.
By setting up parent nodes and child nodes on the target path, using discrete sampling and mixed A* search algorithm, a target velocity curve is generated to avoid dynamic obstacles, and a collision interval is constructed in the ST graph in combination with obstacle trajectory and path, discrete sampling and node expansion of acceleration sets are performed to determine a safe velocity planning.
It realizes a safe distance from dynamic obstacles during autonomous driving, ensuring the safety of the vehicle and the comfort of the user.
Smart Images

Figure CN114590272B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of autonomous driving, and in particular to a method and device for planning the speed of autonomous driving, a vehicle, and a storage medium. Background Art
[0002] With the development of artificial intelligence technology and the continuous progress of the automotive industry, vehicle autonomous driving technology is becoming more and more mature.
[0003] During the autonomous driving process, the vehicle may face both static obstacles and dynamic obstacles. For static obstacles, the vehicle can avoid static obstacles and drive automatically through path planning.
[0004] However, for dynamic obstacles, simple path planning may not be enough to effectively prevent the vehicle from avoiding them. Speed planning is necessary to prevent the vehicle from appearing in the same area as dynamic obstacles at the same time. Therefore, accurate speed planning is a pressing technical challenge for autonomous driving. Summary of the Invention
[0005] In view of the above problems, a method and device for planning the speed of an autonomous driving system, a vehicle, and a storage medium are proposed to overcome or at least partially solve the above problems, including:
[0006] A method for planning the speed of an automatic driving system, comprising:
[0007] During the automatic driving of the target vehicle based on the target path, a position on the target path that the target vehicle has not passed through is used as a first position, and a current position of the target vehicle is used as a second position;
[0008] The state information of the first position is used as a parent node, and at least one child node corresponding to the parent node is determined based on the parent node and a set of accelerations obtained by pre-discrete sampling; the child node includes the state information of the next position at a preset distance interval relative to the position corresponding to the parent node;
[0009] Add at least one child node to the open list, and move at least one child node with the smallest cost value to the closed list;
[0010] The child node moved to the closed list is used as a new parent node, and the step of determining at least one child node corresponding to the parent node according to the parent node and the acceleration set obtained by pre-discrete sampling is continued based on the new parent node until a child node matching the second position is found among the child nodes added to the open list;
[0011] Based on the child nodes in the closed list, a target speed curve for autonomous driving is determined.
[0012] Optionally, the acceleration set is generated as follows:
[0013] Obtain the estimated obstacle trajectory for dynamic obstacles, and construct the collision zone for dynamic obstacles in the preset ST map based on the obstacle trajectory and target path;
[0014] Discrete sampling is performed in the ST graph constructed with the collision interval for the dynamic obstacle to obtain an acceleration set.
[0015] Optionally, determining at least one child node corresponding to the parent node according to the parent node and a set of accelerations obtained by pre-discrete sampling includes:
[0016] Get a target acceleration from the acceleration set;
[0017] Determine a child node corresponding to the parent node based on the target acceleration and the preset distance interval.
[0018] Optionally, determining a child node corresponding to the parent node according to the target acceleration and the preset distance interval includes:
[0019] Get the preset target state constraints;
[0020] According to the target acceleration and the preset distance interval, a child node corresponding to the parent node that meets the target state constraint condition is determined.
[0021] Optionally, the cost value of each child node in the at least one child node is determined by the following steps:
[0022] Determining the execution cost and the heuristic cost of each child node in at least one child node;
[0023] Determine the cost value of each node based on the execution cost and the heuristic cost.
[0024] Optionally, determining the execution cost of each child node in the at least one child node includes:
[0025] Determine the target speed-related cost and target obstacle-related cost corresponding to the target subnode;
[0026] Get the execution cost of the parent node corresponding to the target child node; the execution cost of the second position is the preset value;
[0027] Determine the execution cost of the target child node based on the target speed-related cost, the target obstacle-related cost, and the execution cost of the parent node corresponding to the target child node;
[0028] Among them, the target speed related costs include:
[0029] Longitudinal acceleration cost and lateral acceleration cost.
[0030] Optionally, determining a target speed curve for autonomous driving according to the child nodes in the closed list includes:
[0031] Reversely search the child nodes in the closed list to obtain at least one child node for generating a target speed curve;
[0032] The target speed curve is generated according to state information corresponding to at least one sub-node used to generate the target speed curve.
[0033] An embodiment of the present invention further provides a device for planning an automatic driving speed, the device comprising:
[0034] a position determination module for determining, during the process of the target vehicle automatically driving based on the target path, a position on the target path that the target vehicle has not passed through as a first position, and a current position of the target vehicle as a second position;
[0035] A first node determination module is configured to use the state information of the first position as a parent node and determine at least one child node corresponding to the parent node based on the parent node and a set of accelerations obtained by pre-discrete sampling; the child node includes state information of a next position at a preset distance interval relative to the position corresponding to the parent node;
[0036] a node movement determination module, configured to add at least one child node to an open list, and move a child node with a minimum cost value among the at least one child node to a closed list;
[0037] a second node determination module, configured to take the child node moved to the closed list as a new parent node, and continue to perform the step of determining at least one child node corresponding to the parent node based on the parent node and the acceleration set obtained by pre-discrete sampling, until a child node matching the second position is found among the child nodes added to the open list;
[0038] The speed curve determination module is used to determine the target speed curve for autonomous driving based on the child nodes in the closed list.
[0039] Optionally, the first node determination module includes:
[0040] The acceleration set generation submodule is used to obtain the estimated obstacle trajectory for dynamic obstacles and construct the collision interval for dynamic obstacles in the preset ST map based on the obstacle trajectory and target path. Discrete sampling is performed in the ST map with the collision interval for dynamic obstacles to obtain the acceleration set.
[0041] Optionally, the first node determination module includes:
[0042] A target acceleration selection submodule is used to obtain a target acceleration from the acceleration set;
[0043] The child node determination submodule is used to determine a child node corresponding to the parent node according to the target acceleration and the preset distance interval.
[0044] Optionally, the sub-node determines a sub-module for obtaining preset target state constraints;
[0045] According to the target acceleration and the preset distance interval, a child node corresponding to the parent node that meets the target state constraint condition is determined.
[0046] Optionally, the node movement module includes:
[0047] The cost determination submodule is used to respectively determine the execution cost and heuristic cost of each child node in at least one child node; and determine the cost value of each node according to the execution cost and the heuristic cost.
[0048] Optionally, a cost determination submodule is used to determine the target speed-related cost and the target obstacle-related cost corresponding to the target child node; obtain the execution cost of the parent node corresponding to the target child node; the execution cost of the second position is a preset value; based on the target speed-related cost, the target obstacle-related cost, and the execution cost of the parent node corresponding to the target child node, the execution cost of the target child node is determined; wherein the target speed-related cost includes: longitudinal acceleration cost and lateral acceleration cost.
[0049] Optionally, the speed curve determination module includes:
[0050] A search submodule, configured to reversely search the child nodes in the closed list to obtain at least one child node for generating a target speed curve;
[0051] The curve generating submodule is configured to generate a target speed curve according to state information corresponding to at least one subnode for generating the target speed curve.
[0052] An embodiment of the present invention also provides a vehicle, including a processor, a memory, and a computer program stored in the memory and capable of running on the processor. When the computer program is executed by the processor, the above-mentioned automatic driving speed planning method is implemented.
[0053] An embodiment of the present invention also provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the above-mentioned automatic driving speed planning method is implemented.
[0054] The embodiments of the present invention have the following advantages:
[0055] In an embodiment of the present invention, during the process of automatic driving of a target vehicle based on a target path, a position on the target path that the target vehicle has not passed is taken as a first position, and the current position of the target vehicle is taken as a second position; the state information of the first position is taken as a parent node, and at least one child node corresponding to the parent node is determined based on the parent node and a set of accelerations obtained by pre-discrete sampling; the child node includes state information of the next position at a preset distance interval relative to the position corresponding to the parent node; at least one child node is added to an open list, and the child node with the smallest cost value among at least one child node is moved to a closed list; the child node moved to the closed list is taken as a new parent node, and the step of determining at least one child node corresponding to the parent node based on the parent node and a set of accelerations obtained by pre-discrete sampling is continued based on the new parent node, until there is a child node matching the second position among the child nodes added to the open list; and the target speed curve for automatic driving is determined based on the child nodes in the closed list. Through the embodiments of the present invention, nodes are expanded based on discrete sampling of acceleration, and accurate speed planning is performed based on the expanded nodes; and the speed of autonomous driving is determined based on a hybrid A* search algorithm, ensuring that the target vehicle can maintain a safe distance from obstacles during the autonomous driving process and ensuring the comfort of users in the target vehicle. BRIEF DESCRIPTION OF THE DRAWINGS
[0056] In order to more clearly illustrate the technical solution of the present invention, the following briefly introduces the drawings required for use in the description of the present invention. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0057] Figure 1 This is a flowchart of the steps of a method for planning the speed of an automatic driving according to an embodiment of the present invention;
[0058] Figure 2 is a flowchart of another method for planning the speed of an autonomous driving system according to an embodiment of the present invention;
[0059] Figure 3 is a schematic diagram of a target vehicle and a dynamic obstacle according to an embodiment of the present invention;
[0060] Figure 4 is a schematic diagram of an ST diagram having collision zones for dynamic obstacles constructed according to an embodiment of the present invention;
[0061] Figure 5 This is a structural block diagram of an automatic driving speed planning device according to an embodiment of the present invention. DETAILED DESCRIPTION
[0062] To make the above-mentioned objects, features, and advantages of the present invention more clearly understood, the present invention is further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the embodiments described are only a portion of the embodiments of the present invention, not all of them. All other embodiments derived by persons of ordinary skill in the art based on the embodiments of the present invention without inventive effort are also within the scope of protection of the present invention.
[0063] Reference Figure 1 , which shows a flowchart of a method for planning the speed of an automatic driving according to an embodiment of the present invention, including the following steps:
[0064] Step 101: During the process of the target vehicle automatically driving based on the target path, a position on the target path that the target vehicle has not passed through is used as a first position, and a current position of the target vehicle is used as a second position;
[0065] When the target vehicle is in the process of autonomous driving, a target path that avoids static obstacles can be generated based on the environmental conditions; then, the target vehicle can be autonomously driven according to the target path.
[0066] However, in actual applications, there are not only static obstacles in the environment, but also dynamic obstacles, such as vehicles traveling in the same direction and needing to change lanes, and vehicles traveling at high speeds, which interfere with the target path.
[0067] In order to avoid the target vehicle from colliding with dynamic obstacles while automatically driving along the target path, the speed of the vehicle can be adjusted to maintain a safe distance from the dynamic obstacles.
[0068] Specifically, a target speed curve may be generated through steps 101 to 105 , so that the target vehicle may adjust its own vehicle speed based on the target speed curve to maintain a safe distance from the dynamic obstacle.
[0069] First, while the target vehicle is performing autonomous driving based on the target path, the current position of the target vehicle can be obtained, and a position on the target path that the target vehicle has not passed through can be used as the destination; for ease of explanation, the destination will be referred to as the first position and the current position will be referred to as the second position.
[0070] As an example, the current position can also be a position on the target path that is a certain distance away from the target vehicle's current position on the target path; of course, the distance between the current position and the target vehicle's current position on the target path is smaller than the distance between the destination and the target vehicle's current position on the target path.
[0071] Step 102: Using the state information of the first position as a parent node, and determining at least one child node corresponding to the parent node based on the parent node and a set of accelerations obtained by pre-discrete sampling; the child node includes state information of the next position at a preset distance interval relative to the position corresponding to the parent node;
[0072] Then, the status information of the first position may be obtained; wherein the status information may include information related to the driving status of the target vehicle at the position, such as: position, speed, acceleration, and arrival time, which is not limited in this embodiment of the present invention.
[0073] After obtaining the status information of the first position, the status information of the first position can be used as the parent node; for example: the status information of the first position is (position 1, speed 1, acceleration 1, arrival time 1), then the status information (position 1, speed 1, acceleration 1, arrival time 1) can be used as the parent node.
[0074] Then, based on the parent node and the acceleration set obtained in advance through discrete sampling, one or more state information corresponding to the parent node can be determined, and the one or more state information can be used as the child node corresponding to the parent node; wherein the parent node and the child node can be the state information corresponding to the two positions before and after separated by a preset distance.
[0075] Step 103: Add at least one child node to the open list, and move the child node with the smallest cost value among the at least one child node to the closed list;
[0076] After determining at least one child node corresponding to the parent node, the at least one child node may be added to a preset open list.
[0077] At the same time, a cost value can be determined for each child node, and the child node with the lowest cost value can be moved from the open list to the closed list. The cost value can be used to represent the degree of deviation between a piece of data and a preset piece of data, for example, the degree of deviation between the position of the child node and the position of an interfering moving obstacle and a preset safety distance value. This is not limited in this embodiment of the present invention.
[0078] Step 104: The child node moved to the closed list is used as a new parent node, and the step of determining at least one child node corresponding to the parent node according to the parent node and the acceleration set obtained by the pre-discrete sampling is continued based on the new parent node, until a child node matching the second position is found among the child nodes added to the open list;
[0079] When a child node in the open list is moved to the closed list, the moved child node can be used as a new parent node, and steps 102 to 104 are re-executed.
[0080] Specifically, at least one child node corresponding to the new parent node may be determined based on the new parent node and the acceleration set obtained by pre-discrete sampling.
[0081] During the process of repeatedly executing steps 102 to 104, when it is detected that there is a child node matching the second position among the child nodes added to the open list, it can be determined that the expansion of the node has reached the destination; at this time, the node expansion can be ended and step 105 can be executed to determine the speed used to control the target vehicle in autonomous driving.
[0082] Step 105: Determine a target speed curve for autonomous driving based on the child nodes in the closed list.
[0083] After the expansion of the end node, a target speed curve for controlling the target vehicle to automatically drive from the current position to the destination can be determined based on the child nodes in the closed list.
[0084] Specifically, the state information corresponding to the child nodes in the closed list may be determined first, and then the arrival time and position may be obtained from the state information; and then the target speed curve may be generated based on the obtained arrival time and position.
[0085] As an example, after the target speed curve is generated, the target vehicle can automatically drive along the target path according to the target speed curve until it reaches the destination.
[0086] When the target vehicle arrives at the destination, or is about to arrive at the destination, the above steps 101 to 105 may be re-executed to reselect the destination and regenerate the speed curve, which is not limited in this embodiment of the present invention.
[0087] In an embodiment of the present invention, during the process of automatic driving of a target vehicle based on a target path, a position on the target path that the target vehicle has not passed is taken as a first position, and the current position of the target vehicle is taken as a second position; the state information of the first position is taken as a parent node, and at least one child node corresponding to the parent node is determined based on the parent node and a set of accelerations obtained by pre-discrete sampling; the child node includes state information of the next position at a preset distance interval relative to the position corresponding to the parent node; at least one child node is added to an open list, and the child node with the smallest cost value among at least one child node is moved to a closed list; the child node moved to the closed list is taken as a new parent node, and the step of determining at least one child node corresponding to the parent node based on the parent node and a set of accelerations obtained by pre-discrete sampling is continued based on the new parent node, until there is a child node matching the second position among the child nodes added to the open list; and the target speed curve for automatic driving is determined based on the child nodes in the closed list. Through the embodiments of the present invention, nodes are expanded based on discrete sampling of acceleration, and accurate speed planning is performed based on the expanded nodes; and the speed of autonomous driving is determined based on a hybrid A* search algorithm, ensuring that the target vehicle can maintain a safe distance from obstacles during the autonomous driving process and ensuring the comfort of users in the target vehicle.
[0088] Reference Figure 2 , which shows a flowchart of another method for planning the speed of an automatic driving according to an embodiment of the present invention, including the following steps:
[0089] Step 201: During the automatic driving of the target vehicle based on the target path, a position on the target path that the target vehicle has not passed through is used as a first position, and a current position of the target vehicle is used as a second position;
[0090] In actual applications, while the target vehicle is performing automatic driving based on the target path, the current position of the target vehicle can be obtained first, and a position on the target path that the target vehicle has not passed through can be used as the destination; for ease of explanation, the destination will be referred to as the first position and the current position will be referred to as the second position.
[0091] As an example, the target path may be generated for a structured road or an unstructured road, and this embodiment of the present invention does not limit this.
[0092] Step 202: Use the state information of the first position as a parent node and obtain a target acceleration from the acceleration set;
[0093] Then, the state information of the first position may be obtained and used as the parent node.
[0094] At the same time, an acceleration in the acceleration set obtained in advance through discrete sampling can be used as the target acceleration. Specifically, each acceleration in the acceleration set can be used as the target acceleration in turn to generate child nodes of the parent node under different accelerations.
[0095] For example: the acceleration set includes (5m / s 2 , 4m / s 2 , 3m / s 2 , 2m / s 2 , 1m / s 2 ), then 5m / s 2 , 4m / s 2 , 3m / s 2 , 2m / s 2 , and 1m / s 2 as the target acceleration.
[0096] In one embodiment of the present invention, the acceleration set may be generated in the following manner:
[0097] Obtain the estimated obstacle trajectory for the dynamic obstacle, and construct a collision interval for the dynamic obstacle in the preset ST map based on the obstacle trajectory and the target path. Perform discrete sampling in the ST map with the collision interval for the dynamic obstacle to obtain an acceleration set.
[0098] The preset ST diagram may be a pre-created two-dimensional coordinate diagram for describing the corresponding relationship between position and time; the abscissa may represent position, and the ordinate may represent time.
[0099] The collision interval for a dynamic obstacle can be used to describe the time and corresponding position at which the target vehicle may collide with the dynamic obstacle, which can be determined by the obstacle trajectory of the dynamic obstacle and the target path of the target vehicle.
[0100] In practical applications, the target vehicle can first collect the trajectory of the dynamic obstacle that already exists in the environment; and then estimate the obstacle trajectory of the dynamic obstacle in the future based on the trajectory; the obstacle trajectory can include the obstacle path and the obstacle speed curve.
[0101] Then, based on the obstacle trajectory and the target path of the target vehicle, a collision interval for the dynamic obstacle can be constructed in the preset ST map; based on the ST map, the time, location and other information of the possible collision between the dynamic obstacle and the target vehicle can be predicted.
[0102] For example, uniform sampling is performed at a preset distance interval Δs on the target path, and then the trajectory is predicted based on the obstacle to obtain the time domain range of the collision between the outer contour of the target vehicle and the dynamic obstacle at each position s, and (s,t left,t right ) determines the area where the target vehicle may collide with the dynamic obstacle, where t left represents the time when the dynamic obstacle collides with the left outer contour of the target vehicle at position s; t right represents the time when the dynamic obstacle collides with the right outer contour of the target vehicle at position s.
[0103] like Figure 3 , the target vehicle ego is at s, and at t0→t m The dynamic obstacle car moving horizontally during the time period may collide with the target vehicle. The potential collision time between the target vehicle and the dynamic obstacle is t i →t j .
[0104] Repeat the above steps to construct the collision range of the dynamic obstacle in the preset ST diagram, such as Figure 4 shown.
[0105] After obtaining the ST map for the obstacle, discrete sampling can be performed in the ST to obtain at least one acceleration that will not cause the target vehicle to collide with the dynamic obstacle;
[0106] Then, an acceleration set may be generated based on the obtained accelerations.
[0107] Step 203: Determine a child node corresponding to the parent node according to the target acceleration and the preset distance interval;
[0108] Then, a child node corresponding to the parent node can be calculated based on the target acceleration and the preset distance interval.
[0109] For example: the state information of the first position includes position s i-1 , speed v i-1 , acceleration a i-1 and arrival time t i-1 , then the parent node can be set to (s i-1 ,v i-1 ,a i-1 ,t i-1 ), the target acceleration is a i , the preset distance interval is Δs, then the following formula can be used to calculate the child node (s) of the parent node under the target acceleration i ,v i ,a i ,t i ):
[0110] s i =s i-1 +Δs (1);
[0111]
[0112] j i =(a i -a i-1 ) / dt (3);
[0113] t i =t i-1 +dt (4);
[0114]
[0115] In practical applications, position, velocity, acceleration, jerk, etc. may be subject to certain constraints rather than arbitrary values. For example, speed is constrained by road speed limits, and position is constrained by the location of obstacles.
[0116] Therefore, in the embodiment of the present invention, step 203 can be specifically implemented through the following sub-steps:
[0117] Sub-step 11: obtaining preset target state constraints;
[0118] First, pre-set target state constraints may be obtained; the target state constraints may include constraints on position, constraints on velocity, constraints on acceleration, constraints on jerk, and the like.
[0119] Continuing with the previous example, the position constraints can be:
[0120] s i and They are the upper and lower limits of the position, which can be determined based on the first position and the second position; at the same time, it is also necessary to ensure that the position should not interfere with obstacles.
[0121] in addition, s i and It can also be determined based on the maximum acceleration curve and maximum deceleration curve of the target vehicle; the maximum acceleration curve can indicate the shortest time consumed by the target vehicle to travel along the target path at the speed limit and acceleration limit without considering obstacles; the maximum deceleration curve can indicate the shortest time consumed by the target vehicle to reach a stationary state at the maximum deceleration.
[0122] The maximum acceleration curve can be calculated using the following formula:
[0123]
[0124]
[0125]
[0126] Where s represents a position on the target path;
[0127] v i (s) represents the velocity at position s;
[0128] v i+1 (s) represents the velocity at position s on the target path after extending Δs toward the destination;
[0129] Δs represents the preset distance interval;
[0130] v max Indicates the speed limit given by traffic regulations;
[0131] LatAcc max Indicates the preset maximum lateral acceleration;
[0132] κ i (s) represents the curvature at position s on the target path;
[0133] LonAcc max Indicates the maximum longitudinal acceleration;
[0134] LonAcc min Indicates the minimum longitudinal acceleration.
[0135] The maximum deceleration curve can be calculated using the following formula:
[0136]
[0137] Among them, v i (s) represents the velocity at position s;
[0138] v0(s) represents the velocity at the second position;
[0139] LonAcc min Indicates the minimum longitudinal acceleration;
[0140] Δs represents the preset distance interval.
[0141] The constraints on speed can be:
[0142] is the speed limit, which can be obtained from the maximum acceleration curve obtained above;
[0143] The constraint condition for acceleration can be: LonAcc min ≤a i ≤LonAcc max ;
[0144] Among them, LonAcc minis the minimum longitudinal acceleration, LonAcc max is the maximum longitudinal acceleration; both can be pre-set values.
[0145] The constraint condition for jerk can be: LonJerk min ≤j i ≤LonJerk max ;
[0146] Among them, LonJerk min is the minimum longitudinal jerk, LonJerk max is the maximum longitudinal jerk; both can be pre-set values.
[0147] Sub-step 12: Determine a child node corresponding to the parent node that meets the target state constraint condition according to the target acceleration and the preset distance interval.
[0148] Then, based on the target acceleration and the preset distance interval, a child node corresponding to the parent node that can meet the target state constraint condition can be determined.
[0149] As an example, if the child node determined based on the target acceleration and the preset distance interval does not meet the target constraint condition, another acceleration can be obtained from the acceleration set and used as the target acceleration to redetermine the child node of the parent node. This embodiment of the present invention does not limit this.
[0150] Step 204: add at least one child node to the open list, and move the child node with the smallest cost value among the at least one child node to the closed list;
[0151] When all accelerations in the acceleration set are taken as the target acceleration, at least one child node of the parent node can be obtained; at this time, the at least one child node can be added to the open list.
[0152] Then, the cost value of each child node in the open list can be determined respectively, and the child node with the smallest cost value can be moved from the open list to the closed list. Specifically, the child node with the smallest cost value can be deleted from the open list and added to the closed list.
[0153] In one embodiment of the present invention, the cost value of a child node is determined by the following sub-steps:
[0154] Sub-step 21: determining the execution cost and heuristic cost of each child node in at least one child node;
[0155] The execution cost g(n) may represent the cost from the node corresponding to the second position to the child node; and the heuristic cost h(n) may represent the cost from the child node to the node corresponding to the destination.
[0156] After acquiring at least one child node corresponding to the parent node, the execution cost of the corresponding child node may be determined based on the state information corresponding to the child node and the state information corresponding to the node corresponding to the second position.
[0157] At the same time, the heuristic cost of the corresponding child node may be determined based on the state information corresponding to the child node and the state information corresponding to the node corresponding to the first position.
[0158] As an example, the execution cost of a child node may be determined as follows:
[0159] Determine the target speed-related cost and the target obstacle-related cost corresponding to the target child node; obtain the execution cost of the parent node corresponding to the target child node; the execution cost of the second position is a preset value; determine the execution cost of the target child node based on the target speed-related cost, the target obstacle-related cost, and the execution cost of the parent node corresponding to the target child node.
[0160] The target speed related costs may include: longitudinal acceleration cost and lateral acceleration cost.
[0161] In practical applications, a child node in a parent node may be first used as a target child node; then, a target speed-related cost and a target obstacle-related cost corresponding to the target child node are determined.
[0162] For example, the longitudinal acceleration cost C can be calculated by the following formula: lon_accel :
[0163] C lon_accel =ω lon_accel |accel| (10);
[0164] Among them, ω lon_accel Indicates the weight pre-set for longitudinal acceleration;
[0165] accel may represent the acceleration for which the longitudinal acceleration cost needs to be calculated.
[0166] The lateral acceleration cost C can be calculated by the following formula lat_accel :
[0167] C lat_accel =ω lat_accel |κ(s)v(s) 2 | (11);
[0168] Among them, ω lat_accel Indicates the weight set in advance for lateral acceleration;
[0169] κ(s) represents the curvature of the target path at the position where s is mapped;
[0170] v(s) represents the velocity of the target vehicle at position s.
[0171] The target obstacle related cost C can be calculated by the following formula obstacle :
[0172]
[0173] Among them, d safe Indicates the safe distance between the target vehicle and the dynamic obstacle, which can be a pre-set value;
[0174] s can represent a position on the target path for which obstacle-related costs need to be calculated;
[0175] s up It can be the upper endpoint value of a collision interval determined according to the obstacle path and obstacle size of the dynamic obstacle, as well as the target path and target vehicle size, s low It can be the lower endpoint value of the collision interval;
[0176] ω overtake Can be expressed for s up <s<s up +d safe The weight set, ω follow Can be expressed for s low -d safe <s<s low The weight that is set.
[0177] While determining the target speed-related cost and the target obstacle-related cost corresponding to the target child node, the execution cost of the parent node corresponding to the target child node can also be obtained. The execution cost of the second position can be set to a preset value, such as 0.
[0178] After determining the target speed-related cost and the target obstacle-related cost corresponding to the target child node, as well as the execution cost of the parent node corresponding to the target child node, the execution cost corresponding to the target child node can be determined based on the target speed-related cost, the target obstacle-related cost, and the execution cost of the parent node corresponding to the target child node.
[0179] For example, the execution cost g(n) corresponding to the target child node can be calculated using the following formula:
[0180] g(n)=g(n-1)+C lon_accel +C lat_accel +C obstacle (13);
[0181] Among them, g(n-1) represents the execution cost of the target child node corresponding to the parent node;
[0182] C lon_accel represents the longitudinal acceleration cost;
[0183] C lat_accel represents the lateral acceleration cost;
[0184] C obstacle Represents the cost associated with the obstacle.
[0185] As another embodiment, the heuristic cost h(n) of the target child node can be calculated by the following formula:
[0186] h(n)=ω heuristic (s goal -s n ) (14);
[0187] Among them, ω heuristic represents the weight set in advance for the heuristic cost;
[0188] s goal Indicates the first position;
[0189] s n Indicates where the heuristic cost needs to be calculated.
[0190] Sub-step 22: Determine the cost value of each node according to the execution cost and the heuristic cost.
[0191] After determining the execution cost and the heuristic cost of the target subnode, the sum of the execution cost and the heuristic cost may be used as the cost value of the target subnode.
[0192] For example: the cost value of the target child node f(n) = the execution cost of the target child node g(n) + the heuristic cost of the target child node h(n).
[0193] In practical applications, all child nodes corresponding to the parent node can be used as target child nodes in sequence, and then the cost value corresponding to each child node can be determined in sequence.
[0194] Step 205: The child node moved to the closed list is used as a new parent node, and the step of determining at least one child node corresponding to the parent node according to the parent node and the acceleration set obtained by pre-discrete sampling is continued based on the new parent node, until a child node matching the second position is found among the child nodes added to the open list;
[0195] When a child node in the open list is moved to the closed list, the moved child node may be used as a new parent node, and steps 202 to 204 may be re-executed.
[0196] Specifically, at least one child node corresponding to the new parent node may be determined based on the new parent node and the acceleration set obtained by pre-discrete sampling.
[0197] During the process of repeatedly executing steps 202 to 204 , when it is detected that there is a child node matching the second position among the child nodes added to the open list, it can be determined that the node expansion has reached the destination; at this time, the node expansion can be ended.
[0198] Step 206: Reversely search the child nodes in the closed list to obtain at least one child node for generating a target speed curve;
[0199] After the node is expanded, a target speed curve may be generated based on the child nodes in the closed list.
[0200] Specifically, a reverse search may be performed in the closed list to obtain at least one child node for generating the target speed curve from the child nodes in the closed list.
[0201] Step 207: Generate a target speed curve according to the state information corresponding to at least one sub-node used to generate the target speed curve.
[0202] Then, the state information corresponding to each subnode used to generate the target speed curve can be determined respectively, and at least one arrival time and at least one position can be extracted therefrom; and the target speed curve can be generated based on the obtained at least one arrival time and at least one position.
[0203] In an embodiment of the present invention, during automatic driving of a target vehicle based on a target path, a position on the target path that the target vehicle has not passed through is taken as a first position, and the current position of the target vehicle is taken as a second position; the state information of the first position is taken as a parent node, and a target acceleration is obtained from an acceleration set; a child node corresponding to the parent node is determined based on the target acceleration and a preset distance interval; at least one child node is added to an open list, and the child node with the smallest cost value among at least one child node is moved to a closed list; the child node moved to the closed list is taken as a new parent node, and based on the new parent node, the step of determining at least one child node corresponding to the parent node is continued according to the parent node and the acceleration set obtained by pre-discrete sampling, until there is a child node matching the second position among the child nodes added to the open list; the child nodes in the closed list are searched reversely to obtain at least one child node for generating a target speed curve; and the target speed curve is generated based on the state information corresponding to at least one child node for generating a target speed curve. Through the embodiments of the present invention, it is possible to expand nodes based on discrete sampling of acceleration and perform accurate speed planning based on the expanded nodes; and the speed of autonomous driving is determined based on a hybrid A* search algorithm and set constraints, thereby ensuring the safety of the target vehicle during the autonomous driving process and the comfort of the users in the vehicle.
[0204] It should be noted that for the sake of simplicity, the method embodiments are described as a series of actions. However, those skilled in the art should be aware that the embodiments of the present invention are not limited by the order of the actions described, because according to the embodiments of the present invention, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in this specification are all preferred embodiments, and the actions involved are not necessarily required by the embodiments of the present invention.
[0205] Reference Figure 5 , which shows a schematic structural diagram of an automatic driving speed planning device according to an embodiment of the present invention, including the following modules:
[0206] a position determination module 501 for determining, during the process of the target vehicle automatically driving based on the target path, a position on the target path that the target vehicle has not passed through as a first position, and a current position of the target vehicle as a second position;
[0207] A first node determination module 502 is configured to use the state information of the first position as a parent node and determine at least one child node corresponding to the parent node based on the parent node and a set of accelerations obtained by pre-discrete sampling; the child node includes state information of a next position at a preset distance interval relative to the position corresponding to the parent node;
[0208] A node movement determination module 503 is configured to add at least one child node to an open list, and move a child node with the smallest cost value among the at least one child node to a closed list;
[0209] A second node determination module 504 is configured to determine the child node moved to the closed list as a new parent node, and continue to perform the step of determining at least one child node corresponding to the parent node based on the parent node and the acceleration set obtained by pre-discrete sampling based on the new parent node, until a child node matching the second position is found among the child nodes added to the open list;
[0210] The speed curve determination module 505 is used to determine a target speed curve for automatic driving based on the child nodes in the closed list.
[0211] In an optional embodiment of the present invention, the first node determination module 502 includes:
[0212] The acceleration set generation submodule is used to obtain the estimated obstacle trajectory for dynamic obstacles and construct the collision interval for dynamic obstacles in the preset ST map based on the obstacle trajectory and target path. Discrete sampling is performed in the ST map with the collision interval for dynamic obstacles to obtain the acceleration set.
[0213] In an optional embodiment of the present invention, the first node determination module 502 includes:
[0214] A target acceleration selection submodule is used to obtain a target acceleration from the acceleration set;
[0215] The child node determination submodule is used to determine a child node corresponding to the parent node according to the target acceleration and the preset distance interval.
[0216] In an optional embodiment of the present invention, the sub-node determination sub-module is used to obtain a preset target state constraint condition;
[0217] According to the target acceleration and the preset distance interval, a child node corresponding to the parent node that meets the target state constraint condition is determined.
[0218] In an optional embodiment of the present invention, the node movement module 503 includes:
[0219] The cost determination submodule is used to respectively determine the execution cost and heuristic cost of each child node in at least one child node; and determine the cost value of each node according to the execution cost and the heuristic cost.
[0220] In an optional embodiment of the present invention, a cost determination submodule is used to determine the target speed-related cost and the target obstacle-related cost corresponding to the target child node; obtain the execution cost of the parent node corresponding to the target child node; the execution cost of the second position is a preset value; based on the target speed-related cost, the target obstacle-related cost, and the execution cost of the parent node corresponding to the target child node, the execution cost of the target child node is determined; wherein the target speed-related cost includes: longitudinal acceleration cost and lateral acceleration cost.
[0221] In an optional embodiment of the present invention, the speed curve determination module 505 includes:
[0222] A search submodule, configured to reversely search the child nodes in the closed list to obtain at least one child node for generating a target speed curve;
[0223] The curve generating submodule is configured to generate a target speed curve according to state information corresponding to at least one subnode for generating the target speed curve.
[0224] In an embodiment of the present invention, during the process of automatic driving of a target vehicle based on a target path, a position on the target path that the target vehicle has not passed is taken as a first position, and the current position of the target vehicle is taken as a second position; the state information of the first position is taken as a parent node, and at least one child node corresponding to the parent node is determined based on the parent node and a set of accelerations obtained by pre-discrete sampling; the child node includes state information of the next position at a preset distance interval relative to the position corresponding to the parent node; at least one child node is added to an open list, and the child node with the smallest cost value among at least one child node is moved to a closed list; the child node moved to the closed list is taken as a new parent node, and the step of determining at least one child node corresponding to the parent node based on the parent node and a set of accelerations obtained by pre-discrete sampling is continued based on the new parent node, until there is a child node matching the second position among the child nodes added to the open list; and the target speed curve for automatic driving is determined based on the child nodes in the closed list. Through the embodiments of the present invention, nodes are expanded based on discrete sampling of acceleration, and accurate speed planning is performed based on the expanded nodes; and the speed of autonomous driving is determined based on a hybrid A* search algorithm, ensuring that the target vehicle can maintain a safe distance from obstacles during the autonomous driving process and ensuring the comfort of users in the target vehicle.
[0225] An embodiment of the present invention also provides a vehicle, including a processor, a memory, and a computer program stored in the memory and capable of running on the processor. When the computer program is executed by the processor, the above-mentioned automatic driving speed planning method is implemented.
[0226] An embodiment of the present invention also provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the above-mentioned automatic driving speed planning method is implemented.
[0227] As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0228] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.
[0229] Those skilled in the art will appreciate that embodiments of the present invention may be provided as methods, apparatus, or computer program products. Thus, embodiments of the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Furthermore, embodiments of the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0230] The embodiments of the present invention are described with reference to the flowcharts and / or block diagrams of the methods, terminal devices (systems), and computer program products according to the embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of the processes and / or blocks in the flowchart and / or block diagram, 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, an embedded processor, or other programmable data processing terminal device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing terminal device generate instructions for implementing the process in the flowchart and / or block diagram. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0231] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing terminal device to operate in a specific manner, so that the instructions stored in the computer readable memory produce a manufactured product including an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.
[0232] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal device so that a series of operating steps are executed on the computer or other programmable terminal device to produce a computer-implemented process, thereby providing instructions for executing on the computer or other programmable terminal device to implement the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.
[0233] Although the preferred embodiments of the present invention have been described, those skilled in the art may make additional changes and modifications to these embodiments once they become aware of the basic creative concepts. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the embodiments of the present invention.
[0234] Finally, it should be noted that, in this document, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or terminal device that includes a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or terminal device. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of additional identical elements in the process, method, article, or terminal device that includes the element.
[0235] The above describes in detail the provided method and apparatus for planning the speed of an autonomous driving system, the vehicle, and the storage medium. Specific examples are used herein to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is intended only to help understand the method and core concept of the present invention. Furthermore, for those skilled in the art, the specific implementation methods and scope of application may vary based on the concepts of the present invention. In summary, the contents of this specification should not be construed as limiting the present invention.
Claims
1. A method for planning the speed of an automatic driving, characterized in that: The method comprises: During the automatic driving of the target vehicle based on the target path, a position on the target path that the target vehicle has not passed through is used as a first position, and a current position of the target vehicle is used as a second position; Taking the state information of the first position as a parent node, and determining at least one child node corresponding to the parent node based on the parent node and a set of accelerations obtained by pre-discrete sampling; the child node includes state information of a next position at a preset distance interval relative to the position corresponding to the parent node; Adding the at least one child node to an open list, and moving the child node with the smallest cost value among the at least one child node to a closed list; The child node moved to the closed list is used as a new parent node, and the step of determining at least one child node corresponding to the parent node according to the parent node and a set of accelerations obtained by pre-discrete sampling is continued based on the new parent node until a child node matching the second position is found among the child nodes added to the open list; determining a target speed curve for autonomous driving based on the child nodes in the closed list; Determining a target speed curve for autonomous driving according to the child nodes in the closed list includes: Reversely searching the child nodes in the closed list to obtain at least one child node for generating a target speed curve; The target speed curve is generated according to the state information corresponding to the at least one sub-node used to generate the target speed curve.
2. The method according to claim 1, characterized in that The acceleration set is generated as follows: Obtaining an estimated obstacle trajectory for a dynamic obstacle, and constructing a collision zone for the dynamic obstacle in a preset ST map based on the obstacle trajectory and the target path; Discrete sampling is performed in the ST graph having the collision interval for the dynamic obstacle to obtain the acceleration set.
3. The method according to claim 1, characterized in that The determining, based on the parent node and a set of accelerations obtained by pre-discrete sampling, at least one child node corresponding to the parent node comprises: Obtaining a target acceleration from the acceleration set; A child node corresponding to the parent node is determined according to the target acceleration and the preset distance interval.
4. The method according to claim 3, characterized in that The determining a child node corresponding to the parent node according to the target acceleration and the preset distance interval includes: Get the preset target state constraints; A child node corresponding to a parent node that meets the target state constraint condition is determined according to the target acceleration and the preset distance interval.
5. The method according to claim 1, wherein The cost value of each child node in the at least one child node is determined by the following steps: Determining the execution cost and the heuristic cost of each child node in the at least one child node; A cost value of each node is determined according to the execution cost and the heuristic cost.
6. The method according to claim 5, characterized in that The determining the execution cost of each child node in the at least one child node includes: Determine the target speed-related cost and target obstacle-related cost corresponding to the target subnode; Obtaining the execution cost of the parent node corresponding to the target child node; the execution cost of the second position is a preset value; Determining an execution cost of the target child node according to the target speed-related cost, the target obstacle-related cost, and the execution cost of the parent node corresponding to the target child node; The target speed related costs include: Longitudinal acceleration cost and lateral acceleration cost.
7. An automatic driving speed planning device, characterized in that: The device comprises: a position determination module configured to, during the process of the target vehicle automatically driving based on the target path, determine a position on the target path that the target vehicle has not passed through as a first position, and determine a current position of the target vehicle as a second position; a first node determination module configured to use the state information of the first position as a parent node and determine at least one child node corresponding to the parent node based on the parent node and a set of accelerations obtained by pre-discrete sampling; the child node includes state information of a next position at a preset distance interval relative to the position corresponding to the parent node; a node movement determination module, configured to add the at least one child node to an open list, and move the child node with the smallest cost value among the at least one child node to a closed list; a second node determination module, configured to take the child node moved to the closed list as a new parent node, and continue to perform the step of determining at least one child node corresponding to the parent node based on the parent node and a set of accelerations obtained by pre-discrete sampling, until a child node matching the second position is found among the child nodes added to the open list; a speed curve determination module, configured to determine a target speed curve for autonomous driving based on the child nodes in the closed list; The speed curve determination module includes: A search submodule, configured to reversely search the child nodes in the closed list to obtain at least one child node for generating a target speed curve; The curve generating submodule is configured to generate a target speed curve according to state information corresponding to at least one subnode for generating the target speed curve.
8. A vehicle, characterized in that: The method comprises a processor, a memory, and a computer program stored in the memory and capable of running on the processor, wherein when the computer program is executed by the processor, the method for planning the automatic driving speed according to any one of claims 1 to 6 is implemented.
9. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, which, when executed by a processor, implements the automatic driving speed planning method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Trajectory planning method, trajectory planning device, storage medium and electronic equipment
CN110836671A
Local trajectory planning method and device, electronic equipment and storage medium
CN112783166A