Path processing method, apparatus, device, and storage medium
By dividing the initial planned path into path segments and adjusting the distances between trajectory points in the untraveled path segments, the problem of frequent path planning updates in the hybrid A* algorithm is solved, thus achieving continuity and stability in the vehicle's driving process.
Patent Information
- Application Number
- CN202411476987.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-22
- Publication Date
- 2025-12-12
- Estimated Expiration
- 2044-10-22
AI Technical Summary
In existing technologies, the post-processing steps of the hybrid A* algorithm require frequent updates to the path planning, which increases the computational burden and affects the continuity and stability of the vehicle's driving process.
The initial planned path is divided into multiple path segments. The target trajectory points in the current path segment of the vehicle are determined, and the path is adjusted according to the distance between every two adjacent trajectory points in the untraveled path segments. The path adjustment is only performed on the current path segment, reducing the amount of calculation.
By adjusting the path segments, the computational load of path planning is reduced, ensuring the continuity and stability of the vehicle's journey and avoiding the burden of frequent path planning updates.
Smart Images

Figure CN119396142B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of vehicle control, and more particularly to a path processing method, apparatus, device, and storage medium. Background Technology
[0002] With the rapid development of intelligent vehicles, intelligent parking has become one of the most popular features in the field. Among current intelligent parking path planning schemes, the hybrid A* algorithm is the most widely used. The hybrid A* algorithm combines the classic A* algorithm with other optimization techniques (such as path smoothing and local programming) to generate more practical and feasible paths.
[0003] However, the trajectory point intervals planned using the hybrid A* algorithm vary depending on the scenario, and there may be situations where the distance between two adjacent trajectory points is large. In such cases, the vehicle may need to make large steering or acceleration / deceleration movements during execution, which not only increases the difficulty of vehicle control but also affects the smoothness and efficiency of the driving process. Therefore, after generating the initial path using the hybrid A* algorithm, it is also very important to post-process the initial path to generate trajectory points suitable for the control of the lower-level actuators.
[0004] In existing technologies, the aforementioned "post-processing" is achieved by periodically replanning the path. This involves generating an initial path using a hybrid A* algorithm, controlling the vehicle to travel along that initial path, and then periodically replanning the path based on the vehicle's current position, switching the vehicle to the newly planned path. As such, existing technologies lead to frequent path planning updates, which not only increases the computational burden but also affects the continuity and stability of the vehicle's movement. Summary of the Invention
[0005] This application provides a path processing method, apparatus, device, and storage medium to solve the technical problem in the prior art where the post-processing step of the hybrid A* algorithm requires frequent updates to the path planning, leading to increased computational burden and affecting the continuity and stability of vehicle driving.
[0006] Firstly, this application provides a path processing method, the method comprising:
[0007] Obtain the initial planned path of the vehicle and divide the initial planned path into multiple path segments;
[0008] During the process of the vehicle traveling along the initial planned path, the current path segment in which the vehicle is located is determined, and the target trajectory point closest to the vehicle in the current path segment is determined;
[0009] determining a distance between each two adjacent trajectory points in the untraveled path segment, wherein the untraveled path segment comprises the target trajectory point and trajectory points in the current path segment after the target trajectory point;
[0010] adjusting the untraveled path segment according to the distance between each two adjacent trajectory points in the untraveled path segment.
[0011] In a possible implementation, the dividing the initial planning path into a plurality of path segments comprises:
[0012] determining, for each trajectory point in the initial planning path, a travel direction of the trajectory point compared with a previous trajectory point, and determining a travel direction identifier of the trajectory point according to the travel direction;
[0013] dividing a plurality of trajectory points in the initial planning path with the same and continuous travel direction identifier into a same group, and forming a path segment for each group of trajectory points.
[0014] In a possible implementation, the determining the target trajectory point closest to the vehicle in the current path segment comprises:
[0015] determining a first heading angle of the vehicle and first coordinate information of the vehicle in a preset global coordinate system;
[0016] starting from a first trajectory point in the current path segment, determining a second heading angle of a currently traversed trajectory point and second coordinate information of the currently traversed trajectory point in the global coordinate system;
[0017] in a case where a relationship between the second heading angle of the currently traversed trajectory point and the first heading angle satisfies a preset heading angle constraint condition, and a relationship between the second coordinate information of the currently traversed trajectory point and the first coordinate information satisfies a preset distance constraint condition, determining the currently traversed trajectory point as the target trajectory point, and stopping the traversal.
[0018] In a possible implementation, the adjusting the untraveled path segment according to the distance between each two adjacent trajectory points in the untraveled path segment comprises:
[0019] comparing the distance between each two adjacent trajectory points in the untraveled path segment with a preset distance threshold respectively;
[0020] in a case where the distance between the two adjacent trajectory points is greater than the distance threshold, inserting a new trajectory point between the two adjacent trajectory points, and discarding a trajectory point located after the two adjacent trajectory points.
[0021] In a possible implementation, the inserting a new trajectory point between the two adjacent trajectory points comprises:
[0022] determining a third heading angle of each of the two adjacent trajectory points and third coordinate information of each of the two adjacent trajectory points in a preset global coordinate system;
[0023] performing calculation on the third coordinate information of each of the two adjacent trajectory points according to a preset coordinate interpolation algorithm, determining a fourth coordinate information of the trajectory point to be inserted in the global coordinate system as a result of the calculation, and performing calculation on the third heading angle of each of the two adjacent trajectory points according to a preset heading angle interpolation algorithm, determining a fourth heading angle of the trajectory point to be inserted as a result of the calculation;
[0024] inserting a new trajectory point between the two adjacent trajectory points according to the fourth coordinate information and the fourth heading angle.
[0025] In a possible implementation, after the adjusting the untraveled path segment according to the distance between each two adjacent trajectory points in the untraveled path segment, the method further comprises:
[0026] determining a trajectory point to be screened from the adjusted untraveled path segment, wherein the trajectory point to be screened at least comprises the target trajectory point;
[0027] converting coordinate information of the trajectory point to be screened in a preset global coordinate system into coordinate information of the trajectory point to be screened in a self-vehicle coordinate system of the vehicle;
[0028] determining whether the trajectory point to be screened meets a preset reasonable condition according to the coordinate information of the trajectory point to be screened in the self-vehicle coordinate system and a planned travel direction of the current path segment;
[0029] in a case where it is determined that the trajectory point to be screened does not meet the reasonable condition, discarding the trajectory point to be screened.
[0030] In a possible implementation, the method further comprises:
[0031] in a case where it is determined that the vehicle is currently in the last path segment and a remaining untraveled path length of the vehicle is less than a preset travel distance threshold, performing path planning again with a current position of the vehicle as a starting point to obtain a re-planned path;
[0032] controlling the vehicle to switch from traveling along the initial planned path to traveling along the re-planned path.
[0033] In a second aspect, the present application provides a path processing apparatus, which comprises:
[0034] a path division module, configured to obtain an initial planning path of a vehicle, and divide the initial planning path into a plurality of path segments;
[0035] a trajectory point determination module, configured to determine a current path segment in which the vehicle is located during driving of the vehicle along the initial planning path, and determine a target trajectory point closest to the vehicle in the current path segment;
[0036] a distance determination module, configured to determine a distance between each two adjacent trajectory points in an untravelled path segment in the current path segment, wherein the untravelled path segment includes the target trajectory point and trajectory points after the target trajectory point in the current path segment;
[0037] a path adjustment module, configured to adjust the untravelled path segment according to the distance between each two adjacent trajectory points in the untravelled path segment.
[0038] In a possible implementation, the path division module includes:
[0039] a direction determination unit, configured to determine, for each trajectory point in the initial planning path, a direction of travel of the trajectory point compared with a previous trajectory point, and determine a direction-of-travel identifier of the trajectory point according to the direction of travel;
[0040] a path segment division unit, configured to divide a plurality of trajectory points with the same direction of travel and in sequence in the initial planning path into a same group, and form each of the plurality of trajectory points in each group into a path segment.
[0041] In a possible implementation, the trajectory point determination module includes:
[0042] a heading angle determination unit, configured to determine a first heading angle of the vehicle and first coordinate information of the vehicle in a preset global coordinate system;
[0043] a trajectory point traversal unit, configured to start traversal from a first trajectory point in the current path segment, and determine a second heading angle of a currently traversed trajectory point and second coordinate information of the currently traversed trajectory point in the global coordinate system;
[0044] a target trajectory point determination unit, configured to determine the currently traversed trajectory point as a target trajectory point and stop traversal when a relationship between the second heading angle of the currently traversed trajectory point and the first heading angle satisfies a preset heading angle constraint condition, and a relationship between the second coordinate information of the currently traversed trajectory point and the first coordinate information satisfies a preset distance constraint condition.
[0045] In a possible implementation, the path adjustment module includes:
[0046] a threshold comparison unit configured to compare a distance between each two adjacent trajectory points in the untraveled path segment with a set distance threshold, respectively;
[0047] a trajectory point insertion unit configured to insert a new trajectory point between the two adjacent trajectory points and discard a trajectory point located at a rear of the two adjacent trajectory points, in a case that the distance between the two adjacent trajectory points is greater than the distance threshold.
[0048] In a possible implementation, the trajectory point insertion unit comprises:
[0049] a heading angle determination sub-unit configured to determine a third heading angle of each of the two adjacent trajectory points and third coordinate information of each of the two adjacent trajectory points in a preset global coordinate system;
[0050] a trajectory point operation sub-unit configured to perform operation on the third coordinate information of each of the two adjacent trajectory points according to a set coordinate interpolation algorithm, and determine fourth coordinate information of the trajectory point to be inserted in the global coordinate system as an operation result; and perform operation on the third heading angle of each of the two adjacent trajectory points according to a set heading angle interpolation algorithm, and determine a fourth heading angle of the trajectory point to be inserted as an operation result.
[0051] a trajectory point insertion sub-unit configured to insert a new trajectory point between the two adjacent trajectory points according to the fourth coordinate information and the fourth heading angle.
[0052] In a possible implementation, the path adjustment module further comprises:
[0053] a screening trajectory point determination unit configured to determine a to-be-screened trajectory point from the adjusted untraveled path segment, wherein the to-be-screened trajectory point at least comprises the target trajectory point;
[0054] a coordinate conversion unit configured to convert coordinate information of the to-be-screened trajectory point in a preset global coordinate system into coordinate information of the to-be-screened trajectory point in a self-vehicle coordinate system of the vehicle;
[0055] a condition judgment unit configured to determine, according to the coordinate information of the to-be-screened trajectory point in the self-vehicle coordinate system and a planned traveling direction of the current path segment, whether the to-be-screened trajectory point satisfies a set reasonable condition;
[0056] a screening point discarding unit configured to discard the to-be-screened trajectory point in a case that it is determined that the to-be-screened trajectory point does not satisfy the reasonable condition.
[0057] In a possible implementation, the device further comprises:
[0058] a path replanning module, configured to perform path planning again with a current position of the vehicle as a starting point to obtain a replanned path, in a case where it is determined that the vehicle is currently located in the last path segment and a remaining untraveled path length of the vehicle is less than a preset travel distance threshold;
[0059] a path switching module, configured to control the vehicle to switch from traveling along the initially planned path to traveling along the replanned path.
[0060] In a third aspect, the present application provides a device, comprising: a processor and a memory, the processor being configured to execute a path processing method program stored in the memory to implement the path processing method according to any one of the first aspect.
[0061] In a fourth aspect, the present application further provides a storage medium, the storage medium storing one or more programs, the one or more programs being executable by one or more processors to implement the path processing method according to any one of the first aspect.
[0062] The above technical solution provided by the embodiments of the present application has the following advantages compared with the prior art: the method provided by the embodiments of the present application divides the initially planned path into a plurality of path segments, determines the current path segment of the vehicle, and determines the target trajectory point closest to the vehicle in the current path segment, determines a path segment composed of the target trajectory point and trajectory points after the target trajectory point as an untraveled path segment, determines the distance between each two adjacent trajectory points in the untraveled path segment, and adjusts the untraveled path segment according to the distance between each two adjacent trajectory points in the untraveled path segment, which realizes path adjustment in units of path segments and only for the untraveled path segment in the current path segment during vehicle travel according to the planned path, which can greatly reduce the calculation amount of path planning post-processing, and since the path planning does not need to be frequently updated, only the initially planned path is adjusted, therefore, while ensuring the accuracy and feasibility of the planned path, the continuity and stability of the vehicle during travel can be ensured. BRIEF DESCRIPTION OF DRAWINGS
[0063] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and serve to explain the principles of the present application together with the specification.
[0064] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the accompanying drawings needed to be used in the embodiments or prior art description will be briefly introduced here. Obviously, for those skilled in the art, other drawings can also be obtained without creative labor based on these drawings.
[0065] One or more embodiments are illustrated by way of example in the drawings and described herein in connection with the enumerated embodiments. These embodiments are not intended to limit the scope of the embodiments to their specific constructions, but, on the contrary, to cover all possible modifications and equivalent arrangements. It is to be understood that the drawings are only schematic and that actual structures can depart from the schematic illustrations. It is to be understood that the ratio of the dimensions of the various features can not be necessarily to scale, and that the dimensions of features can be arbitrarily increased or decreased for the sake of clarity.
[0066] Figure 1 A schematic diagram of an application scenario related to an embodiment of the present application.
[0067] Figure 2 A schematic diagram of a trajectory point in a path related to an embodiment of the present application.
[0068] Figure 3 An embodiment flowchart of a path processing method provided by an embodiment of the present application.
[0069] Figure 4 A schematic diagram of a current path segment related to an embodiment of the present application.
[0070] Figure 5 An embodiment flowchart of another path processing method provided by an embodiment of the present application.
[0071] Figure 6 A schematic diagram of a travel direction identification of a trajectory point related to an embodiment of the present application.
[0072] Figure 7 An embodiment flowchart of still another path processing method provided by an embodiment of the present application.
[0073] Figure 8 A schematic diagram of a vehicle heading, a trajectory point heading, and a vehicle heading angle related to an embodiment of the present application.
[0074] Figure 9 An embodiment flowchart of still another path processing method provided by an embodiment of the present application.
[0075] Figure 10 An embodiment flowchart of still another path processing method provided by an embodiment of the present application.
[0076] Figure 11 A schematic diagram of coordinate conversion of a same trajectory point in a global coordinate system and a vehicle ego coordinate system.
[0077] Figure 12 A schematic diagram of a trajectory point screening scenario related to an embodiment of the present application.
[0078] Figure 13 An embodiment block diagram of a path processing apparatus provided by an embodiment of the present application.
[0079] Figure 14 A structural schematic diagram of an apparatus provided by an embodiment of the present application. DETAILED DESCRIPTION
[0080] In order to make the objectives, technical solutions and advantages of the embodiments of the present application clearer, the following will be combined with the accompanying drawings for the embodiments of the present application to make a clear and complete description of the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by a person of ordinary skill in the art without creative work belong to the scope of protection of the present application.
[0081] The following disclosure provides many different embodiments or examples for implementing different structures of the present application. For the purpose of simplicity, the description of a particular example will not necessarily be repeated in the description of each example. Of course, they are only examples and the purpose is not to limit the present application. In addition, reference numerals and / or letters can be repeated in different examples in the present application. Such repetition is for the purpose of simplification and clarity, and does not indicate the relationship between the various embodiments and / or settings discussed.
[0082] In order to solve the technical problem that the post-processing step of the hybrid A* algorithm in the prior art needs to frequently update the path planning, which leads to an increase in the computational burden and affects the continuity and stability of the vehicle during driving, the present application provides a path processing method, device, equipment and storage medium. In order to facilitate understanding of the technical solutions provided by the embodiments of the present application, first of all, the application scenario of the technical solutions provided by the embodiments of the present application is exemplarily described:
[0083] Referring to Figure 1 , a schematic diagram of an application scenario related to the embodiments of the present application is shown. As shown in Figure 1 , when controlling the vehicle to intelligently park, a path planning algorithm (such as a hybrid A* algorithm) is applied to plan a parking path according to the starting position (point A shown in Figure 1 ) and the target position (point D in the parking space shown in Figure 1 ) of the vehicle. Among them, Figure 1 (a) The path planning result shown indicates that the vehicle starts from point A, drives along path segment AB to point B, and then reverses from point B to the end point D via point C. Figure 1 (b) The path planning result shown indicates that the vehicle starts from point A, reverses along path segment AB to point B, and then adjusts forward from point B to point C, and finally reverses from point C to the end point D.
[0084] As can be understood by those skilled in the art, the path planned by applying the path planning algorithm is not a continuous path segment, but is formed by a plurality of discrete trajectory points (also referred to as path points). For example, referring to Figure 2 , a plurality of trajectory points are shown in the path segment AB. Figure 1(b) a schematic diagram of the trajectory points corresponding to the path shown.
[0085] In Figure 1 In the intelligent parking scenario shown, the technical solutions provided by the embodiments of the present application can be applied. In the process of parking along the initial planning path shown, the initial planning path is post-processed to improve the feasibility of the trajectory points of the path planning, ensure the quality of the trajectory points of the path planning, and further ensure the continuity and stability of the parking process of the vehicle. Figure 1 In the process of parking along the initial planning path shown, the initial planning path is post-processed to improve the feasibility of the trajectory points of the path planning, ensure the quality of the trajectory points of the path planning, and further ensure the continuity and stability of the parking process of the vehicle.
[0086] It should be noted that Figure 1 In the intelligent parking scenario shown, the technical solutions provided by the embodiments of the present application can be applied. In the process of parking along the initial planning path shown, the initial planning path is post-processed to improve the feasibility of the trajectory points of the path planning, ensure the quality of the trajectory points of the path planning, and further ensure the continuity and stability of the parking process of the vehicle.
[0087] In addition, the technical solutions provided by the embodiments of the present application are only explained and described by taking the intelligent parking scenario as an example. In actual applications, the technical solutions provided by the embodiments of the present application can also be applied to other scenarios involving path planning, and the embodiments of the present application do not limit this.
[0088] Figure 3 An embodiment flowchart of a path processing method provided by the embodiments of the present application. In an embodiment, the execution subject of the method is a device, such as a vehicle-mounted device. As shown in Figure 3 The flowchart includes the following steps:
[0089] Step 301, obtaining an initial planning path of a vehicle, and dividing the initial planning path into a plurality of path segments.
[0090] The vehicle refers to a vehicle installed with the execution subject of the present application. For example Figure 1 The vehicle in the intelligent parking scenario shown.
[0091] The initial planning path refers to a driving path planned for the vehicle under initial conditions, i.e., a driving path planned for the vehicle when the vehicle is at a starting position. The initial planning path is usually generated based on factors such as the starting position of the vehicle, the target position (such as a parking space), and obstacles and other road users in the environment. For example, see Figure 1 which includes a schematic diagram of the initial planning path in the intelligent parking scenario.
[0092] As an optional implementation, when the execution subject of the present application receives a path planning instruction, it invokes a path planning algorithm based on information such as the current position (i.e., the starting position) of the vehicle and the target position to generate an initial planning path, thereby obtaining the initial planning path of the vehicle.
[0093] As another optional implementation, the execution subject of the present application reports the current position, target position and other information of the vehicle to the server when receiving the path planning instruction, and the server calls the path planning algorithm to generate the initial planning path and returns it to the execution subject of the present application, so as to obtain the initial planning path of the vehicle.
[0094] The path planning algorithm described above is generated by, for example, a hybrid A* algorithm. Of course, in actual applications, other path planning methods can also be used to generate the initial planning path, and the embodiments of the present application do not limit this.
[0095] In the technical solution of the embodiments of the present application, the initial planning path is divided into multiple path segments, and subsequent post-processing is only needed in units of path segments, which can greatly reduce the amount of calculation compared with re-planning the path.
[0096] For example, as shown in the initial planning path of Figure 1 (b) and Figure 2 The initial planning path can be divided into three path segments, A1-B1 segment, B1-C1 segment and C1-D1 segment. Among them, the vehicle changes the direction of travel at B1 point and C1 point, so B1 point and C1 point are called turning points here.
[0097] As for how to divide the initial planning path into multiple path segments, the embodiments of Figure 5 will be explained below, which will not be described in detail here.
[0098] Step 302, during the driving of the vehicle along the initial planning path, determining the current path segment in which the vehicle is located, and determining the target trajectory point closest to the vehicle in the current path segment.
[0099] In the technical solution of the embodiments of the present application, during the driving of the vehicle along the initial planning path, step 302 and subsequent steps are executed every certain time (for example, 3 seconds) to dynamically adjust the planning path, improve the feasibility and quality of the path planning point, and ensure the accuracy of the path planning.
[0100] In step 302, first, the path segment in which the vehicle is currently located (for convenience of description, referred to as the current path segment) is determined, and then the trajectory point closest to the vehicle in the current path segment (for convenience of description, referred to as the target trajectory point) is determined. For example, in the example of Figure 2 , assuming that the current path segment in which the vehicle is located is A1-B1 segment, then the target trajectory point closest to the vehicle in A1-B1 segment is determined, for example, E1 point.
[0101] One optional implementation involves matching the vehicle's actual trajectory with multiple path segments included in the initial planned path, and determining the path segment that matches the vehicle's actual trajectory as the vehicle's current path segment. Various methods can be used for trajectory matching, such as the Kalman filter algorithm; specific matching methods will not be elaborated here.
[0102] In the current path segment, the target trajectory point closest to the vehicle can be considered as the trajectory point the vehicle is currently traveling to. Based on this, the path formed by the target trajectory point and the trajectory points following the target trajectory point in the current path segment can be considered as the remaining untraveled path of the vehicle in the current path segment. Subsequent post-processing can then focus only on the remaining untraveled path, which further reduces the amount of computation.
[0103] As for how the target trajectory point closest to the vehicle is determined within the current path segment, this will be explained below. Figure 7 The illustrated embodiments are explained in detail here, but will not be described in detail here.
[0104] Step 303: For the untraveled path segments in the current path segment, determine the distance between every two adjacent trajectory points in the untraveled path segments, wherein the untraveled path segments include the target trajectory point and the trajectory points in the current path segment that are located after the target trajectory point.
[0105] For example, in Figure 2 In the example, assuming the current path segment where the vehicle is located is segment A1-B1, and assuming that the target trajectory point closest to the vehicle in segment A1-B1 is point E1, then the untraveled path segment in the current path segment is segment E1-B1.
[0106] For another example, see Figure 4 This is a schematic diagram of the current path segment where the vehicle is located. Figure 6 The current path segment includes 8 trajectory points, numbered 1, 2, 3, 4, 5, 6, 7, and 8. Assuming the target trajectory point closest to the vehicle is trajectory point 2, then the untraveled path segment includes 7 trajectory points, numbered 2, 3, 4, 5, 6, 7, and 8. These 7 trajectory points are the remaining trajectory points that need to be tracked.
[0107] Furthermore, as described in step 303, the distance between every two adjacent trajectory points in the untraveled path segment is determined. For example, the distance between trajectory point 2 and trajectory point 3, the distance between trajectory point 3 and trajectory point 4, the distance between trajectory point 4 and trajectory point 5, and so on, is determined.
[0108] As an optional implementation, the coordinate information of the trajectory points in a global coordinate system is obtained, and then the distance between the adjacent two trajectory points is calculated by using the coordinate information of the adjacent two trajectory points in the global coordinate system. The global coordinate system is, for example, a geodetic coordinate system.
[0109] In step 304, the un-traveled path segment is adjusted according to the distance between each adjacent two trajectory points in the un-traveled path segment.
[0110] As can be seen from the description of step 304, in the technical solution of the embodiment of the present application, the adjustment is performed in units of path segments, and only the un-traveled path segment in the current path segment is adjusted. Compared with re-planning the path, this method can greatly reduce the calculation amount, and does not involve path re-planning and path switching, so as to ensure the stability and efficiency of the vehicle driving process.
[0111] In addition, in the technical solution of the embodiment of the present application, the un-traveled path segment is adjusted according to the distance between each adjacent two trajectory points in the un-traveled path segment, which helps to improve the case that the distance between the adjacent two trajectory points in the planned path is large, so as to avoid the vehicle needing to make large steering or acceleration / deceleration actions during execution, thereby reducing the difficulty of vehicle control and ensuring the stability and efficiency of the vehicle driving process.
[0112] As to how to adjust the un-traveled path segment according to the distance between each adjacent two trajectory points in the un-traveled path segment, the following embodiments will be explained, and the details will not be described here. Figure 9
[0113] The method provided by the embodiment of the present application divides the initial planned path into multiple path segments, determines the current path segment of the vehicle, determines the target trajectory point closest to the vehicle in the current path segment, determines the path segment composed of the target trajectory point and the trajectory point after the target trajectory point as the un-traveled path segment, determines the distance between each adjacent two trajectory points in the un-traveled path segment, and adjusts the un-traveled path segment according to the distance between each adjacent two trajectory points in the un-traveled path segment. In this way, the path adjustment is performed in units of path segments and only for the un-traveled path segment in the current path segment during the vehicle driving according to the planned path, which can greatly reduce the calculation amount of the path planning post-processing process, and since the path planning does not need to be frequently updated, only the initial planned path is adjusted, so as to ensure the continuity and stability of the vehicle driving process while ensuring the accuracy and feasibility of the planned path.
[0114] Figure 5 The flowchart of another path processing method provided by the embodiment of the present application is shown in Figure 5 Figure 3 Based on the flow shown, it is described how to divide the initial path into multiple path segments. As shown in Figure 5 The flow includes the following steps:
[0115] Step 501, for each trajectory point in the initial planning path, determine the travel direction of the trajectory point compared to its previous trajectory point, and determine the travel direction identifier of the trajectory point according to the travel direction.
[0116] In the technical solution of the embodiments of the present application, the travel direction includes forward and backward. Different travel directions correspond to different travel direction identifiers. In an embodiment, it is specified that the travel direction identifier corresponding to forward is "+" (i.e. positive), and the travel direction identifier corresponding to backward is "-" (i.e. negative).
[0117] As can be understood by those skilled in the art, for each trajectory point in the initial planning path, the travel direction of the trajectory point compared to its previous trajectory point can be determined by comparing the position change of the trajectory point compared to its previous trajectory point, and the travel direction identifier of the trajectory point can be determined in turn.
[0118] For example, as shown in Figure 6 In the complete initial planning path, two turning points B1 and C1 are included, wherein at the turning point B1, the travel direction of the vehicle is converted from backward to forward, and at the turning point C1, the travel direction of the vehicle is converted from forward to backward. And according to the description in step 501, it can be determined that the travel direction identifier of the trajectory points between A1 and B1 is "+", and the travel direction identifier of the trajectory points between B1 and C1 is "-".
[0119] In addition, for the first trajectory point in the initial planning path, such as trajectory point A1, a separate travel direction identifier can be set for it, such as 0, indicating that the trajectory point is the starting point.
[0120] For the turning point, the travel direction identifier of the turning point can be determined based on the travel direction identifier of the next path segment of the turning point. For example, the next path segment of trajectory point B1 is B1-C1 segment, the travel direction identifier of the path segment is "+", and the travel direction identifier of trajectory point B1 is "+".
[0121] For the terminal point, the travel direction identifier can be opposite to that of the previous turning point. For example, the previous turning point of terminal point D1 is C1, based on the above description, the travel direction identifier of turning point C1 is "-", and the travel direction identifier of terminal point D1 is "+".
[0122] Step 502, dividing a plurality of trajectory points with the same and continuous traveling direction in the initial planning path into a same group, and forming a path segment for each group.
[0123] As can be seen from the description of steps 501 and 502, in the technical solution of the embodiments of the present application, the initial planning path is divided into a plurality of path segments according to the conversion of the traveling direction.
[0124] For example, in the example shown in Figure 6 , the initial planning path is divided into three path segments A1-B1, B1-C1 and C1-D1 by two turning points, that is, two conversions of the traveling direction.
[0125] Through the embodiments shown in Figure 5 , the initial planning path is divided into a plurality of path segments, so as to facilitate subsequent path adjustment in units of path segments and only for the untraveled path segment in the current path segment, without frequent updating of path planning, thereby greatly reducing the calculation amount of the path planning post-processing process.
[0126] Figure 7 An embodiment flowchart of another path processing method provided by the embodiments of the present application is shown in Figure 7 The flowchart shown in Figure 1 describes how to determine the target trajectory point closest to the vehicle in the current path on the basis of the flowchart shown in Figure 7 . As shown in , the flowchart includes the following steps:
[0127] Step 701, determining a first heading angle of the vehicle and first coordinate information of the vehicle in a preset global coordinate system.
[0128] Step 702, starting from the first trajectory point in the current path segment, determining a second heading angle of the currently traversed trajectory point and second coordinate information of the currently traversed trajectory point in the global coordinate system.
[0129] Step 703, in the case where the relationship between the second heading angle of the currently traversed trajectory point and the first heading angle satisfies a set heading angle constraint condition, and the relationship between the second coordinate information of the currently traversed trajectory point and the first coordinate information satisfies a set distance constraint condition, determining the currently traversed trajectory point as the target trajectory point, and stopping the traversal.
[0130] For ease of description, steps 701 to 703 are described uniformly as follows:
[0131] The heading angle refers to the angle between the vehicle's mass center velocity and the transverse axis (the transverse axis is the X axis in the terrestrial coordinate system XOY) in the ground coordinate system XOY. For the convenience of description, the current heading angle of the vehicle is referred to as a first heading angle, and the heading angle of the trajectory point is referred to as a second heading angle. For example, see Figure 8 , which shows the vehicle heading, the trajectory point heading, and the vehicle heading angle.
[0132] The global coordinate system is, for example, a terrestrial coordinate system. The coordinate information of the vehicle in the global coordinate system can reflect the position of the vehicle, and the coordinate information of the trajectory point can also reflect the position of the trajectory point. Therefore, the coordinate information of the vehicle is determined, and the coordinate information of the trajectory point is determined. For the convenience of description, the coordinate information of the vehicle is referred to as first coordinate information, and the coordinate information of the trajectory point is referred to as second coordinate information.
[0133] As can be known from the description of the target trajectory point in the flow shown in Figure 3 , the target trajectory point refers to the trajectory point closest to the vehicle in the path segment in which the vehicle is currently located, and can be regarded as the trajectory point to which the vehicle is currently driving. The real-time state information of the vehicle can be described from two dimensions of position and direction. Therefore, in an embodiment, when the target trajectory point closest to the vehicle in the current path segment is determined, the two dimensions of position and direction are constrained.
[0134] As an optional implementation, a constraint function as shown in the following formula (I) is set:
[0135] (PathPoints(x1)-VehPos(x))<0.2,
[0136] (PathPoints(y1)-VehPos(y))<0.2,
[0137] (PathPoints(z1)-VehPos(z))<1.5*pi / 180
[0138] Formula (I)
[0139] In the above formula (I), PathPoints(x1) refers to the transverse axis coordinate of the trajectory point in the current path segment; PathPoints(y1) refers to the longitudinal axis coordinate of the trajectory point in the current path segment; PathPoints(z1) refers to the second heading angle of the trajectory point in the current path segment; VehPos(x) refers to the transverse axis coordinate of the vehicle, VehPos(y) refers to the longitudinal axis coordinate of the vehicle; VehPos(z) refers to the first heading angle of the vehicle; pi refers to the circular ratio "π".
[0140] The three conditions in the above formula (I) respectively constrain the horizontal axis coordinate, the vertical axis coordinate and the heading angle, and indicate that only when the trajectory point satisfies the three conditions at the same time, the trajectory point can be determined as the target trajectory point closest to the vehicle.
[0141] It should be noted that the constant on the right side of "<" in the above formula (I), such as 0.2 and 1.5, is only an exemplary description, and in actual application, a user can flexibly set the specific value according to actual business needs, and the embodiments of the present application do not limit this.
[0142] Based on the above description, starting from the first trajectory point in the current path segment, the trajectory point currently traversed is determined as the target trajectory point and the traversal is stopped when it is determined that the relationship between the second heading angle and the first heading angle of the trajectory point currently traversed satisfies the set heading angle constraint condition (such as the heading angle constraint condition shown in formula (I)), and the second coordinate information and the first coordinate information satisfy the set distance constraint condition (such as the distance constraint condition shown in formula (I)).
[0143] Figure 7 In the embodiments shown, by constraining from two dimensions of position and direction, the trajectory point closest to the vehicle in the current path segment, that is, the trajectory point currently traveled by the vehicle, can be accurately determined, which helps to accurately adjust the untraveled path segment in the initial planned path subsequently.
[0144] Figure 9 Another embodiment of the path processing method provided by the embodiments of the present application is shown in the flowchart. Figure 9 The flowchart shown in Figure 1 Based on the flowchart shown, this embodiment describes how to adjust the untraveled path segment according to the distance between each adjacent two trajectory points in the untraveled path segment. As shown in Figure 9 The flowchart includes the following steps.
[0145] Step 901, for the untraveled path segment in the current path segment, the distance between each adjacent two trajectory points in the untraveled path segment is determined, wherein the untraveled path segment includes the target trajectory point and the trajectory point after the target trajectory point in the current path segment.
[0146] Step 902, compare the distance between each adjacent two trajectory points in the untraveled path segment with the set distance threshold respectively; in the case that it is compared that the distance between the adjacent two trajectory points is greater than or equal to the distance threshold, step 903 is executed; in the case that it is compared that the distance between the adjacent two trajectory points is greater than the distance threshold, step 904 is executed.
[0147] Step 903: Determine the third heading angle and third coordinate information of each of two adjacent trajectory points in a preset global coordinate system. Calculate the third coordinate information of each of the two adjacent trajectory points using a pre-defined coordinate interpolation algorithm, and determine the result as the fourth coordinate information of the trajectory point to be inserted in the global coordinate system. Calculate the third heading angle of each of the two adjacent trajectory points using a pre-defined heading angle interpolation algorithm, and determine the result as the fourth heading angle of the trajectory point to be inserted. Based on the fourth coordinate information and the fourth heading angle, insert a new trajectory point between two adjacent trajectory points, and discard the trajectory point that comes later in the sequence of adjacent trajectory points.
[0148] Step 904: For the next set of two adjacent trajectory points, return to step 902 and continue until the processing of each pair of adjacent trajectory points is completed.
[0149] To facilitate understanding, the specific implementation of steps 901 to 904 will be explained below with concrete examples:
[0150] by Figure 4 For example, assuming the trajectory point closest to the vehicle is trajectory point 2, then the number of trajectory points for the remaining untraveled path segments that need to be tracked is 7, with serial numbers 2, 3, 4, 5, 6, 7, and 8.
[0151] First, for trajectory points 2 and 3, the distance between them, denoted as dist_tmp, is determined based on their respective coordinates. Assuming dist_tmp = 1 and a set distance threshold of 0.3, comparing dist_tmp with this threshold reveals that the distance between trajectory points 2 and 3 is greater than the threshold, indicating that the distance between them is too large.
[0152] Based on the above description, determine the heading angle and coordinate information of trajectory point 2 and trajectory point 3 respectively. We assume that the coordinate information of trajectory point 2 and trajectory point 3 are (x2, y2) and (x3, y3) respectively, and the heading angles are z2 and z3 respectively.
[0153] As one possible implementation, the coordinate interpolation algorithm set in step 903 above is shown in equation (ii) below:
[0154] The x-coordinate of the interpolation point = MinStp × x2 + (1 - MinStp) × x3;
[0155] The ordinate of the interpolation point = MinStp × y2 + (1 - MinStp) × y3;
[0156] The heading angle of the interpolation point = MinStp × z2 + (1 - MinStp) × z3.
[0157] Formula (II)
[0158] In the above Formula (II), the heading angle of the interpolation point is the fourth heading angle described in the above steps, and the abscissa and ordinate of the interpolation point are the fourth coordinate information described in the above steps.
[0159] Then, according to the fourth coordinate information and the fourth heading angle, a new trajectory point is inserted between the trajectory point 2 and the trajectory point 3, and the trajectory point 3, which is the later one of the two adjacent trajectory points, is discarded. At this time, the trajectory point 2 is taken as the first trajectory point in the untraveled path segment, and is recorded as PointSelect(1); the newly inserted trajectory point is taken as the second trajectory point in the untraveled path segment, and is recorded as PointSelect(2).
[0160] Then, for the trajectory point 3 and the trajectory point 4, the distance between the two trajectory points is determined according to the coordinate information of the two trajectory points respectively, and is recorded as dist_tmp. Assuming that dist_tmp = 0.2, and assuming that the set distance threshold is 0.3, then, by comparing dist_tmp with the pre-set distance threshold 0.3, it can be obtained that the distance between the trajectory point 3 and the trajectory point 4 is less than the distance threshold, which also means that the distance between the trajectory point 3 and the trajectory point 4 is not too large. According to the above description, interpolation processing is not performed on the trajectory point 3 and the trajectory point 4 at this time, and the trajectory point 4 is taken as the third trajectory point in the untraveled path segment, and is recorded as PointSelect(3). The subsequent is similar and will not be described in detail.
[0161] By Figure 9 the embodiment shown in the figure, the untraveled path segment is adjusted according to the distance between each two adjacent trajectory points in the untraveled path segment, which helps to improve the situation that the distance between two adjacent trajectory points in the planned path is large, so as to avoid the vehicle needing to make large steering or acceleration / deceleration actions during execution, thereby reducing the difficulty of vehicle control and ensuring the stability and efficiency of the vehicle during driving.
[0162] Figure 10 Another embodiment flowchart of the path processing method provided by the embodiment of the present application, Figure 10 the flowchart shown in the figure is based on Figure 1 the flowchart shown in the figure, a trajectory point is further selected from the adjusted path, so as to further improve the feasibility and accuracy of the planned path. As Figure 10 shown in the figure, the flowchart includes the following steps:
[0163] Step 1001, obtaining an initial planned path of a vehicle, and dividing the initial planned path into a plurality of path segments.
[0164] Step 1002, during the driving of the vehicle along the initial planning path, determining a current path segment in which the vehicle is located, and determining a target trajectory point closest to the vehicle in the current path segment.
[0165] Step 1003, for an un-driven path segment in the current path segment, determining a distance between each two adjacent trajectory points in the un-driven path segment, wherein the un-driven path segment includes the target trajectory point and a trajectory point after the target trajectory point in the current path segment.
[0166] Step 1004, adjusting the un-driven path segment according to the distance between each two adjacent trajectory points in the un-driven path segment.
[0167] The specific implementation of the above steps 1001 to 1004 can be referred to the related description in the above embodiments, which will not be repeated here.
[0168] Step 1005, determining a to-be-screened trajectory point from the adjusted un-driven path segment, wherein the to-be-screened trajectory point at least includes the target trajectory point.
[0169] The un-driven path segment mentioned above refers to a path segment that the vehicle is about to drive and has not yet driven, and the to-be-screened trajectory point at least includes the target trajectory point, and can also include other trajectory points, which are located after the target trajectory point.
[0170] As an optional implementation, the target trajectory point and N trajectory points after the target trajectory point are determined as the to-be-screened trajectory point according to a set rule. Wherein, N is a natural number in the interval [0, S], and S is the total number of trajectory points after the target trajectory point. When N is 0, it means that the to-be-screened trajectory point only includes the target trajectory point, and when N is S, it means that the to-be-screened trajectory point includes the target trajectory point and all trajectory points after the target trajectory point. Those skilled in the art can understand that the larger N is, the more accurate the final adjusted path is, and the smaller N is, the higher the screening efficiency is and the less the calculation amount is. In actual application, the user can set the value of N according to business needs, and the value of N in the technical solution of the embodiment of the present application is not limited.
[0171] Step 1006, converting coordinate information of the to-be-screened trajectory point in a preset global coordinate system into coordinate information of the to-be-screened trajectory point in a self-vehicle coordinate system of the vehicle.
[0172] In order to improve the accuracy of the initial planning path of the current vehicle when parking in an intelligent driving manner and ensure that the vehicle stably drives to the parking space, the to-be-screened trajectory point can be screened to discard inaccurate trajectory points.
[0173] In an embodiment, the coordinate information of the to-be-screened trajectory point in the preset global coordinate system is converted into coordinate information of the to-be-screened trajectory point in the ego coordinate system of the vehicle, so as to screen the to-be-screened trajectory point. For example, referring to FIG. 1, the coordinate information of the to-be-screened trajectory point in the global coordinate system is converted into coordinate information of the to-be-screened trajectory point in the ego coordinate system of the vehicle. Figure 11 FIG. 2 is a schematic diagram of converting the coordinates of the same trajectory point in the global coordinate system and the ego coordinate system of the vehicle. As shown in FIG. 2, it is assumed that, in the global coordinate system, the coordinate of the vehicle is (1, 1) and the heading angle is 45°; the coordinate of the trajectory point is (3, 4) and the heading angle is 45°. After conversion, the coordinate information of the trajectory point in the ego coordinate system of the vehicle is Figure 11 and the heading angle is 0°.
[0174] Step 1007: determining, according to the coordinate information of the to-be-screened trajectory point in the ego coordinate system and the planned travel direction of the current path segment, whether the to-be-screened trajectory point meets the set reasonable condition; and discarding the to-be-screened trajectory point if it is determined that the to-be-screened trajectory point does not meet the reasonable condition.
[0175] In an embodiment, the set reasonable condition is used to determine whether the horizontal coordinate value of the trajectory point in the ego coordinate system of the vehicle is consistent with the planned travel direction of the vehicle. If not, it means that the travel direction of the trajectory point is inconsistent with the planned travel direction of the vehicle, and thus the trajectory point is unreasonable, which can be discarded.
[0176] For example, as shown in FIG. 3, the point closest to the vehicle, i.e., the target trajectory point, is point M, and point N is the next trajectory point that has not been traveled by the vehicle, which means that the planned travel direction of the vehicle is backward. However, according to the calculation in formula (1), the coordinate information of point M in the ego coordinate system of the vehicle is Figure 12 and the heading angle is 0°, which means that the travel direction of point M is positive, which is inconsistent with the planned travel direction of the vehicle. Therefore, point M is unreasonable, and thus point M is discarded. Figure 11
[0177] Figure 10 As shown in the embodiment of FIG. 4, by further screening the trajectory points of the adjusted path and discarding the unreasonable trajectory points, a more accurate planned path can be obtained, which ensures that the vehicle accurately travels to the target position, improves the intelligence of intelligent driving, and improves user satisfaction.
[0178] On the basis of any of the above embodiments, the present application further proposes the following embodiments:
[0179] In a case where it is determined that the vehicle is currently in the last path segment and the remaining untraveled path length of the vehicle is less than the preset travel distance threshold, path planning is performed again with the current position of the vehicle as the starting point to obtain a re-planned path. The vehicle is controlled to switch from traveling along the initial planned path to traveling along the re-planned path.
[0180] The initial planned path for a vehicle is the path planned when the vehicle is at its initial position, i.e., the starting point. Due to sensor errors and excessive distance, the final path may not be planned accurately. Therefore, when the vehicle enters the last path segment, it can be replanned to ensure the accuracy of the final reverse parking path.
[0181] In one embodiment, when the vehicle enters the last path segment and the remaining untraveled path length is less than a preset travel distance threshold, the vehicle's current position is used as the starting point for replanning the route, resulting in a replanned path. The vehicle is then controlled to switch from traveling along the initial planned path to traveling along the replanned path. As an optional implementation, we assume the preset travel distance threshold is 6 meters. Therefore, when the vehicle enters the last path segment and the remaining distance is less than 6 meters, it indicates that the vehicle is approaching the bottom of the parking space, and the hybrid A* algorithm is activated for replanning to obtain a replanned path.
[0182] Based on the above description, during the replanning period, the vehicle continues to travel along the original planned path. Assuming the replanning ends and the vehicle has traveled 5.5 meters remaining, a trajectory switch is performed, and the vehicle travels along the new trajectory. Since the new trajectory is planned when the vehicle approaches the parking point, it will be more accurate than the previous trajectory points. Therefore, during the replanning period, only the coordinate transformation and filtering processes described above need to be performed on these trajectory points, without interpolation or other operations, to reduce the amount of computation.
[0183] Through the above embodiments, when the vehicle reaches the last segment of the path and the remaining distance is less than a preset travel distance threshold, a new path is planned starting from the vehicle's current location. Since the replanned path is planned when the vehicle approaches the parking point, it is more accurate than the previous trajectory points. Furthermore, the replanning only involves coordinate transformation and filtering of the trajectory points without interpolation or other operations, which reduces the computational load and improves the accuracy of the last segment of the path planning and the stability of the trajectory points.
[0184] Figure 13 This is a block diagram illustrating an embodiment of a path processing apparatus provided in this application. Figure 13 As shown, the device includes:
[0185] The path division module 131 is used to obtain the initial planned path of the vehicle and divide the initial planned path into multiple path segments;
[0186] The trajectory point determination module 132 is used to determine the current path segment where the vehicle is located during the process of the vehicle traveling along the initial planned path, and to determine the target trajectory point closest to the vehicle in the current path segment;
[0187] a distance determination module 133, configured to determine a distance between each two adjacent trajectory points in an untraveled path segment in the current path segment, wherein the untraveled path segment comprises the target trajectory point and trajectory points in the current path segment after the target trajectory point;
[0188] a path adjustment module 134, configured to adjust the untraveled path segment according to the distance between each two adjacent trajectory points in the untraveled path segment.
[0189] In a possible implementation, the path division module comprises:
[0190] a direction determination unit, configured to determine, for each trajectory point in the initial planning path, a direction of travel of the trajectory point compared to a previous trajectory point, and determine a direction-of-travel identifier of the trajectory point according to the direction of travel;
[0191] a path segment division unit, configured to divide a plurality of trajectory points in the initial planning path with the same direction-of-travel identifier and in sequence into a same group, and form each of the plurality of trajectory points in the group into a path segment.
[0192] In a possible implementation, the trajectory point determination module comprises:
[0193] a heading angle determination unit, configured to determine a first heading angle of the vehicle and first coordinate information of the vehicle in a preset global coordinate system;
[0194] a trajectory point traversal unit, configured to start traversal from a first trajectory point in the current path segment, and determine a second heading angle of a currently traversed trajectory point and second coordinate information of the currently traversed trajectory point in the global coordinate system;
[0195] a target trajectory point determination unit, configured to determine the currently traversed trajectory point as a target trajectory point and stop traversal, in a case where a relationship between the second heading angle of the currently traversed trajectory point and the first heading angle satisfies a preset heading angle constraint condition, and a relationship between the second coordinate information of the currently traversed trajectory point and the first coordinate information satisfies a preset distance constraint condition.
[0196] In a possible implementation, the path adjustment module comprises:
[0197] a threshold comparison unit, configured to compare the distance between each two adjacent trajectory points in the untraveled path segment with a preset distance threshold respectively;
[0198] The trajectory point insertion unit is configured to insert a new trajectory point between the two adjacent trajectory points and discard the trajectory point located at the rear of the two adjacent trajectory points, in a case where the distance between the two adjacent trajectory points is greater than the distance threshold.
[0199] In a possible implementation, the trajectory point insertion unit comprises:
[0200] A heading angle determination sub-unit is configured to determine a third heading angle of each of the two adjacent trajectory points and third coordinate information of each of the two adjacent trajectory points in a preset global coordinate system.
[0201] A trajectory point operation sub-unit is configured to perform operation on the third coordinate information of each of the two adjacent trajectory points according to a preset coordinate interpolation algorithm, determine fourth coordinate information of the trajectory point to be inserted in the global coordinate system as an operation result, and perform operation on the third heading angle of each of the two adjacent trajectory points according to a preset heading angle interpolation algorithm, and determine a fourth heading angle of the trajectory point to be inserted as an operation result.
[0202] A trajectory point insertion sub-unit is configured to insert a new trajectory point between the two adjacent trajectory points according to the fourth coordinate information and the fourth heading angle.
[0203] In a possible implementation, the path adjustment module further comprises:
[0204] A screening trajectory point determination unit is configured to determine a to-be-screened trajectory point from the adjusted non-traveled path segment, wherein the to-be-screened trajectory point at least comprises the target trajectory point.
[0205] A coordinate conversion unit is configured to convert coordinate information of the to-be-screened trajectory point in a preset global coordinate system into coordinate information of the to-be-screened trajectory point in a self-vehicle coordinate system of the vehicle.
[0206] A condition determination unit is configured to determine, according to the coordinate information of the to-be-screened trajectory point in the self-vehicle coordinate system and a planned travel direction of the current path segment, whether the to-be-screened trajectory point satisfies a preset reasonable condition.
[0207] A screening point discarding unit is configured to discard the to-be-screened trajectory point in a case where it is determined that the to-be-screened trajectory point does not satisfy the reasonable condition.
[0208] In a possible implementation, the device further comprises:
[0209] a path re-planning module, configured to perform path planning again with a current position of the vehicle as a starting point to obtain a re-planned path, in a case where it is determined that the vehicle is currently located at the last path segment and a remaining untravelled path length of the vehicle is less than a preset travel distance threshold;
[0210] a path switching module, configured to control the vehicle to switch from traveling along the initial planned path to traveling along the re-planned path.
[0211] As Figure 14 shown in the drawings, an embodiment of the present application provides a device, comprising a processor 111, a communication interface 112, a memory 113 and a communication bus 114, wherein the processor 111, the communication interface 112 and the memory 113 complete communication with each other through the communication bus 114,
[0212] the memory 113 is configured to store a computer program;
[0213] In an embodiment of the present application, the processor 111 is configured to implement the path processing method provided by any one of the preceding method embodiments when executing the program stored in the memory 113, and the path processing method comprises the following steps:
[0214] obtaining an initial planned path of a vehicle, and dividing the initial planned path into a plurality of path segments;
[0215] determining a current path segment in which the vehicle is located in a process in which the vehicle travels along the initial planned path, and determining a target trajectory point closest to the vehicle in the current path segment;
[0216] determining a distance between each two adjacent trajectory points in an untravelled path segment in the current path segment, wherein the untravelled path segment comprises the target trajectory point and trajectory points after the target trajectory point in the current path segment;
[0217] adjusting the untravelled path segment according to the distance between each two adjacent trajectory points in the untravelled path segment.
[0218] An embodiment of the present application further provides a computer readable storage medium having a computer program stored thereon, and the computer program is executed by a processor to implement the steps of the path processing method provided by any one of the preceding method embodiments.
[0219] The apparatus embodiments described above are only illustrative, and the units described as separate components can or can not be physically separate, and the components shown as units can or can not be physical units, i.e., can be located in one place, or can be distributed on multiple network units. Part or all of the modules can be selected according to actual needs to achieve the purpose of the embodiment.
[0220] Through the above description of the embodiments, those skilled in the art can clearly understand that the embodiments can be implemented by means of software plus a general hardware platform, and of course can also be implemented by hardware. Based on such understanding, the above technical solutions can be embodied in the form of a software product, and the computer software product can be stored in a computer readable storage medium, such as a ROM / RAM, a magnetic disk, an optical disk, etc., and includes a plurality of instructions to make a computer device (which can be a personal computer, a server, or a network device, etc.) execute the methods described in the embodiments or some parts of the embodiments.
[0221] It should be understood that the terms used herein are for the purpose of describing particular example embodiments only and are not intended to be limiting. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. The terms "comprises", "comprising", "includes", "including" and "has" are inclusive and therefore specify the presence of stated features, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, steps, operations, elements, components, and / or groups thereof. The method steps, processes, and operations described herein are not to be construed as necessarily requiring their performance in the particular order in which they are described, unless specifically identified as an order dependent step. It is also to be understood that additional or alternative steps can be employed.
[0222] The above description is merely illustrative of the application and should not be taken as limiting. Numerous modifications and variations underlying the general principles of the applications can be made by those of ordinary skill in the art without departing from the spirit or scope of the application. Therefore, the application is not to be limited to the embodiments described herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A path processing method, characterized in that, The method includes: Obtain the initial planned path of the vehicle and divide the initial planned path into multiple path segments; During the process of the vehicle traveling along the initial planned path, the current path segment in which the vehicle is located is determined, and the target trajectory point closest to the vehicle in the current path segment is determined; For the untraveled path segments in the current path segment, determine the distance between every two adjacent trajectory points in the untraveled path segments, wherein the untraveled path segments include the target trajectory point and trajectory points in the current path segment that are located after the target trajectory point; Adjusting the untraveled path segment based on the distance between every two adjacent trajectory points within the untraveled path segment; the adjustment of the untraveled path segment based on the distance between every two adjacent trajectory points within the untraveled path segment includes: The distance between each pair of adjacent trajectory points in the untraveled path segment is compared with a set distance threshold. If the distance between two adjacent trajectory points is found to be greater than the distance threshold, a new trajectory point is inserted between the two adjacent trajectory points, and the trajectory point that is later in the two adjacent trajectory points is discarded.
2. The method according to claim 1, characterized in that, The step of dividing the initial planned path into multiple path segments includes: For each trajectory point in the initial planned path, determine the direction of travel of the trajectory point relative to its previous trajectory point, and determine the direction of travel identifier of the trajectory point based on the direction of travel; In the initial planned path, multiple trajectory points with the same and consecutive travel direction are grouped into the same group, and the multiple trajectory points in each group are respectively formed into a path segment.
3. The method according to claim 1, characterized in that, Determining the target trajectory point closest to the vehicle in the current path segment includes: Determine the vehicle's current first heading angle and its current first coordinate information in a preset global coordinate system; Starting from the first trajectory point in the current path segment, traverse the path and determine the second heading angle of the currently traversed trajectory point and its second coordinate information in the global coordinate system; If the relationship between the second heading angle and the first heading angle of the currently traversed trajectory point satisfies the set heading angle constraint condition, and the relationship between the second coordinate information and the first coordinate information satisfies the set distance constraint condition, then the currently traversed trajectory point is determined as the target trajectory point, and traversal is stopped.
4. The method according to claim 1, characterized in that, The insertion of a new trajectory point between two adjacent trajectory points includes: Determine the third heading angle of each of the two adjacent trajectory points and their third coordinate information in the preset global coordinate system; The third coordinate information of each of the two adjacent trajectory points is calculated according to the set coordinate interpolation algorithm, and the calculation result is determined as the fourth coordinate information of the trajectory point to be inserted in the global coordinate system; and the third heading angle of each of the two adjacent trajectory points is calculated according to the set heading angle interpolation algorithm, and the calculation result is determined as the fourth heading angle of the trajectory point to be inserted. Based on the fourth coordinate information and the fourth heading angle, a new trajectory point is inserted between the two adjacent trajectory points.
5. The method according to claim 1, characterized in that, After adjusting the untraveled path segment based on the distance between every two adjacent trajectory points in the untraveled path segment, the method further includes: The trajectory points to be screened are determined from the adjusted untraveled route segments, wherein the trajectory points to be screened include at least the target trajectory points; The coordinate information of the trajectory points to be selected in the preset global coordinate system is converted into the coordinate information of the trajectory points to be selected in the vehicle's own coordinate system; Based on the coordinate information of the trajectory point to be screened in the vehicle coordinate system and the planned travel direction of the current path segment, determine whether the trajectory point to be screened meets the set reasonable conditions. If it is determined that the trajectory point to be screened does not meet the reasonable conditions, the trajectory point to be screened shall be discarded.
6. The method according to claim 1, characterized in that, The method further includes: If it is determined that the vehicle is currently in the last path segment and the remaining untraveled path length of the vehicle is less than a preset travel distance threshold, the path is replanned starting from the current location of the vehicle to obtain a replanned path. Control the vehicle to switch from traveling along the initial planned path to traveling along the replanned path.
7. A path processing device, characterized in that, The device includes: The path segmentation module is used to obtain the initial planned path of the vehicle and divide the initial planned path into multiple path segments; The trajectory point determination module is used to determine the current path segment where the vehicle is located during the process of the vehicle traveling along the initial planned path, and to determine the target trajectory point closest to the vehicle in the current path segment; The distance determination module is used to determine the distance between every two adjacent trajectory points in the untraveled segment of the current path segment, wherein the untraveled segment includes the target trajectory point and trajectory points in the current path segment that are located after the target trajectory point; A route adjustment module is used to adjust the untraveled route segment based on the distance between every two adjacent trajectory points in the untraveled route segment; the adjustment of the untraveled route segment based on the distance between every two adjacent trajectory points in the untraveled route segment includes: The distance between each pair of adjacent trajectory points in the untraveled path segment is compared with a set distance threshold. If the distance between two adjacent trajectory points is found to be greater than the distance threshold, a new trajectory point is inserted between the two adjacent trajectory points, and the trajectory point that is later in the two adjacent trajectory points is discarded.
8. A device, characterized in that, include: A processor and a memory, the processor being configured to execute a path processing method program stored in the memory to implement the path processing method according to any one of claims 1-6.
9. A storage medium, characterized in that, The storage medium has one or more programs, which can be executed by one or more processors to implement the path processing method according to any one of claims 1-6.
Citation Information
Patent Citations
Path planning method, computer equipment and storage medium
CN115280102A
Method and device for acquiring nearest track point on automatic driving planning route
CN116443048A