Path planning method, device and equipment and storage medium
Patent Information
- Application Number
- CN202310093246.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-01-17
- Publication Date
- 2026-09-18
- Estimated Expiration
- 2043-01-17
AI Technical Summary
[0003]然而,当车辆偏离车道中心线行驶触发紧急车道保持功能时,若简单地将自车车道的车道中心线作为自车的目标行驶路径,可能会导致交通事故的发生
[0027] The above solution, when the vehicle triggers the emergency lane keeping function, searches for a target planned path for the vehicle within the planned time period based on the set of path nodes within that time period. Then, within the planned time period, the vehicle is controlled to travel along the target planned path. Since the set of path nodes includes the path start node, path end node, and obstacle nodes, and the target planned path planned based on the set of path nodes allows the vehicle to avoid obstacles corresponding to obstacle nodes within the planned time period, controlling the vehicle to travel along the target planned path within the planned time period reduces the possibility of collision with obstacles within the planned time period, thereby improving the driving safety of the vehicle after the emergency lane keeping function is triggered.
Smart Images

Figure CN116279574B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of vehicle control technology, and in particular to a path planning method, apparatus, device, and storage medium. Background Technology
[0002] Emergency Lane Keeping (ELK) is an important function of intelligent driving assistance systems. When the system detects that the vehicle is deviating from the center line of its lane, the emergency lane keeping function is triggered and automatically corrects the vehicle's direction of travel, ensuring that the corrected vehicle travels along the center line of its lane.
[0003] However, when a vehicle deviates from the center line and triggers the emergency lane keeping function, simply using the center line of the vehicle's lane as the target driving path may lead to traffic accidents. Therefore, improving the driving safety of the vehicle after the emergency lane keeping function is triggered has become an urgent technical problem to be solved. Summary of the Invention
[0004] The main technical problem solved by this invention is to provide a path planning method, apparatus, device and computer-readable storage medium that can improve the driving safety of a vehicle after the emergency lane keeping function is triggered.
[0005] To address the aforementioned technical problems, this application provides a path planning method, comprising: in response to the triggering of the vehicle's emergency lane keeping function, determining a set of path nodes for the vehicle within a planning time period, the set of path nodes including a path start node, a path end node, and obstacle nodes; based on the set of path nodes, searching for a target planned path for the vehicle within the planning time period, the target planned path avoiding obstacles corresponding to obstacle nodes; and controlling the vehicle to travel along the target planned path within the planning time period.
[0006] The obstacle node includes at least one of a dynamic obstacle node in a reference coordinate system and a static obstacle node in a reference coordinate system, wherein the reference coordinate system is established based on the lane in which the vehicle is located.
[0007] The process of identifying dynamic obstacle nodes includes: predicting the interaction area between the vehicle and the target vehicle within the planning time period in a reference coordinate system, with the target vehicle located in the adjacent lane of the vehicle; and identifying multiple vertices of the interaction area as dynamic obstacle nodes.
[0008] The interaction area between the self-vehicle and the target vehicle during the prediction and planning time period includes: the coincident corner points of the target vehicle during the prediction and planning time period, and the intersection points of the target vehicle's shape at the relevant time of path planning. The coincident corner points are the corner points of the target vehicle, and the coincident corner points and the corner points of the self-vehicle are projected to coincide on the vertical axis of the reference coordinate system. The relevant time of path planning is the start time or the end time of path planning. The intersection points are located on the shape of the target vehicle, and the intersection points and the corner points of the self-vehicle are projected to coincide on the vertical axis of the reference coordinate system. The smallest convex polygon region containing the coincident corner points and the intersection points is determined as the interaction area.
[0009] The process of determining static obstacle nodes includes: identifying multiple sampling points of static obstacles in the reference coordinate system during the prediction and planning time period, wherein the static obstacles include at least one of the curb and the actual lane line; and identifying the multiple sampling points of static obstacles in the reference coordinate system as static obstacle nodes.
[0010] The process of searching for the target planned path for the vehicle within the planned time period based on the set of path nodes includes: selecting the starting node of the path as the initial first path node, and selecting multiple second path nodes in the set of path nodes other than the first path node; filtering out second path nodes that meet preset conditions from the multiple second path nodes as new first path nodes; restarting the process of selecting multiple second path nodes in the set of path nodes other than the first path node until the latest selected first path node is the path ending node, so as to obtain multiple first path nodes; and connecting multiple first path nodes to obtain the target planned path.
[0011] Connecting multiple first path nodes includes using one of two quintic spline curves and a higher-order Bézier curve to sequentially connect two adjacent first path nodes among the multiple first path nodes.
[0012] The preset conditions include connectability conditions and collision detection conditions, and the first path cost of the second path node is minimized.
[0013] The connectability conditions include: the planning time of the second path node is greater than the planning time of the first path node, the second path node and the first path node do not belong to the same obstacle, and the second path node is not a selected first path node; and / or, the collision detection conditions include: there is at least one path curve between the second path node and the first path node that does not intersect with any side of the interaction area, and does not intersect with any side of the multiple static obstacle nodes connecting the static obstacles, the interaction area is the area where the self-vehicle and the target vehicle interact during the planned time period, and the target vehicle is located in the adjacent lane of the self-vehicle.
[0014] The determination of the first path cost of the second path node includes: determining the second path cost and the third path cost of the second path node, where the second path cost is the cost from the second path node to the starting node of the path, and the third path cost is the cost from the second path node to the ending node of the path; determining the larger and smaller values of the second path cost and the third path cost of the second path node; determining the product of the smaller value of the second path node and the first cost weight, and summing the product of the second path node and the larger value of the second path node as the first path cost of the second path node.
[0015] To address the aforementioned technical problems, another technical solution adopted in this application is: providing a path planning device, comprising: a determination module, configured to determine a set of path nodes for the vehicle within a planning time period in response to the triggering of the vehicle's emergency lane keeping function, the set of path nodes including a path start node, a path end node, and obstacle nodes; a planning module, configured to search for a target planned path for the vehicle within the planning time period based on the set of path nodes, the target planned path being able to avoid obstacles corresponding to obstacle nodes; and a control module, configured to control the vehicle to travel according to the target planned path within the planning time period.
[0016] The obstacle node includes at least one of a dynamic obstacle node in a reference coordinate system and a static obstacle node in a reference coordinate system, wherein the reference coordinate system is established based on the lane in which the vehicle is located.
[0017] The determination module is used to predict the interaction area between the self-vehicle and the target vehicle within the planning time period in the reference coordinate system, with the target vehicle located in the adjacent lane of the self-vehicle; and to determine multiple vertices of the interaction area as dynamic obstacle nodes.
[0018] The determination module is used to predict the coincident corner points of the target vehicle within the planning time period, as well as the intersection points of the target vehicle's shape at the relevant time of path planning. The coincident corner points are the corner points of the target vehicle, and the coincident corner points and the corner points of the self-vehicle are projected to coincide on the vertical axis of the reference coordinate system. The relevant time of path planning is the start time or the end time of path planning. The intersection points are located on the shape of the target vehicle, and the intersection points and the corner points of the self-vehicle are projected to coincide on the vertical axis of the reference coordinate system. The smallest convex polygon region containing the coincident corner points and the intersection points is determined as the interaction region.
[0019] The determination module is used to predict multiple sampling points of static obstacles in the reference coordinate system within the planning time period. Static obstacles include at least one of the roadside and the actual lane line. The multiple sampling points of static obstacles in the reference coordinate system are determined as static obstacle nodes.
[0020] The planning module is used to select the starting node of the path as the initial first path node, and select multiple second path nodes in the path node set other than the first path node; filter out the second path nodes that meet the preset conditions from the multiple second path nodes, and use them as new first path nodes; restart the process of selecting multiple second path nodes in the path node set other than the first path node until the latest selected first path node is the path termination node, so as to obtain multiple first path nodes; connect the multiple first path nodes to obtain the target planned path.
[0021] The planning module is used to connect two adjacent first path nodes in a plurality of first path nodes in sequence, using either two segments of quintic spline curves or higher-order Bézier curves.
[0022] The preset conditions include connectability conditions and collision detection conditions, and the first path cost of the second path node is minimized.
[0023] The connectability conditions include: the planning time of the second path node is greater than the planning time of the first path node, the second path node and the first path node do not belong to the same obstacle, and the second path node is not a selected first path node; and / or, the collision detection conditions include: there is at least one path curve between the second path node and the first path node that does not intersect with any side of the interaction area, and does not intersect with any side of the multiple static obstacle nodes connecting the static obstacles, the interaction area is the area where the self-vehicle and the target vehicle interact during the planned time period, and the target vehicle is located in the adjacent lane of the self-vehicle.
[0024] The planning module is used to determine the second path cost and the third path cost of the second path node. The second path cost is the cost from the second path node to the starting node of the path, and the third path cost is the cost from the second path node to the ending node of the path. It determines the larger and smaller values of the second path cost and the third path cost of the second path node. It determines the product of the smaller value of the second path node and the first cost weight, and the sum of the product of the second path node and the larger value of the second path node is used as the first path cost of the second path node.
[0025] To solve the above-mentioned technical problems, another technical solution adopted in this application is: to provide a processing device, including a memory and a processor coupled to each other, wherein the memory stores program instructions; and the processor is used to execute the program instructions stored in the memory to implement the above-mentioned path planning method.
[0026] To solve the above-mentioned technical problems, another technical solution adopted in this application is to provide a computer-readable storage medium for storing program instructions that can be executed to implement the above-mentioned path planning method.
[0027] The above solution, when the vehicle triggers the emergency lane keeping function, searches for a target planned path for the vehicle within the planned time period based on the set of path nodes within that time period. Then, within the planned time period, the vehicle is controlled to travel along the target planned path. Since the set of path nodes includes the path start node, path end node, and obstacle nodes, and the target planned path planned based on the set of path nodes allows the vehicle to avoid obstacles corresponding to obstacle nodes within the planned time period, controlling the vehicle to travel along the target planned path within the planned time period reduces the possibility of collision with obstacles within the planned time period, thereby improving the driving safety of the vehicle after the emergency lane keeping function is triggered. Attached Figure Description
[0028] Figure 1 This is a flowchart illustrating an embodiment of the path planning method provided in this application;
[0029] Figure 2 This is a schematic diagram of the overlapping corner points of the target vehicle provided in this application;
[0030] Figure 3 This is a schematic diagram of the intersection of the external shapes of the target vehicle provided in this application;
[0031] Figure 4 This is a schematic diagram of the interaction area between the self-driving vehicle and the target vehicle provided in this application;
[0032] Figure 5 This is a flowchart illustrating an embodiment of the method for planning a search target path provided in this application;
[0033] Figure 6 This is a flowchart illustrating another embodiment of the path planning method provided in this application;
[0034] Figure 7 This is a schematic diagram of the framework of an embodiment of the path planning device provided in this application;
[0035] Figure 8 This is a schematic diagram of the framework of an embodiment of the processing device provided in this application;
[0036] Figure 9 This is a schematic diagram of a framework of an embodiment of the computer-readable storage medium provided in this application. Detailed Implementation
[0037] To make the purpose, technical solution and effects of this application clearer and more explicit, the following describes this application in further detail with reference to the accompanying drawings and embodiments.
[0038] It should be noted that the term "and / or" in this article is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. Additionally, the character " / " in this article generally indicates that the preceding and following related objects have an "or" relationship. Furthermore, "many" in this article means two or more. Moreover, the term "at least one" in this article means any combination of at least two of any one or more of a plurality of elements. For example, including at least one of A, B, and C can mean including any one or more elements selected from the set consisting of A, B, and C.
[0039] Furthermore, if the embodiments of this application involve descriptions such as "first" or "second," these descriptions are for descriptive purposes only and should not be construed as indicating or implying their relative importance or implicitly specifying the number of technical features indicated. Therefore, features defined with "first" or "second" may explicitly or implicitly include at least one of those features. Additionally, the technical solutions of various embodiments can be combined with each other, but this must be based on the ability of those skilled in the art to implement them. If the combination of technical solutions is contradictory or impossible to implement, it should be considered that such a combination of technical solutions does not exist and is not within the scope of protection claimed in this application.
[0040] Please see Figure 1 , Figure 1 This is a flowchart illustrating an embodiment of the path planning method provided in this application. Exemplarily, this method can be executed by the vehicle controller of a vehicle. It should be noted that if substantially the same result is obtained, the method of this invention does not necessarily require further explanation. Figure 1 The illustrated process sequence is limited. For example... Figure 1 As shown, the method includes the following steps:
[0041] S11: In response to the triggering of the vehicle's emergency lane keeping function, determine the set of path nodes for the vehicle within the planned time period. The set of path nodes includes the path start node, the path end node, and obstacle nodes.
[0042] In one embodiment, the distance between the vehicle and the center line of its lane, and the relative heading angle of the vehicle relative to the center line of its lane are detected. When the distance between the vehicle and the center line of its lane, and the relative heading angle of the vehicle, satisfy a first preset condition, an emergency lane keeping function is triggered. Specifically, the first preset condition includes at least one of the following: the distance between the vehicle and the center line of its lane is greater than a distance threshold, and the relative heading angle of the vehicle is greater than a heading angle threshold. For example, the emergency lane keeping function is triggered when the distance between the vehicle and the center line of its lane is greater than a distance threshold; or, the emergency lane keeping function is triggered when the relative heading angle of the vehicle is greater than a heading angle threshold; or, the emergency lane keeping function is triggered when both the distance between the vehicle and the center line of its lane are greater than a distance threshold and the relative heading angle of the vehicle is greater than a heading angle threshold. For example, the distance between the vehicle and the centerline of the lane it is in can be calculated based on the vehicle's current position coordinates and the coordinates of the projection point of the vehicle's current position onto the lane centerline. The vehicle's current position can be obtained through a positioning device installed on the vehicle. The vehicle's relative heading angle is the angle between the vehicle's current driving direction and the lane centerline of the lane it is in. The distance threshold and heading angle threshold can be set according to actual needs; this embodiment does not impose specific limitations on them.
[0043] In this embodiment, when the vehicle's emergency lane keeping function is triggered, the set of path nodes for the vehicle within the planned time period is determined, and the target planned path for the vehicle within the planned time period is planned based on the set of path nodes for the vehicle within the planned time period. The set of path nodes includes the path start node, the path end node, and obstacle nodes in the reference coordinate system.
[0044] The reference coordinate system is established based on the lane in which the vehicle is located. For example, the center line of the lane is used as the reference line, which is also used as the vertical axis (s-axis) of the reference coordinate system, with the positive direction of the vertical axis representing the vehicle's forward direction. A direction perpendicular to the reference line is used as the horizontal axis (d-axis) of the reference coordinate system. Displacement along the vertical axis is called longitudinal displacement, and displacement along the horizontal axis is called lateral displacement.
[0045] The path start node is the position of the vehicle in the reference coordinate system at the start of path planning, and the path planning start time is the moment when the emergency lane keeping function is triggered.
[0046] The path termination node is the position of the vehicle in the reference coordinate system at the time when path planning ends. In one embodiment, the path planning termination time is the sum of the path planning start time and the time corresponding to the planning time period. The planning time period can be set according to actual conditions. In another embodiment, the path planning termination time is the time when the distance between the vehicle and the center line of the lane it is in, and the relative heading angle of the vehicle, meet a second preset condition. That is, the time when the emergency lane keeping function is deactivated is taken as the path planning termination time. Specifically, the second preset condition includes at least one of the following: the distance between the vehicle and the center line of the lane it is in is less than or equal to a distance threshold, and the relative heading angle of the vehicle is less than or equal to a heading angle threshold. The relevant content of the distance threshold and heading angle threshold is described above and will not be repeated here.
[0047] An obstacle node includes at least one of dynamic obstacle nodes in the reference coordinate system and static obstacle nodes in the reference coordinate system. That is, an obstacle node includes dynamic obstacle nodes in the reference coordinate system, or an obstacle node includes static obstacle nodes in the reference coordinate system, or an obstacle node includes both dynamic obstacle nodes and static obstacle nodes in the reference coordinate system.
[0048] In one embodiment, dynamic obstacle nodes include vertices of the interaction area between the vehicle and dynamic obstacles within a planning time period. Dynamic obstacles include target vehicles in adjacent lanes of the vehicle, for example, target vehicles traveling forward or backward in adjacent lanes. The number of target vehicles is at least one. In this embodiment, the step of determining dynamic obstacle nodes within a planning time period includes: predicting the interaction area between the vehicle and target vehicles within a planning time period in a reference coordinate system; and determining multiple vertices of the interaction area as dynamic obstacle nodes. Specifically, predicting the interaction area between the vehicle and target vehicles within a planning time period in a reference coordinate system includes the following sub-steps:
[0049] Sub-step one: Predict the overlapping corner points of the target vehicle within the planning time period and the intersection points of the target vehicle's shape at relevant moments in the path planning.
[0050] In this embodiment, based on the geometric dimensions of the target vehicle and the self-vehicle, the top-view projections of the target vehicle and the self-vehicle can be equivalent to rectangles. In this embodiment, the target vehicle and the self-vehicle are equivalent to cuboids, and the geometric dimensions of the target vehicle and the self-vehicle respectively include the length, width, and height of the target vehicle and the length, width, and height of the self-vehicle. Exemplarily, the geometric dimensions of the target vehicle can be obtained through an image recognition algorithm. Exemplarily, the geometric dimensions of the self-vehicle are pre-stored in the storage unit of the vehicle controller, and the geometric dimensions of the self-vehicle can be directly obtained from the storage unit of the vehicle controller. The corner points of the target vehicle are the four corner points of the equivalent rectangle corresponding to the target vehicle's shape, and the corner points of the self-vehicle are the four corner points of the equivalent rectangle corresponding to the self-vehicle's shape.
[0051] The coincident corner point of the target vehicle is the corner point where the projections of the target vehicle's corner point and the driver's corner point coincide on the vertical axis of the reference coordinate system. Specifically, it is assumed that the target vehicle and the driver undergo uniformly accelerated motion during the planning time period, and that the curvature of their motion remains constant during this period (i.e., uniformly accelerated constant curvature motion). For example, uniformly accelerated motion can be uniformly accelerated linear motion or uniformly decelerated linear motion. The curvature of the target vehicle's motion during the planning time period is the curvature of its center of mass at the start of path planning, and the curvature of the driver's motion during the planning time period is the curvature of its center of mass at the start of path planning. By combining the target vehicle's motion type during the planning time period with its position, heading angle, velocity, acceleration, and curvature at the start of path planning, the position of the target vehicle's corner point during the planning time period can be predicted. Similarly, by combining the driver's motion type during the planning time period with its position, heading angle, velocity, acceleration, and curvature at the start of path planning, the position of the driver's corner point during the planning time period can be predicted. Furthermore, based on the predicted corner positions of the target vehicle and the self-vehicle within the planning time period, several coincidence times can be obtained where the corners of the target vehicle and the self-vehicle project onto the vertical axis of the reference coordinate system within the planning time period, along with the corresponding coincident corners of the target vehicle at each coincidence time. It should be noted that this embodiment only uses the assumption that the target vehicle and the self-vehicle undergo uniformly accelerated constant curvature motion within the planning time period as an example; the specific type of motion of the target vehicle and the self-vehicle within the planning time period is not specifically limited. In other embodiments, it can also be assumed that the target vehicle and the self-vehicle undergo uniform linear motion, etc., within the planning time period.
[0052] The relevant time for path planning is either the start time or the end time of path planning. At the relevant time for path planning, the intersection point of the target vehicle's shape is located on the target vehicle's shape, and the projection of this intersection point onto the vertical axis of the reference coordinate system coincides with the corner point of the accelerator vehicle. For example, the intersection point of the target vehicle's shape at the start time of path planning can be determined based on the positions of both the target vehicle and the accelerator vehicle at that time, and the intersection point of the target vehicle's shape at the end time of path planning can also be determined based on the positions of both the target vehicle and the accelerator vehicle at that time.
[0053] Sub-step two: The smallest convex polygon region containing the coincident corner points of the target vehicle and the intersection points of the target vehicle's shape is determined as the interaction region.
[0054] This embodiment records the coincidence time corresponding to the coincidence corner points of the target vehicle and the lateral displacement of the coincidence corner points of the target vehicle in the reference coordinate system, as well as the planning-related time corresponding to the intersection points of the target vehicle's shapes and the lateral displacement of the intersection points of the target vehicle's shapes in the reference coordinate system. For example, the coincidence time corresponding to the coincidence corner points of the target vehicle is denoted as... The lateral displacement of the coincident corner point of the target vehicle in the reference coordinate system is denoted as . Where k represents the k-th target vehicle, and i represents the i-th corner point of the k-th target vehicle.
[0055] Please see Figure 2 , Figure 2 This is a schematic diagram of the overlapping corner points of the target vehicle provided in this application. For example... Figure 2 As shown, the i-th corner point of the k-th target vehicle and the corner point of the vehicle are on the vertical axis of the reference coordinate system ( Figure 2 The projections of the k-th target vehicle onto the d-axis direction coincide, and the lateral displacement of the i-th corner point of the k-th target vehicle in the reference coordinate system is...
[0056] Please see Figure 3 , Figure 3 This is a schematic diagram of the intersection of the external shapes of the target vehicle provided in this application. Figure 3 The intersection point of the target vehicle's shape is the point on the target vehicle's shape where the corner points of the target vehicle and the unidirectional vehicle are projected onto the vertical axis of the reference coordinate system at either the start or end of path planning. For example... Figure 3 As shown, the target vehicle includes two intersection points of its shape corresponding to the front right corner of the vehicle, and the lateral displacements of the two intersection points in the reference coordinate system are d1 and d2, respectively.
[0057] Specifically, a two-dimensional coordinate system is first established, with the planning time as the horizontal axis and the lateral displacement as the vertical axis. Then, the coincidence time corresponding to the coincidence corners of the target vehicles, the lateral displacement of the coincidence corners of the target vehicles in the reference coordinate system, the planning-related time corresponding to the intersection points of the target vehicles' shapes, and the lateral displacement of the intersection points of the target vehicles' shapes in the reference coordinate system are represented in the two-dimensional coordinate system. This yields the coincidence corners and intersection points of the target vehicles within the planning time period represented in the two-dimensional coordinate system. Finally, the convex polygon region with the smallest area that contains both the coincidence corners and intersection points of the target vehicles in the two-dimensional coordinate system is determined as the minimum convex polygon region, i.e., the interaction region.
[0058] Optionally, in this embodiment, considering that the vertices of the interaction area are the coincident corner points and the intersection points of the target vehicle's shape, and that both the coincident corner points and the intersection points are points on the outer edges of the target vehicle's shape, while the actual path planning process is based on the rear axle center point of the vehicle, in order to further reduce the possibility of collision between the vehicle and the target vehicle and to further improve the vehicle's driving safety, the vertices of the interaction area represented in the two-dimensional coordinate system are expanded outward by half the vehicle width to leave a collision margin of half the vehicle width. Half the vehicle width is half the width of the vehicle. For example, the vertices above the interaction area are expanded upward by half the vehicle width, and the vertices below the interaction area are expanded downward by half the vehicle width to obtain the outwardly expanded interaction area.
[0059] Please see Figure 4 , Figure 4 This is a schematic diagram of the interaction area between the self-driving vehicle and the target vehicle provided in this application. For example... Figure 4 As shown, the interaction area A is obtained by expanding each vertex outward by half the width of the vehicle.
[0060] In this embodiment, the overlapping corner points and the intersection points of the target vehicle's shape are all points on the outer edge of the target vehicle's shape. That is, the vertices of the interaction area between the vehicle and the target vehicle are all points on the outer edge of the target vehicle's shape. By using multiple vertices of the interaction area between the vehicle and the target vehicle within the planning time period as dynamic obstacle nodes, the vehicle can avoid collisions with the target vehicle as closely as possible when subsequently controlling the vehicle to travel along the planned path. This reduces the steering wheel angle while avoiding collisions with the target vehicle, improving the vehicle's stability and thus enhancing passenger comfort.
[0061] In one embodiment, a static obstacle node includes multiple sampling points of static obstacles in a reference coordinate system within a planning time period. Static obstacles include at least one of a curb and a solid lane line. The number of static obstacles is at least one. In this embodiment, the step of determining static obstacle nodes within a planning time period includes: predicting multiple sampling points of static obstacles in a reference coordinate system within the planning time period; and determining the multiple sampling points of static obstacles in the reference coordinate system as static obstacle nodes. The prediction of multiple sampling points of static obstacles in a reference coordinate system within the planning time period includes the following sub-steps:
[0062] Sub-step one: Fit the shape of the static obstacle to obtain the shape fitting expression corresponding to the static obstacle.
[0063] Specifically, the fitting process includes: obtaining the coordinates of multiple sampling points of the static obstacle in the vehicle coordinate system; substituting the coordinates of the multiple sampling points of the static obstacle in the vehicle coordinate system into a preset polynomial to obtain the coefficients of the preset polynomial, and then obtaining the fitting expression corresponding to the static obstacle. The x-axis of the vehicle coordinate system is parallel to the ground and points forward of the vehicle, the y-axis points to the driver's left, and the z-axis passes through the vehicle's center of mass and points upward. This embodiment does not limit the specific form of the preset polynomial, as long as it can express the basic shape of the static obstacle. For example, the preset polynomial can be a cubic polynomial, a fifth-order polynomial, etc. For example, the preset polynomial is y = a*x. 3 +b*x 2 +c, where a, b, and c are the coefficients of a predefined polynomial.
[0064] Sub-step two: Determine the N sampling times within the planned time period, and the longitudinal displacement of the vehicle in the reference coordinate system corresponding to each sampling time.
[0065] In one example, the planned time period is evenly divided according to a preset time interval to obtain N sampling times. The preset time interval is set according to actual needs.
[0066] In one example, by combining the vehicle's motion type within the planning time period with its position, heading angle, velocity, acceleration, and curvature at the start of path planning, the longitudinal displacement of the vehicle in the reference coordinate system at each sampling time within the planning time period can be predicted. For details regarding the vehicle's motion type within the planning time period, please refer to step S11 above; these details will not be repeated here.
[0067] Sub-step three: Based on the shape fitting expression corresponding to the static obstacle and the longitudinal displacement of the vehicle in the reference coordinate system at each sampling time, determine the sampling points of the static obstacle at each sampling time in the reference coordinate system.
[0068] Specifically, the longitudinal displacement of the vehicle in the reference coordinate system corresponding to each sampling time is substituted into the shape fitting expression corresponding to the static obstacle to obtain the sampling points of the static obstacle in the reference coordinate system corresponding to each sampling time.
[0069] In this embodiment, by determining the dynamic and static obstacle nodes within the planning time period, the vehicle can avoid dynamic and static obstacles when traveling along the target planned path, thereby improving the driving safety of the vehicle.
[0070] Optionally, in this embodiment, after determining the set of path nodes for the vehicle within the planned time period, the method further includes: determining the node-related information of each path node in the set of path nodes. The node-related information of each path node includes at least one of the following: longitudinal displacement, lateral displacement, lateral velocity, lateral acceleration, and rate of change of lateral acceleration in the reference coordinate system.
[0071] In one embodiment, the longitudinal displacement of the path starting node in the reference coordinate system is set to 0. The lateral displacement, lateral velocity, and lateral acceleration of the path starting node in the reference coordinate system are respectively taken as the lateral displacement, lateral velocity, and lateral acceleration of the vehicle in the reference coordinate system at the start of path planning, for example, the lateral displacement, lateral velocity, and lateral acceleration of the vehicle's center of mass in the reference coordinate system. The rate of change of the lateral acceleration of the path starting node in the reference coordinate system is set to 0. The lateral velocity of the vehicle in the reference coordinate system is obtained by taking the first derivative of the lateral displacement of the vehicle in the reference coordinate system. The lateral acceleration of the vehicle in the reference coordinate system is obtained by taking the second derivative of the lateral displacement of the vehicle in the reference coordinate system; or, the lateral acceleration of the vehicle in the reference coordinate system is obtained by taking the first derivative of the lateral velocity of the vehicle in the reference coordinate system.
[0072] In one embodiment, to ensure that the vehicle can approach the lane centerline of its own lane at the time of path planning termination, the lateral distance of the path termination node in the reference coordinate system is set to 0. The lateral velocity, lateral acceleration, and rate of change of lateral acceleration of the path termination node in the reference coordinate system are all set to 0. Optionally, to further improve the success rate of path planning, the lateral distance of the path termination node in the reference coordinate system can be a value within a first preset error range, and the lateral velocity of the path termination node in the reference coordinate system can be a value within a second preset error range. The first and second preset error ranges can be set according to actual needs. For example, the first preset error range is [-Δd, Δd], and the second preset error range is [-Δv, Δv]. Where Δd is the allowable lateral distance error, Δv is the allowable lateral velocity error, and Δd and Δv are set values.
[0073] In one embodiment, to improve the driving safety of the vehicle, the lateral displacement of the dynamic obstacle node in the reference coordinate system is the lateral displacement after expanding outward by half the vehicle width from the vertex of the corresponding interaction area. Optionally, to minimize the possibility of collision between the vehicle and the dynamic obstacle and further improve the driving safety, the lateral displacement of the dynamic obstacle node in the reference coordinate system is the lateral distance after expanding outward by half the vehicle width from the vertex of the corresponding interaction area and then extending inward by a preset redundancy distance. The preset redundancy distance is set according to actual needs; for example, the preset redundancy distance is 10cm, 20cm, etc.
[0074] The lateral velocity of a dynamic obstacle node includes at least one preset velocity value. This preset velocity value can be set according to actual needs, and each preset velocity value is different. For example, the lateral velocity of a dynamic obstacle node includes three preset velocity values, which are -v... n-1 0 and v n-1 v n-1 This represents the lateral velocity of the dynamic obstacle node at the previous moment. The lateral acceleration and rate of change of lateral acceleration of the dynamic obstacle node in the reference coordinate system are both zero.
[0075] In one embodiment, the lateral displacement of a static obstacle node in the reference coordinate system is taken as the lateral distance of the corresponding sampling point of the static obstacle in the reference coordinate system. Optionally, to improve the accuracy of the planned path, the lateral displacement of a static obstacle node in the reference coordinate system is taken as the lateral distance of the corresponding sampling point of the static obstacle extended by half the vehicle width in the direction of the vehicle. The lateral velocity, lateral acceleration, and rate of change of lateral acceleration of the static obstacle node in the reference coordinate system are all set to 0.
[0076] S12: Based on the set of path nodes, search for the target planned path of the vehicle within the planning time period. The target planned path can avoid the obstacles corresponding to the obstacle nodes.
[0077] In this embodiment, firstly, multiple first path nodes that meet the requirements are selected from the path node set based on a path search algorithm. Then, these multiple first path nodes are connected to obtain the target planned path. That is, the target planned path is composed of multiple first path nodes from the path node set. For example, the path search algorithm can be the A* algorithm.
[0078] Please see Figure 5 , Figure 5 This is a flowchart illustrating an embodiment of the method for planning a search target path provided in this application. Figure 5 As shown, the method includes the following steps:
[0079] S501: Select the starting node of the path from the set of path nodes as the initial first path node.
[0080] S502: Select multiple second path nodes from the path node set, excluding the first path node.
[0081] Multiple second path nodes are all path nodes in the path node set except for the current first path node. For example, when the first path node is the path start node, all path nodes in the path node set except for the path start node are considered as multiple second path nodes. As another example, when the first path node is a dynamic obstacle node, all path nodes in the path node set except for that dynamic obstacle node are considered as multiple second path nodes.
[0082] S503: Select a second path node that meets the preset conditions from multiple second path nodes and use it as a new first path node.
[0083] In this embodiment, the preset conditions include connectability conditions, collision detection conditions, and the first path cost of the second path node being minimized.
[0084] In this embodiment, based on preset conditions, a second path node can be selected from multiple second path nodes corresponding to a first path node, and this second path node becomes the new first path node. Specifically, the step of selecting the second path node includes: firstly, selecting at least one second path node from multiple second path nodes that meets both the connectability condition and the collision detection condition. For example, firstly, selecting multiple second path nodes that meet the connectability condition, and then selecting at least one second path node that meets the collision detection condition from the multiple second path nodes that meet the connectability condition; or, firstly, selecting multiple second path nodes that meet the collision detection condition, and then selecting at least one second path node that meets the connectability condition from the multiple second path nodes that meet the collision detection condition. Then, selecting the second path node with the lowest first path cost from the at least one second path node that meets both the connectability condition and the collision detection condition, and using it as the new first path node.
[0085] In one embodiment, each of the multiple second path nodes is traversed, and it is determined whether each second path node meets the connectability conditions, so as to filter out the second path nodes that meet the connectability conditions from the multiple second path nodes corresponding to the first path node. The connectability conditions include: the planning time of the second path node is greater than the planning time of the first path node, the second path node and the first path node do not belong to the same obstacle (the same dynamic obstacle or the same static obstacle), and the second path node is not a first path node that has been filtered. The relevant content of the planning time is referred to the above S501, and will not be repeated here.
[0086] In this embodiment, when the second path node meets the aforementioned connectability conditions, the second path node and the first path node are connectable, meaning a path can be planned between them. When the second path node does not meet the aforementioned connectability conditions, the second path node and the first path node are not connectable, meaning a path cannot be planned between them. By determining the connectability of the second path node, the connectability between the identified multiple first path nodes can be guaranteed, thereby improving the reliability of the target planned path.
[0087] In one embodiment, each of the multiple second path nodes is traversed, and it is determined whether each second path node meets the collision detection conditions, so as to filter out the second path nodes that meet the collision detection conditions from the multiple second path nodes corresponding to the first path node. Specifically, if at least one path curve is generated between the second path node and the first path node, the collision detection conditions include: there exists at least one path curve between the second path node and the first path node that does not intersect with any side of the interaction area, and does not intersect with any side of the multiple static obstacle nodes connecting the static obstacles. The at least one path curve between the second path node and the first path node is generated based on the node-related information of the second path node and the node-related information of the first path node. The relevant content of the node-related information is described in step S11 above, and will not be repeated here.
[0088] Specifically, two quintic spline curves are used to connect the first path node and the second path node to obtain the path curve between the first path node and the second path node. The two quintic spline curves are represented by the following formula:
[0089]
[0090] Formula (1) represents the equation of two quintic spline curves. Here, f1(t) represents the first quintic spline curve between the first path node and the segment point; f2(t) represents the second quintic spline curve between the segment point and the second path node; the segment point is the point between the first path node and the second path node. and as well as as well as These are the equation coefficients, which are determined based on the constraints. The constraints include lateral displacement constraints, lateral velocity constraints, lateral acceleration constraints, and lateral acceleration rate of change constraints.
[0091] The lateral displacement constraint condition is expressed by the following formula:
[0092]
[0093] In formula (2), t n-1 t represents the planning time of the first path node. n t represents the planning time of the second path node. m d represents the planning time of the segmentation point. n-1 d represents the lateral displacement of the first path node. n This represents the lateral displacement of the second path node. f1(t) n-1 )=d n-1 This indicates that the lateral displacement corresponding to the starting point of the first quintic spline curve is continuous, f1(t) m )=f2(t m f2(t) indicates that the lateral displacements corresponding to the segmentation points between the first and second quintic spline curves are continuous. n )=d n This indicates that the lateral displacement corresponding to the termination point of the second quintic spline curve is continuous.
[0094] The lateral velocity constraint condition is expressed by the following formula:
[0095]
[0096] In formula (3), t n-1 t represents the planning time of the first path node. n t represents the planning time of the second path node. m v represents the planning time of the segmentation point. n-1 v represents the lateral velocity of the first path node. n This represents the lateral velocity of the second path node. f1'(t) n-1 ) = v n-1 This indicates that the transverse velocity corresponding to the starting point of the first quintic spline curve is continuous, f1'(t) m )=f2'(t m f2'(t) indicates that the transverse velocity at the segmentation point between the first and second quintic spline curves is continuous. n ) = v n This indicates that the transverse velocity at the termination point of the second quintic spline curve is continuous. f1'(t) n-1 f1'(t) m f2'(t) m ) and f2'(t n ) respectively for f1(t n-1 f1(t) m f2(t) m ) and f2(t n The first derivative is obtained.
[0097] The lateral acceleration constraint condition is expressed by the following formula:
[0098]
[0099] In formula (4), t n-1 t represents the planning time of the first path node. n t represents the planning time of the second path node. m a represents the planning time of the segmentation point. n-1 a represents the lateral acceleration of the first path node. n This represents the lateral acceleration of the second path node. f1"(t n-1 ) = a n-1 This indicates that the transverse acceleration corresponding to the starting point of the first quintic spline curve is continuous, f1"(t m )=f2"(t m ) indicates that the transverse acceleration corresponding to the segmentation point between the first and second quintic spline curves is continuous, f2"(t n ) = a n This indicates that the transverse acceleration corresponding to the termination point of the second quintic spline curve is continuous. f1"(t n-1 ),f1"(t m f2" m ) and f2" n ) respectively for f1(t n-1 f1(t) m f2(t) m ) and f2(t n The second derivative is obtained.
[0100] The constraint condition for the rate of change of lateral acceleration is expressed by the following formula:
[0101]
[0102] In formula (5), t n-1 t represents the planning time of the first path node. n t represents the planning time of the second path node. m jerk represents the planning time of the segmentation point. n-1 jerk represents the rate of change of lateral acceleration at the first path node. n This represents the rate of change of lateral acceleration at the second path node. f1”'(t n-1 ) = jerk n-1 This indicates that the rate of change of transverse acceleration corresponding to the starting point of the first quintic spline curve is continuous, f1”'(t m )=f2”'(t m) indicates that the rate of change of transverse acceleration at the segment point between the first and second quintic spline curves is continuous, f2”'(t n ) = jerk n This indicates that the rate of change of transverse acceleration corresponding to the termination point of the second quintic spline curve is continuous. f1”'(t n-1 ),f1”'(t m ),f2”'(t m ) and f2”'(t n ) respectively for f1(t n-1 f1(t) m f2(t) m ) and f2(t n The third derivative is obtained.
[0103] The planning time for the segment points in formulas (2) to (5) is determined using the following empirical formulas:
[0104]
[0105] In formula (6), t m t represents the planning time of the segmentation point. n-1 d n-1 v n-1 and a n-1 Let t represent the planning time, lateral displacement, lateral velocity, and lateral acceleration of the first path node, respectively. n d n v n and a n Let represent the lateral displacement, lateral velocity, and lateral acceleration of the second path node, respectively. When (a n +a n-1 )(t n -t n-1 )-2(v n -v n-1 When t is 0, m for
[0106] If the lateral displacement or lateral velocity of the first or second path node has multiple values, different equation coefficients can be determined based on the equations and constraints of the two quintic spline curves mentioned above, thereby enabling the generation of multiple path curves between the first and second path nodes.
[0107] In this embodiment, if a path curve between the second path node and the first path node intersects with an edge of the interaction area, then a collision exists between the path curve and the interaction area, meaning the vehicle traveling along this path curve may collide with the target vehicle. If all path curves between the second path node and the first path node intersect with edges of the interaction area, the second path node is determined to not meet the collision detection conditions. If a path curve between the second path node and the first path node intersects with an edge formed by connecting multiple static obstacle nodes of a static obstacle, then a collision exists between the path curve and the static obstacle, meaning the vehicle traveling along this path curve will collide with the static obstacle. If all path curves between the second path node and the first path node intersect with edges formed by connecting multiple static obstacle nodes of the static obstacle, the second path node is determined to not meet the collision detection conditions. By performing collision detection on the second path node, the possibility of collision with the target planned path can be further reduced, thereby further improving the driving safety of the vehicle.
[0108] In one embodiment, the first path cost of the second path node is determined based on the second path cost and the third path cost of the second path node. The second path cost of the second path node is the cost from the second path node to the starting node of the path, and the third path cost of the second path node is the cost from the second path node to the ending node of the path. Specifically, determining the first path cost of the second path node includes the following sub-steps:
[0109] Sub-step one: Determine the second path cost and the third path cost of the second path node.
[0110] In one example, the second path cost of the second path node is the cost from the second path node to the starting node of the path. Determining the second path cost of the second path node includes: first determining the fourth path cost and the fifth path cost; then, based on the fourth path cost and the fifth path cost, determining the second path cost of the second path node.
[0111] The fourth path cost is the cost from the first path node to the starting node of the path. The fourth path cost is a recursive value; when the first path node is the starting node, the fourth path cost is +∞. The fifth path cost is the cost from the first path node to the second path node.
[0112] The fifth path cost is determined based on the cost of the path curves (the two aforementioned quintic spline curves) between the first and second path nodes. When the path curve between the first and second path nodes collides with the interaction area or a static obstacle, the cost of that path curve is +∞; when the path curve between the first and second path nodes does not collide with the interaction area or a static obstacle, the cost of that path curve is the maximum absolute value of the lateral acceleration rate of change of that path curve. If there is only one path curve between the first and second path nodes, the fifth path cost is the cost of that path curve; if there are multiple path curves between the first and second path nodes, the fifth path cost is the minimum value among the costs of the multiple path curves.
[0113] Specifically, determining the second path cost of a second path node includes: determining the larger and smaller values of the fourth and fifth path costs; determining the product of the smaller value of the fourth and fifth path costs and the second cost weight, and summing the product of the smaller value of the fourth and fifth path costs and the second cost weight with the larger value of the fourth and fifth path costs, as the second path cost of the second path node. In a specific application, the second path cost of a second path node is calculated using the following formula:
[0114] gScore new =max(gScore) curr cost new )+costWeight2*min(gScore curr cost new (7)
[0115] In formula (7), gScore new gScore represents the second path cost of the second path node. curr Indicates the cost of the fourth path; cost new Represents the cost of the fifth path; max(gScore) curr cost new ) represents the larger of the fourth path cost and the fifth path cost; min(gScore) curr cost new The first value represents the smaller of the fourth path cost and the fifth path cost. The second cost weight represents the second cost weight, the value of which can be determined according to the actual situation. For example, when the larger of the fourth path cost and the fifth path cost is the fourth path cost, the second cost weight is set according to the fourth path cost; when the larger of the fourth path cost and the fifth path cost is the fifth path cost, the second cost weight is set according to the fifth path cost.
[0116] In one example, the third path cost of the second path node is the cost from the second path node to the path termination node. Determining the third path cost of the second path node includes: generating a path curve between the second path node and the path termination node; and using the larger absolute value of the lateral acceleration rate of change of the path curve between the second path node and the path termination node as the third path cost of the second path node. Specifically, two quintic spline curves are used to connect the second path node and the path termination node to obtain the path curve between the second path node and the path termination node. The details of generating the path curve are described above and will not be repeated here.
[0117] Sub-step two: Determine the larger and smaller values of the second path cost and the third path cost of the second path node.
[0118] In sub-step two, after determining the second path cost and the third path cost of the second path node, the larger and smaller values of the second path cost and the third path cost of the second path node can be determined directly based on the specific cost of the second path cost and the specific cost of the third path cost of the second path node.
[0119] Sub-step three: Determine the product of the smaller of the second path cost and the third path cost of the second path node and the first cost weight, and sum the product of the smaller of the second path cost and the third path cost of the second path node and the first cost weight with the larger value of the second path node, and use this sum as the first path cost of the second path node.
[0120] In a specific application, the first path cost of the second path node is calculated using the following formula:
[0121] fScore new =max(gScore) new ,hcost)+costWeight1*min(gScore new ,hcost)(8)
[0122] In formula (8), fScore new gScore represents the first path cost of the second path node. new The second path cost of the second path node is represented by `hcost`; the third path cost of the second path node is represented by `max(gScore)`. curr cost new ) represents the larger of the second and third path costs; max(gScore) new`hcost` represents the smaller of the second path cost and the third path cost. `costWeight1` represents the first cost weight, the value of which can be determined according to the actual situation. For example, when the larger of the second path cost and the third path cost is the second path cost, the second cost weight is set according to the second path cost; when the larger of the second path cost and the third path cost is the third path cost, the second cost weight is set according to the third path cost.
[0123] Optionally, in this embodiment, after selecting a second path node that meets preset conditions from multiple second path nodes, if the second path node has multiple lateral displacements or multiple lateral velocities, there will be multiple path curves between the second path node and the corresponding first path node. Then, a unique lateral displacement and a unique lateral velocity are determined from the multiple lateral displacements and multiple lateral velocities of the second path node as its final lateral displacement and final lateral velocity. Specifically, the lateral displacement and lateral velocity corresponding to the path curve with the lowest cost among the multiple path curves between the second path node and the first path node are taken as the final lateral displacement and final lateral velocity of the second path node.
[0124] S504: Determine whether the first path node is a path termination node. If the first path node is not a path termination node, repeat steps S502 and S503 until the latest filtered first path node is a path termination node, thus obtaining multiple first path nodes. If the first path node is a path termination node, proceed to step S505.
[0125] In this embodiment, it can be determined whether the first path node is a path termination node based on the planning time or node identifier of the first path node.
[0126] In one embodiment, when the planning time of the first path node is the path planning termination time, the first path node is determined to be a path termination node; when the planning time of the first path node is not the path planning termination time, the first path node is determined not to be a path termination node. Alternatively, when the planning time of the first path node is within a preset termination time range, the first path node is determined to be a path termination node; when the planning time of the first path node is outside the preset termination time range, the first path node is determined not to be a path termination node. For example, the preset termination time range is set according to actual needs. For instance, the upper limit of the preset termination time range is the path planning termination time, and the time difference between the lower limit of the preset termination time range and the path planning termination time is less than a set time threshold. For example, the set time threshold is 0.1 seconds, 0.5 seconds, etc.
[0127] If the first path node is the path start node, then the planning time of the first path node is the path planning start time. If the first path node is the path end node, then the planning time of the first path node is the path planning end time. If the first path node is the overlapping corner point or shape intersection point of the aforementioned target vehicle (dynamic obstacle node), then the planning time of the first path node is the overlap time of the corresponding overlapping corner point, or the path planning related time (path planning start time or path planning end time) of the corresponding shape intersection point. If the first path node is the aforementioned static obstacle node, then the planning time of the first path node is the sampling time of the corresponding static obstacle node.
[0128] In another embodiment, each path node in the path node set includes a corresponding node identifier. When the node identifier of the first path node is a termination node identifier, the first path node is determined to be a path termination node; when the node identifier of the first path node is not a termination node identifier, the first path node is determined not to be a path termination node. For example, the node identifier can be numbers, letters, or other forms of numbering, etc. This embodiment does not specifically limit the form of the node identifier, as long as it can distinguish each path node in the path node set.
[0129] It should be noted that in this embodiment, the multiple first path nodes include at least a path start node and a path end node.
[0130] S505: Connect multiple first path nodes to obtain the target planned path.
[0131] In this embodiment, one of two quintic spline curves or a higher-order Bézier curve can be used to sequentially connect two adjacent first path nodes among a plurality of first path nodes. Specifically, after determining a plurality of first path nodes from the set of path nodes, the path termination node among the plurality of first path nodes is taken as the current first path node, and two quintic spline curves or a higher-order Bézier curve are used to sequentially connect the current first path node with the previous first path node of the current first path node, until the current first path node becomes the path start node. Alternatively, after determining a plurality of first path nodes from the set of path nodes, the path start node among the plurality of first path nodes is taken as the current first path node, and two quintic spline curves or a higher-order Bézier curve are used to sequentially connect the current first path node with the next first path node of the current first path node, until the current first path node becomes the path termination node. The use of two quintic spline curves to connect two adjacent first path nodes can be referred to the relevant content in the aforementioned step S503, and will not be repeated here.
[0132] By connecting two adjacent first path nodes sequentially with two quintic spline curves or higher-order Bézier curves, the lateral displacement, lateral velocity, lateral acceleration, and rate of change of lateral acceleration at each first path node of the resulting target planned path can be kept continuous, ensuring the smoothness of the target planned path. When controlling the vehicle to travel along the target planned path, the steering wheel rotation amplitude can be reduced, improving the vehicle's stability and thus enhancing passenger comfort.
[0133] Optionally, after connecting two adjacent first path nodes sequentially using two quintic spline curves, a spline curve coefficient matrix and a segment point planning time vector can be output. These two vectors represent the target planned path. For example, the spline curve coefficient matrix stores multiple quintic spline curves from the path start node to the path end node in ascending or descending order. The segment point planning time vector stores the planning time of each segment point within the planning time period in ascending or descending order. A segment point is a point between two adjacent first path nodes. The vehicle controller can automatically generate the target planned path based on the spline curve coefficient matrix and the segment point planning time vector.
[0134] S13: During the planned time period, control the vehicle to travel along the target planned path.
[0135] In one embodiment, trajectory points are sampled on the target planned path at set time intervals, and the vehicle is controlled to drive according to the sampled trajectory points.
[0136] It should be noted that in this embodiment, when the vehicle triggers the emergency lane keeping function, it means that the vehicle is deviating from the center line of its lane. During the planned time period, after controlling the vehicle to travel along the target planned path, the vehicle's driving direction can be corrected so that the vehicle travels along or close to the center line of its lane at the end of the path planning.
[0137] In this embodiment, when the vehicle triggers the emergency lane keeping function, a target planned path for the vehicle within the planned time period is searched based on the set of path nodes within that time period. Then, during the planned time period, the vehicle is controlled to travel along the target planned path. Since the set of path nodes includes path start nodes, path end nodes, and obstacle nodes, and the target planned path planned based on the set of path nodes allows the vehicle to avoid obstacles corresponding to obstacle nodes within the planned time period, controlling the vehicle to travel along the target planned path within the planned time period reduces the likelihood of collisions between the vehicle and obstacles within the planned time period, thereby improving the driving safety of the vehicle after the emergency lane keeping function is triggered.
[0138] Please see Figure 6 , Figure 6 This is a flowchart illustrating another embodiment of the path planning method provided in this application. Figure 6 As shown, the method includes the following steps:
[0139] S601: Determine the set of path nodes for the vehicle within the planned time period.
[0140] The path node set includes the path start node, the path end node, and obstacle nodes. For details on determining the path node set, please refer to step S11 above; it will not be described in detail here.
[0141] S602: Initialize the open set and the join table.
[0142] Optionally, step S602 may further include initializing the closed set, the first cost table, and the second cost table.
[0143] In this embodiment, initializing the closed set, open set, first cost table (fScore table), second cost table (gScore table), and connection table (cameFrom table) means setting the initial state for the closed set, open set, first cost table, second cost table, and connection table, respectively.
[0144] The closed set is used to store multiple first path nodes determined from the set of path nodes. For example, initially, the closed set is empty.
[0145] An open set is used to store the second path nodes that meet the connectability and collision detection conditions corresponding to the current first path node. For example, initially, the open set only includes the path start node. Optionally, in other examples, the target planned path can also be searched starting from the path end node; in this case, initially, the open set may also only include the path end node.
[0146] The first cost table stores the first path cost of each path node in the path node set. For example, initially, the first path cost of the path start node in the first cost table is 0, and the first path costs of all other path nodes in the first cost table are +∞. The second cost table stores the second path cost of each path node in the path node set. For example, initially, the second path cost of the path start node in the first cost table is 0, and the first path costs of all other path nodes in the first cost table are +∞. For details regarding the first and second path costs, please refer to step S503 above, which will not be repeated here.
[0147] The connection table is used to store the connection relationships between multiple first path nodes selected from the path node set. For example, the connection table stores the next first path node corresponding to the current first path node or the previous first path node corresponding to the current first path node.
[0148] S603: Select the starting node of the path from the set of path nodes as the initial first path node.
[0149] S604: Select multiple second path nodes from the path node set, excluding the first path node.
[0150] S605: Select at least one second path node from multiple second path nodes that meets the connectability condition and the collision detection condition, and store the at least one second path node that meets the connectability condition and the collision detection condition into an open set.
[0151] S606: Determine the first path cost for each second path node in the open set.
[0152] Specifically, the first path cost of the second path node is determined based on the second path cost and the third path cost of the second path node. The second path cost of the second path node is the cost from the second path node to the starting node of the path, and the third path cost of the second path node is the cost from the second path node to the ending node of the path. See step S503 above for related details, which will not be repeated here.
[0153] Optionally, after determining the first path cost and the second path cost of each second path node, the first path cost of each second path node is updated in the first cost table and the second path cost of each second path node is updated in the second cost table.
[0154] S607: Select the second path node with the minimum cost of the first path from the open set as the new first path node, and update the connection table.
[0155] Updating the connection table means updating the connection relationship between the current first path node and the new first path node.
[0156] Optionally, step S607 further includes storing the next first path node corresponding to the current node into a closed set. When the first path node is a path termination node, the closed set includes multiple first path nodes determined from the path node set.
[0157] S608: Determine whether the first path node is a path termination node. If the first path node is not a path termination node, repeat steps S604 to S607. If the first path node is a path termination node, proceed to step S609.
[0158] It should be noted that this embodiment uses the initial setting of the first path node as the path start node for illustrative purposes. In other embodiments, the first path node may also be the path end node initially. When the first path node is initially the path end node, step S608 can be replaced by: determining whether the first path node is the path start node. If the first path node is not the path start node, then steps S604 to S607 are re-executed. If the first path node is the path start node, then step S609 is executed.
[0159] S609: Generate the target planning path based on multiple first path nodes in the connection relationship table and the connection relationships between the multiple first path nodes.
[0160] In one embodiment, the path termination node among a plurality of first path nodes is taken as the current first path node. The previous first path node corresponding to the first path node is determined from the connection relationship table. Two segments of quintic spline curves are used to connect the current first path node and the previous first path node corresponding to the current first path node until the current first path node is the path start node.
[0161] In another embodiment, the starting node of the path among a plurality of first path nodes is taken as the current first path node. The next first path node corresponding to the current first path node is determined from the connection relationship table. Two segments of quintic spline curves are used to connect the current first path node and the next first path node corresponding to the current first path node until the current first path node is the path termination node.
[0162] S610: During the planned time period, control the vehicle to travel along the target planned path.
[0163] Steps S603 to S610 can refer to the relevant content in the aforementioned steps S12 and S13, and detailed descriptions are omitted here.
[0164] Please see Figure 7 , Figure 7 This is a schematic diagram of a framework of an embodiment of the path planning device provided in this application. In this embodiment, the path planning device 70 includes: a determination module 71, a planning module 72, and a control module 73. The determination module 71 is used to determine the set of path nodes for the vehicle within the planning time period in response to the triggering of the vehicle's emergency lane keeping function. The set of path nodes includes a path start node, a path end node, and obstacle nodes. The planning module 72 is used to search for a target planned path for the vehicle within the planning time period based on the set of path nodes. The target planned path can avoid obstacles corresponding to obstacle nodes. The control module 73 is used to control the vehicle to travel according to the target planned path within the planning time period.
[0165] Optionally, the obstacle node includes at least one of a dynamic obstacle node in a reference coordinate system and a static obstacle node in a reference coordinate system, wherein the reference coordinate system is established based on the lane in which the vehicle is located.
[0166] Optionally, the determination module 71 is used to predict the interaction area between the self-vehicle and the target vehicle within the planning time period in a reference coordinate system, wherein the target vehicle is located in the adjacent lane of the self-vehicle; and to determine multiple vertices of the interaction area as dynamic obstacle nodes.
[0167] Optionally, the determining module 71 is used to predict the coincident corner points of the target vehicle within the planning time period, and the shape intersection points of the target vehicle at the path planning relevant time. The coincident corner points are the corner points of the target vehicle and the corner points of the self-vehicle are projected to coincide on the vertical axis of the reference coordinate system. The path planning relevant time is the start time or the end time of the path planning. The shape intersection points are located on the shape of the target vehicle and the shape intersection points are projected to coincide on the vertical axis of the reference coordinate system. The smallest convex polygon region containing the coincident corner points and the shape intersection points is determined as the interaction region.
[0168] Optionally, the determination module 71 is used to predict multiple sampling points of static obstacles in the reference coordinate system within the planning time period. The static obstacles include at least one of the curb and the solid lane line; the multiple sampling points of static obstacles in the reference coordinate system are determined as static obstacle nodes.
[0169] Optionally, the planning module 72 is used to select the starting node of the path as the initial first path node, and select multiple second path nodes in the path node set other than the first path node; filter out the second path nodes that meet the preset conditions from the multiple second path nodes as the new first path node; restart the step of selecting multiple second path nodes in the path node set other than the first path node until the latest selected first path node is the path ending node, so as to obtain multiple first path nodes; connect the multiple first path nodes to obtain the target planned path.
[0170] Optionally, the planning module 72 is used to sequentially connect two adjacent first path nodes among a plurality of first path nodes using either two segments of quintic spline curves or higher-order Bézier curves.
[0171] Optionally, the preset conditions include connectability conditions and collision detection conditions, and the first path cost of the second path node is minimized.
[0172] Optionally, the connectability conditions include: the planning time of the second path node is greater than the planning time of the first path node, the second path node and the first path node do not belong to the same obstacle, and the second path node is not a selected first path node; and / or, the collision detection conditions include: there is at least one path curve between the second path node and the first path node that does not intersect with any side of the interaction area, and does not intersect with any side of the multiple static obstacle nodes connecting the static obstacles, the interaction area is the area where the self-vehicle and the target vehicle interact during the planned time period, and the target vehicle is located in the adjacent lane of the self-vehicle.
[0173] Optionally, the planning module 72 is used to determine the second path cost and the third path cost of the second path node, where the second path cost is the cost from the second path node to the starting node of the path, and the third path cost is the cost from the second path node to the ending node of the path; determine the larger and smaller values of the second path cost and the third path cost of the second path node; determine the product of the smaller value of the second path node and the first cost weight, and sum the product of the second path nodes and the larger value of the second path nodes as the first path cost of the second path node.
[0174] It should be noted that the apparatus of this embodiment can perform the steps in the above method. For detailed descriptions of the relevant content, please refer to the method section above, which will not be repeated here.
[0175] Please see Figure 8 , Figure 8 This is a schematic diagram of a framework of an embodiment of the voice interaction device provided in this application. In this embodiment, the processing device 80 includes a memory 81 and a processor 82.
[0176] Processor 82 can also be referred to as a CPU (Central Processing Unit). Processor 82 may be an integrated circuit chip with signal processing capabilities. Processor 82 can also be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. A general-purpose processor can be a microprocessor, or processor 82 can be any conventional processor 82, etc.
[0177] The memory 81 in the processing device 80 is used to store the program instructions required for the processor 82 to run.
[0178] The processor 82 is used to execute program instructions to implement the path planning method in this application.
[0179] Please see Figure 9 , Figure 9This is a schematic diagram of a framework of an embodiment of the computer-readable storage medium provided in this application. The computer-readable storage medium 90 of this application embodiment stores program instructions 91, which, when executed, implement the path planning method provided in this application. The program instructions 91 can form a program file and be stored in the aforementioned computer-readable storage medium 90 in the form of a software product, so that a computer device (which may be a personal computer, server, or network device, etc.) can execute all or part of the steps of the methods of various embodiments of this application. The aforementioned computer-readable storage medium 90 includes various media capable of storing program code, such as a USB flash drive, mobile hard drive, read-only memory (ROM), random access memory (RAM), magnetic disk, or optical disk, or terminal devices such as computers, servers, mobile phones, and tablets.
[0180] The above solution, when the vehicle triggers the emergency lane keeping function, searches for a target planned path for the vehicle within the planned time period based on the set of path nodes within that time period. Then, within the planned time period, the vehicle is controlled to travel along the target planned path. Since the set of path nodes includes the path start node, path end node, and obstacle nodes, and the target planned path planned based on the set of path nodes allows the vehicle to avoid obstacles corresponding to obstacle nodes within the planned time period, controlling the vehicle to travel along the target planned path within the planned time period reduces the possibility of collision with obstacles within the planned time period, thereby improving the driving safety of the vehicle after the emergency lane keeping function is triggered.
[0181] In some embodiments, the functions or modules of the apparatus provided in this disclosure can be used to perform the methods described in the above method embodiments. The specific implementation can be referred to the description of the above method embodiments, and for the sake of brevity, it will not be repeated here.
[0182] The description of the various embodiments above tends to emphasize the differences between the various embodiments. The similarities or similarities between them can be referred to, and for the sake of brevity, they will not be repeated here.
[0183] In the several embodiments provided in this application, it should be understood that the disclosed methods, apparatuses, and systems can be implemented in other ways. For example, the apparatus implementations described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection of apparatuses or units may be electrical, mechanical, or other forms.
[0184] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment, depending on actual needs.
[0185] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0186] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the methods of various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0187] The above description is merely an embodiment of this application and does not limit the patent scope of this application. Any equivalent structural or procedural transformations made using the content of this application's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of this application.
Claims
1. A path planning method, characterized in that, The method includes: In response to the triggering of the vehicle's emergency lane keeping function, a set of path nodes for the vehicle within a planned time period is determined. This set includes a path start node, a path end node, and obstacle nodes. The obstacle nodes include dynamic obstacle nodes in a reference coordinate system established based on the lane in which the vehicle is located. Determining the dynamic obstacle nodes involves: predicting the interaction area between the vehicle and a target vehicle within the planned time period in the reference coordinate system, where the target vehicle is located in an adjacent lane to the vehicle; and identifying multiple vertices of the interaction area as the dynamic obstacle nodes. The interaction area is determined using the coincident corner points of the target vehicle within the planning time period and the intersection points of the target vehicle's shape at path planning-related moments. The coincident corner points are the corner points of the target vehicle, and the coincident corner points and the corner points of the vehicle are projected onto the vertical axis of the reference coordinate system. The path planning-related moments are the start or end times of path planning. The intersection points are located on the shape of the target vehicle, and the intersection points and the corner points of the vehicle are projected onto the vertical axis of the reference coordinate system. The corner points are the corner points of the equivalent rectangle corresponding to the top-view projection of the vehicle's shape. Based on the set of path nodes, the vehicle is searched for a target planned path within the planned time period, and the target planned path can avoid the obstacles corresponding to the obstacle nodes. During the planned time period, the vehicle is controlled to travel along the target planned path.
2. The method according to claim 1, characterized in that, The obstacle nodes also include static obstacle nodes in the reference coordinates.
3. The method according to claim 1, characterized in that, Predicting the interaction area between the vehicle and the target vehicle within the planning time period in the reference coordinate system includes: Predict the overlapping corner points of the target vehicle within the planning time period, and the intersection points of the target vehicle's shape at relevant moments in the path planning; The smallest convex polygon region containing the overlapping corner points and the intersection points of the shapes is defined as the interaction region.
4. The method according to claim 2, characterized in that, Determining the static obstacle node includes: Predict multiple sampling points of static obstacles in the reference coordinate system during the planning time period, wherein the static obstacles include at least one of the curb and the solid lane line; Multiple sampling points of the static obstacle in the reference coordinate system are determined as the static obstacle nodes.
5. The method according to claim 1, characterized in that, The step of searching for the target planned path of the vehicle within the planned time period based on the set of path nodes includes: Select the starting node of the path as the initial first path node, and select multiple second path nodes from the set of path nodes other than the first path node. Select a second path node that meets the preset conditions from the plurality of second path nodes and use it as a new first path node; The step of selecting multiple second path nodes from the set of path nodes other than the first path node is restarted until the latest selected first path node is the path termination node, so as to obtain multiple first path nodes. By connecting multiple nodes of the first path, the target planned path is obtained.
6. The method according to claim 5, characterized in that, The connection of multiple first path nodes includes: Two adjacent first path nodes are connected sequentially using either a quintic spline curve or a higher-order Bézier curve.
7. The method according to claim 5, characterized in that, The preset conditions include connectability conditions and collision detection conditions, and the first path cost of the second path node is minimized; wherein, the first path cost of the second path node is determined based on the second path cost and the third path cost of the second path node, the second path cost of the second path node is the cost from the second path node to the path start node, and the third path cost of the second path node is the cost from the second path node to the path end node.
8. The method according to claim 7, characterized in that, The connectability conditions include: the planning time of the second path node is greater than the planning time of the first path node, the second path node and the first path node do not belong to the same obstacle, and the second path node is not a filtered first path node. And / or, the collision detection conditions include: there is at least one path curve between the second path node and the first path node that does not intersect with any side of the interaction area, and does not intersect with any side of the multiple static obstacle nodes connecting the static obstacles.
9. The method according to claim 7, characterized in that, Determining the first path cost of the second path node includes: Determine the second path cost and the third path cost of the second path node; Determine the larger and smaller values among the second path cost and the third path cost of the second path node; The product of the smaller value of the second path node and the first cost weight is determined, and the sum of the product of the second path node and the larger value of the second path node is taken as the first path cost of the second path node.
10. A path planning device, characterized in that, The device includes: A determination module is used to determine the set of path nodes of the vehicle within a planned time period in response to the triggering of the vehicle's emergency lane keeping function. The set of path nodes includes a path start node, a path end node, and obstacle nodes. The obstacle nodes include dynamic obstacle nodes in a reference coordinate system established based on the lane in which the vehicle is located. The determination module is used to predict the interaction area between the vehicle and a target vehicle within the planned time period in the reference coordinate system. The target vehicle is located in the adjacent lane of the vehicle. Multiple vertices of the interaction area are determined as the dynamic obstacle nodes. In this context, the interactive area is determined using the coincident corner points of the target vehicle within the planning time period and the intersection points of the target vehicle's shape at path planning-related moments. The coincident corner points are the corner points of the target vehicle, and these corner points are projected onto the vertical axis of the reference coordinate system in conjunction with the corner points of the vehicle. The path planning-related moments are the start or end times of path planning. The intersection points are located on the shape of the target vehicle, and these intersection points are projected onto the vertical axis of the reference coordinate system in conjunction with the corner points of the vehicle. The corner points are the corner points of the equivalent rectangle corresponding to the top-view projection of the vehicle's shape. The planning module is used to search for a target planned path for the vehicle within the planning time period based on the set of path nodes, and the target planned path can avoid the obstacle nodes; The control module is used to control the vehicle to travel along the target planned path during the planned time period.
11. A processing apparatus, characterized in that, Including interconnected memory and processor, The memory stores program instructions; The processor is used to execute program instructions stored in the memory to implement the method according to any one of claims 1-9.
12. A computer-readable storage medium, characterized in that, The computer-readable storage medium is used to store program instructions that can be executed to implement the method of any one of claims 1-9.
Citation Information
Patent Citations
Local trajectory planning method and device, electronic equipment and storage medium
CN112783166A
Double-boat path planning method, device and equipment and computer readable storage medium
CN113419535A