Path processing method and device, equipment and storage medium
By dividing the initial planned path into multiple path segments and adjusting the track point spacing for unmoved path segments, the problem of frequent updates of path planning in the prior art is solved, reducing the computing burden, and improving the continuity of vehicle driving and stability.
Patent Information
- Application Number
- CN202411476987.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-22
- Publication Date
- 2025-02-07
- Estimated Expiration
- 2044-10-22
AI Technical Summary
The post-processing steps of hybrid A* algorithms in the prior art require frequent update of path planning, resulting in increased computational burden and affecting the continuity and stability during vehicle driving.
By dividing the initial planned path into multiple path segments, the current path segment of the vehicle and its target track point closest to the vehicle are determined, and the track point spacing is adjusted for the unmoved path segment to reduce the calculation amount of path planning post-processing.
When the vehicle is driven according to the planned path, it is realized that the path adjustment is based on the path segment and only for the unmoved path segment in the current path segment, reducing the calculation amount of the path planning post-processing process and ensuring the vehicle's driving process. Continuity and stability.
Smart Images

Figure CN119396142A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of vehicle control, and in particular to a path processing method, device, equipment and storage medium. Background Art
[0002] With the rapid development of smart cars, smart parking has become one of the most popular functions in the field of smart cars. Among the current smart parking path planning schemes, the hybrid A* algorithm is the most widely used algorithm. The hybrid A* algorithm combines the classic A* algorithm with other optimization techniques (such as path smoothing, local planning, etc.) to generate a more practical and feasible path.
[0003] However, the intervals between trajectory points planned by the hybrid A* algorithm vary depending on the scenario, and there may be a large distance between two adjacent trajectory points. In this case, the vehicle may need to make large turns or acceleration and deceleration movements during execution, which not only increases the difficulty of vehicle control, but also affects the stability and efficiency of the driving process. Therefore, after the hybrid A* algorithm is used to generate the initial path, it is also very important to post-process the initial path to generate trajectory points suitable for the control of the lower-level actuator.
[0004] In the prior art, the above-mentioned "post-processing" is achieved by periodically replanning the path, that is, after the hybrid A* algorithm is applied to generate the initial path, the vehicle is first controlled to travel along the initial path, and then the path is replanned according to the current position of the vehicle at a certain interval during the driving process, and the vehicle's driving path is switched to the replanned driving path. It can be seen that the prior art will lead to frequent updates of path planning, which not only increases the computational burden, but also affects the continuity and stability of the vehicle during driving. Summary of the invention
[0005] The present application provides a path processing method, device, equipment and storage medium to solve the technical problem in the prior art that the post-processing step of the hybrid A* algorithm requires frequent updates of path planning, resulting in increased computational burden and affecting the continuity and stability of the vehicle during driving.
[0006] In a first aspect, the present application provides a path processing method, the method comprising:
[0007] Acquire an initial planned path of the vehicle, and divide the initial planned path into a plurality of path segments;
[0008] During the process of the vehicle traveling along the initial planned path, determining a current path segment of the vehicle, and determining a target trajectory point closest to the vehicle in the current path segment;
[0009] For an untraveled path segment in the current path segment, determining a distance between every two adjacent trajectory points in the untraveled path segment, wherein the untraveled path segment includes the target trajectory point and a trajectory point in the current path segment that is located after the target trajectory point;
[0010] The untraveled path segment is adjusted according to the distance between every two adjacent trajectory points in the untraveled path segment.
[0011] In a possible implementation manner, dividing the initial planned path into a plurality of path segments includes:
[0012] For each trajectory point in the initial planned path, determining a travel direction of the trajectory point compared to a previous trajectory point, and determining a travel direction identifier of the trajectory point according to the travel direction;
[0013] In the initial planned path, multiple trajectory points with the same and continuous moving direction identifiers are divided into the same group, and the multiple trajectory points in each group are respectively formed into a path segment.
[0014] In a possible implementation manner, determining the target trajectory point closest to the vehicle in the current path segment includes:
[0015] Determining a current first heading angle of the vehicle and current first coordinate information of the vehicle in a preset global coordinate system;
[0016] Starting from the first track point in the current path segment, traversing, determining the second heading angle of the currently traversed track point and its second coordinate information in the global coordinate system;
[0017] When it is determined that the relationship between the second heading angle of the currently traversed trajectory point and the first heading angle satisfies the set heading angle constraint, and the relationship between its second coordinate information and the first coordinate information satisfies the set distance constraint, the currently traversed trajectory point is determined as the target trajectory point and the traversal is stopped.
[0018] In a possible implementation manner, adjusting the untraveled path segment according to the distance between every two adjacent trajectory points in the untraveled path segment includes:
[0019] Comparing the distance between each two adjacent trajectory points in the untraveled path segment with a set distance threshold;
[0020] When it is found that the distance between the two adjacent track points is greater than the distance threshold, a new track point is inserted between the two adjacent track points, and the latter track point of the two adjacent track points is discarded.
[0021] In a possible implementation manner, inserting a new trajectory point between the two adjacent trajectory points includes:
[0022] Determine the third heading angle of each of the two adjacent trajectory points and their respective third coordinate information in a preset global coordinate system;
[0023] The third coordinate information of each of the two adjacent trajectory points is calculated according to a 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 a set heading angle interpolation algorithm, and the calculation result is determined as the fourth heading angle of the trajectory point to be inserted;
[0024] A new track point is inserted between the two adjacent track points according to the fourth coordinate information and the fourth heading angle.
[0025] In a possible implementation manner, after adjusting the untraveled path segment according to the distance between every two adjacent trajectory points in the untraveled path segment, the method further includes:
[0026] Determining the trajectory points to be screened from the adjusted untraveled path segment, wherein the trajectory points to be screened at least include the target trajectory point;
[0027] Converting the coordinate information of the to-be-screened trajectory point in a preset global coordinate system into the coordinate information of the to-be-screened trajectory point in the vehicle's own coordinate system;
[0028] Determining whether the trajectory point to be screened meets set reasonable conditions according to 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;
[0029] When it is determined that the trajectory point to be screened does not meet the reasonable condition, the trajectory point to be screened is discarded.
[0030] In a possible implementation, the method further includes:
[0031] When it is determined that the vehicle is currently in the last path segment and the remaining length of the vehicle's current untraveled path is less than a preset travel distance threshold, re-planning the path with the current location of the vehicle as the starting point to obtain a re-planned path;
[0032] The vehicle is controlled 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 device, the device comprising:
[0034] A path division module, used to obtain an initial planned path of the vehicle and divide the initial planned path into multiple path segments;
[0035] A trajectory point determination module, used to determine the current path segment of the vehicle and determine the target trajectory point closest to the vehicle in the current path segment when the vehicle is traveling along the initial planned path;
[0036] a distance determination module, configured to determine, for an untraveled path segment in the current path segment, a distance between every two adjacent trajectory points in the untraveled path segment, wherein the untraveled path segment includes the target trajectory point and a trajectory point in the current path segment that is located after the target trajectory point;
[0037] The path adjustment module is used to adjust the untraveled path segment according to the distance between every two adjacent trajectory points in the untraveled 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 planned path, a traveling direction of the trajectory point compared to a previous trajectory point thereof, and determine a traveling direction identifier of the trajectory point according to the traveling direction;
[0040] The path segment division unit is used to divide multiple trajectory points with the same and continuous moving direction identifiers in the initial planned path into the same group, and form a path segment with each of the multiple trajectory points in the group.
[0041] In a possible implementation, the trajectory point determination module includes:
[0042] A heading angle determination unit, used to determine a current first heading angle of the vehicle and its current first coordinate information in a preset global coordinate system;
[0043] A trajectory point traversal unit, configured to start traversing from the first trajectory point in the current path segment, and determine a second heading angle of the currently traversed trajectory point and second coordinate information thereof in the global coordinate system;
[0044] The target trajectory point determination unit is used to determine the currently traversed trajectory point as the target trajectory point and stop traversal when it is determined that the relationship between the second heading angle of the currently traversed trajectory point and the first heading angle 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.
[0045] In a possible implementation, the path adjustment module includes:
[0046] a threshold comparison unit, used for comparing the distance between each two adjacent trajectory points in the untraveled path segment with a set distance threshold;
[0047] The track point inserting unit is used to insert a new track point between the two adjacent track points and discard the latter track point between the two adjacent track points when the distance between the two adjacent track points is greater than the distance threshold.
[0048] In a possible implementation manner, the trajectory point insertion unit includes:
[0049] A heading angle determination subunit, used to determine the third heading angles of the two adjacent trajectory points and their respective third coordinate information in a preset global coordinate system;
[0050] A trajectory point operation subunit, configured to operate on the third coordinate information of each of the two adjacent trajectory points according to a set coordinate interpolation algorithm, and determine the operation result as the fourth coordinate information of the trajectory point to be inserted in the global coordinate system; and operate on the third heading angle of each of the two adjacent trajectory points according to a set heading angle interpolation algorithm, and determine the operation result as the fourth heading angle of the trajectory point to be inserted;
[0051] The track point inserting subunit is used to insert a new track point between the two adjacent track points according to the fourth coordinate information and the fourth heading angle.
[0052] In a possible implementation manner, the path adjustment module further includes:
[0053] A screening trajectory point determination unit, used to determine the trajectory points to be screened from the adjusted untraveled path segment, wherein the trajectory points to be screened at least include the target trajectory point;
[0054] A coordinate conversion unit, used for converting the coordinate information of the to-be-screened trajectory point in a preset global coordinate system into the coordinate information of the to-be-screened trajectory point in the vehicle's own vehicle coordinate system;
[0055] A condition judgment unit, used to determine whether the trajectory point to be screened meets a set reasonable condition according to 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;
[0056] The screening point discarding unit is used to discard the track point to be screened when it is determined that the track point to be screened does not meet the reasonable condition.
[0057] In a possible implementation, the device further includes:
[0058] A path re-planning module, for re-planning the path with the current position of the vehicle as the starting point to obtain a re-planned path when it is determined that the vehicle is currently in the last path segment and the remaining length of the vehicle's current untraveled path is less than a preset travel distance threshold;
[0059] The path switching module is used to control the vehicle to switch from traveling along the initial planned path to traveling along the re-planned path.
[0060] In a third aspect, the present application provides a device, comprising: a processor and a memory, wherein the processor is used to execute a path processing method program stored in the memory to implement the path processing method described in any one of the first aspects.
[0061] In a fourth aspect, the present application further provides a storage medium storing one or more programs, wherein the one or more programs can be executed by one or more processors to implement the path processing method described in any one of the first aspects.
[0062] The above-mentioned technical scheme provided by the embodiment of the present application has the following advantages over the prior art: 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 road segment composed of the target trajectory point and the trajectory point after the target trajectory point as the 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, thereby realizing that during the process of the vehicle driving along the planned path, the path adjustment is performed in units of path segments and only for the untraveled path segments in the current path segment, which can greatly reduce the amount of calculation in the post-processing process of path planning, and since there is no need to frequently update the path planning, only the initial planned path is adjusted, therefore, while ensuring the accuracy and feasibility of the planned path, the continuity and stability of the vehicle driving process can be ensured. BRIEF DESCRIPTION OF THE DRAWINGS
[0063] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.
[0064] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.
[0065] One or more embodiments are exemplarily described by pictures in the corresponding drawings, and these exemplified descriptions do not constitute limitations on the embodiments. Elements with the same reference numerals in the drawings represent similar elements, and unless otherwise stated, the figures in the drawings do not constitute proportional limitations.
[0066] Figure 1 A schematic diagram of an application scenario involved in an embodiment of the present application.
[0067] Figure 2 A schematic diagram of a trajectory point in a path involved in an embodiment of the present application.
[0068] Figure 3 A flow chart of an embodiment of a path processing method provided in an embodiment of the present application.
[0069] Figure 4 This is a schematic diagram of a current path segment involved in an embodiment of the present application.
[0070] Figure 5 A flowchart of another path processing method provided in an embodiment of the present application.
[0071] Figure 6 A schematic diagram of a moving direction mark of a trajectory point involved in an embodiment of the present application.
[0072] Figure 7 A flow chart of another embodiment of a path processing method provided in 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 involved in the present application.
[0074] Fig. 9 A flow chart of another embodiment of a path processing method provided in an embodiment of the present application.
[0075] Fig.10 A flow chart of another embodiment of a path processing method provided in an embodiment of the present application.
[0076] Fig.11 Schematic diagram of the coordinate conversion of the same trajectory point in the global coordinate system and the vehicle ego coordinate system.
[0077] Fig.12 A schematic diagram of a trajectory point screening scenario involved in an embodiment of the present application.
[0078] Fig.13 A block diagram of an embodiment of a path processing device provided in an embodiment of the present application.
[0079] Fig.14 A schematic diagram of the structure of a device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0080] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.
[0081] The disclosure below provides many different embodiments or examples to realize the different structures of the present application. In order to simplify the disclosure of the present application, the parts and settings of specific examples are described below. Of course, they are only examples, and the purpose is not to limit the present application. In addition, the present application can repeat reference numbers and / or letters in different examples. This repetition is for the purpose of simplification and clarity, and does not itself 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 requires frequent updates of the path planning, which increases 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. The following is an illustrative description of the application scenario of the technical solution provided in the embodiment of the present application to facilitate understanding of the technical solution provided in the embodiment of the present application:
[0083] See also Figure 1 , is a schematic diagram of an application scenario involved in the embodiment of the present application. Figure 1 As shown, when controlling the vehicle to perform intelligent parking, a path planning algorithm (such as a hybrid A* algorithm) is applied to calculate the path planning algorithm according to the starting position ( Figure 1 Point A shown in ) and the target position ( Figure 1 The parking path is planned based on the point D in the parking space shown in FIG. Figure 1 The path planning result shown in (a) indicates that the vehicle starts from point A, drives along the path AB to point B and stops, then reverses from point B, passes through point C and ends at the end point D. Figure 1 The path planning result shown in (b) indicates that the vehicle starts from point A, reverses along the path segment AB to point B and parks, then moves forward from point B to point C and parks, and finally reverses from point C to the end point D.
[0084] It is understood by those skilled in the art that the path planned by the path planning algorithm is not a continuous path segment, but is formed by a plurality of discrete trajectory points (also called path points). Figure 2 ,for Figure 1(b) Schematic diagram of the trajectory points corresponding to the path shown.
[0085] exist Figure 1 In the smart parking scenario shown in the figure, the technical solution provided by the embodiment of the present application can be applied. Figure 1 The initial planned path shown in the figure is post-processed during the parking process to improve the feasibility of the path planning trajectory points, ensure the quality of the path planning trajectory points, and thus ensure the continuity and stability of the vehicle parking process.
[0086] It should be noted that Figure 1 Only the vertical parking scene is used as an example for exemplary explanation. In actual applications, the smart parking scene can also be a side parking scene, an oblique parking scene, etc. In any type of smart parking scene, the technical solution provided in the embodiments of the present application can be applied, and the embodiments of the present application do not limit this.
[0087] In addition, the technical solution provided in the embodiment of the present application is explained here only by taking the smart parking scenario as an example. In actual applications, the technical solution provided in the embodiment of the present application can also be applied to other scenarios involving path planning, and the embodiment of the present application does not limit this.
[0088] Figure 3 This is a flow chart of an embodiment of a path processing method provided in an embodiment of the present application. In one embodiment, the execution subject of the method is a device, such as a vehicle-mounted device. Figure 3 As shown, the process includes the following steps:
[0089] Step 301: Obtain an initial planned path of the vehicle, and divide the initial planned path into multiple path segments.
[0090] The above-mentioned vehicle refers to the vehicle on which the subject of execution of this application is installed. Figure 1 Vehicles in the smart parking scenario shown.
[0091] The above-mentioned initial planned path refers to the driving path planned for the vehicle in the initial situation, that is, the driving path planned for the vehicle when the vehicle is at the starting position. The initial planned path is usually generated based on factors such as the vehicle's starting position, the target position (such as a parking space), and obstacles and other traffic participants in the environment. For example, see Figure 1 , which includes an illustration of the initial planned path in a smart parking scenario.
[0092] As an optional implementation method, when the executor of the present application receives a path planning instruction, it calls the path planning algorithm to generate an initial planned path based on the vehicle's current position (i.e., starting position), target position and other information, thereby obtaining the vehicle's initial planned path.
[0093] As another optional implementation method, when the executor of the present application receives the path planning instruction, the current position, target position and other information of the vehicle will be reported to the server, and the server will call the path planning algorithm to generate an initial planned path and return it to the executor of the present application, thereby obtaining the initial planned path of the vehicle.
[0094] The above-mentioned path planning algorithm is generated by, for example, a hybrid A* algorithm. Of course, in practical applications, other path planning methods may also be used to generate the initial planning path, and the present application embodiment does not limit this.
[0095] In the technical solution of the embodiment of the present application, the initial planned path is divided into multiple path segments, and subsequent post-processing only needs to be performed in units of path segments, which can greatly reduce the amount of calculation compared to re-planning the path.
[0096] by Figure 1 (b) and Figure 2 Taking the initial planned path shown in the figure as an example, the initial planned path can be divided into three path segments, namely A1-B1 segment, B1-C1 segment, and C1-D1 segment. Among them, the vehicle changes its direction at point B1 and point C1, so point B1 and point C1 are called reversal points here.
[0097] As for how to divide the initial planned path into multiple path segments, we will explain it in the following. Figure 5 The illustrated embodiments are provided for illustrative purposes only and will not be described in detail herein.
[0098] Step 302: While the vehicle is traveling along the initially planned path, determine the current path segment where the vehicle is located, and determine the target trajectory point closest to the vehicle in the current path segment.
[0099] In the technical solution of the embodiment of the present application, while the vehicle is traveling along the initially planned path, step 302 and subsequent steps are executed at certain intervals (e.g., 3 seconds) to dynamically adjust the planned path, improve the feasibility and quality of the path planning points, and ensure the accuracy of the path planning.
[0100] In step 302, the path segment that the vehicle is currently on (for convenience of description, referred to as the current path segment) is first determined, and then the track point closest to the vehicle is determined in the current path segment (for convenience of description, referred to as the target track point). Figure 2 In the example, assuming that the current path segment of the vehicle is segment A1-B1, then the target trajectory point closest to the vehicle is determined in segment A1-B1, such as point E1.
[0101] As an optional implementation method, the actual driving trajectory of the vehicle is matched with the multiple path segments included in the initial planned path, and the path segment matching the actual driving trajectory of the vehicle is determined as the current path segment of the vehicle. Various methods can be used, such as the Kalman filter algorithm, for trajectory matching, and the specific matching method is not described here.
[0102] In the current path segment, the target trajectory point closest to the vehicle can be regarded as the trajectory point that the vehicle is currently traveling to. Based on this, in the current path segment, the path formed by the target trajectory point and the trajectory points after the target trajectory point can be regarded as the remaining path that the vehicle has not traveled in the current path segment. In the future, only the remaining path can be post-processed, which further reduces the amount of calculation.
[0103] As for how to determine the target trajectory point closest to the vehicle in the current path segment, we will explain it in the following. Figure 7 The illustrated embodiments are provided for illustrative purposes only and will not be described in detail herein.
[0104] Step 303: for an untraveled path segment in the current path segment, determine the distance between every two adjacent trajectory points in the untraveled path segment, wherein the untraveled path segment includes the target trajectory point and the trajectory point in the current path segment that is located after the target trajectory point.
[0105] For example, in Figure 2 In the example, assuming that the current path segment of the vehicle is the A1-B1 segment, and assuming that the target trajectory point closest to the vehicle in the A1-B1 segment is point E1, then the untraveled path segment in the current path segment is the E1-B1 segment.
[0106] For another example, see Figure 4 , which is a schematic diagram of the current path segment where the vehicle is located. Figure 6 The current path segment in includes 8 track points, which are numbered 1, 2, 3, 4, 5, 6, 7, and 8. Assuming that the target track point closest to the vehicle is track point 2, the untraveled path segment includes 7 track points, which are track points 2, 3, 4, 5, 6, 7, and 8. These 7 track points are the remaining track points that need to be tracked.
[0107] Further, the distance between each two adjacent track points in the untraveled path segment is determined according to the description of step 303. For example, the distance between track point 2 and track point 3, the distance between track point 3 and track point 4, the distance between track point 4 and track point 5, and so on are determined.
[0108] As an optional implementation, coordinate information of the trajectory point in the global coordinate system is obtained, and then the distance between the two adjacent trajectory points is calculated using the coordinate information of the two adjacent trajectory points in the global coordinate system. The global coordinate system is, for example, a geodetic coordinate system.
[0109] Step 304: adjust the untraveled path segment according to the distance between every two adjacent trajectory points in the untraveled path segment.
[0110] It can be seen from the description of step 304 that in the technical solution of the embodiment of the present application, adjustments are made in units of path segments, and only the untraveled path segments in the current path segments are adjusted. Compared with re-planning the path, this method can greatly reduce the amount of calculation and does not involve path re-planning and path switching, thereby ensuring the smoothness and efficiency of the vehicle driving process.
[0111] Furthermore, in the technical solution of the embodiment of the present application, 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 where the distance between two adjacent trajectory points in the planned path is large, thereby avoiding the need for the vehicle to make large turns or acceleration and deceleration actions during execution, thereby reducing the difficulty of vehicle control and ensuring the smoothness and efficiency of the vehicle driving process.
[0112] As for how to adjust the untraveled path segment according to the distance between each two adjacent trajectory points in the untraveled path segment, the following is described. Fig. 9 The illustrated embodiments are provided for illustrative purposes only and will not be described in detail herein.
[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 road segment composed of the target trajectory point and the trajectory points after the target trajectory point as the 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, thereby achieving path adjustment in units of path segments and only for the untraveled path segments in the current path segment during the vehicle's driving along the planned path, which can greatly reduce the amount of calculation in the post-processing process of path planning, and since there is no need to frequently update the path planning, only the initial planned path is adjusted, therefore, while ensuring the accuracy and feasibility of the planned path, the continuity and stability of the vehicle's driving process can be ensured.
[0114] Figure 5 A flowchart of another path processing method provided in an embodiment of the present application is provided. Figure 5 The process shown in Figure 3Based on the process shown in FIG. 1 , the following describes how to divide the initial path into multiple path segments. Figure 5 As shown, the process includes the following steps:
[0115] Step 501: for each trajectory point in the initial planned path, determine the travel direction of the trajectory point compared with 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 embodiment of the present application, the direction of travel includes forward and backward. Different directions of travel correspond to different direction of travel marks. In one embodiment, the direction of travel mark corresponding to forward is specified as "+" (i.e., a positive sign), and the direction of travel mark corresponding to backward is specified as "-" (i.e., a negative sign).
[0117] Those skilled in the art can understand that, for each trajectory point in the initial planned path, by comparing the position change of the trajectory point compared to its previous trajectory point, the direction of travel of the trajectory point compared to its previous trajectory point can be determined, and then the direction of travel identifier of the trajectory point can be determined.
[0118] For example, if Figure 6 As shown, the complete initial planning path includes two turning points: B1 and C1, wherein at the turning point B1, the vehicle's traveling direction is changed from backward to forward, and at the turning point C1, the vehicle's traveling direction is changed from forward to backward. In addition, according to the description in step 501, it can be determined that the traveling direction of the trajectory points between A1-B1 is marked as "+", and the traveling direction of the trajectory points between B1-C1 is marked as "-".
[0119] In addition, for the first trajectory point in the initial planned path, such as trajectory point A1, a separate traveling direction identifier may be set for it, such as 0, indicating that the trajectory point is the starting point.
[0120] For a turning point, the direction of travel of the turning point can be determined based on the direction of travel of the next path segment of the turning point. For example, if the next path segment of track point B1 is the B1-C1 segment, and the direction of travel of the path segment is "+", then the direction of travel of track point B1 is "+". For another example, if the next path segment of track point C1 is the C1-D1 segment, and the direction of travel of the path segment is "-", then the direction of travel of track point C1 is "-".
[0121] For the end point, the direction of travel can be opposite to that of the previous reversal point. For example, the previous reversal point of the end point D1 is C1. Based on the above description, the direction of travel of the reversal point C1 is "-", and the direction of travel of the end point D1 is "+".
[0122] Step 502: divide multiple trajectory points with the same and continuous moving direction identifiers in the initial planned path into the same group, and form a path segment with multiple trajectory points in each group.
[0123] It can be seen from the description of step 501 and step 502 that in the technical solution of the embodiment of the present application, the initial planned path is divided into multiple path segments according to the change of the traveling direction.
[0124] For example, in Figure 6 In the example, there are two turning points, that is, there are two changes in the travel direction. The two turning points divide the initial planned path into three path segments, namely, A1-B1 segment, B1-C1 segment, and C1-D1 segment.
[0125] pass Figure 5 In the illustrated embodiment, the initial planned path is divided into a plurality of path segments, so that the path adjustment is subsequently performed in units of path segments and only for the untraveled path segments in the current path segment. There is no need to frequently update the path planning, which greatly reduces the amount of calculation in the post-processing process of the path planning.
[0126] Figure 7 A flowchart of another embodiment of a path processing method provided in an embodiment of the present application is provided. Figure 7 The process shown in Figure 1 Based on the process shown in , this paper describes how to determine the target trajectory point closest to the vehicle in the current path. Figure 7 As shown, the process includes the following steps:
[0127] Step 701: Determine a current first heading angle of the vehicle and its current first coordinate information in a preset global coordinate system.
[0128] Step 702: Start traversing from the first track point in the current path segment, and determine the second heading angle of the currently traversed track point and its second coordinate information in the global coordinate system.
[0129] Step 703: When it is determined that the relationship between the second heading angle of the currently traversed trajectory point and the first heading angle satisfies the set heading angle constraint, and the relationship between the second coordinate information and the first coordinate information satisfies the set distance constraint, the currently traversed trajectory point is determined as the target trajectory point and the traversal is stopped.
[0130] For ease of description, steps 701 to 703 are described in a unified manner as follows:
[0131] The heading angle refers to the angle between the vehicle's center of mass velocity and the horizontal axis (the horizontal axis is the X axis in the earth coordinate system XOY) in the ground coordinate system XOY. For the convenience of description, the vehicle's current heading angle is called the first heading angle, and the heading angle of the trajectory point is called the second heading angle. For example, see Figure 8 , showing the vehicle heading, trajectory point heading, and vehicle heading angle.
[0132] The global coordinate system is, for example, the earth coordinate system. The coordinate information of the vehicle in the global coordinate system can reflect the position of the vehicle. Similarly, the coordinate information of the track point can also reflect the position of the track point. Therefore, the coordinate information of the vehicle is determined, and the coordinate information of the track point is determined. For the convenience of description, the coordinate information of the vehicle is referred to as the first coordinate information, and the coordinate information of the track point is referred to as the second coordinate information.
[0133] pass Figure 3 From the description of the target trajectory point in the process shown, it can be seen that the target trajectory point refers to the trajectory point closest to the vehicle in the path segment where the vehicle is currently located, which can be regarded as the trajectory point to which the vehicle is currently traveling, and the real-time status information of the vehicle can be described from the two dimensions of position and direction. Therefore, in one embodiment, when determining the target trajectory point closest to the vehicle in the current path segment, constraints are imposed from the two dimensions of position and direction.
[0134] As an optional implementation, a constraint function as shown in the following formula (1) 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 (1), PathPoints(x1) refers to the horizontal axis coordinate of the trajectory point in the current path segment; PathPoints(y1) refers to the vertical 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 horizontal axis coordinate of the vehicle, VehPos(y) refers to the vertical axis coordinate of the vehicle; VehPos(z) refers to the first heading angle of the vehicle; pi refers to the pi "π".
[0140] The three conditions in the above formula (1) constrain the horizontal axis coordinate, the vertical axis coordinate and the heading angle respectively, indicating that only when the trajectory point satisfies the three conditions at the same time can it be determined as the target trajectory point closest to the vehicle.
[0141] It should be noted that the constants on the right side of “<” in the above formula (1), such as 0.2 and 1.5, are merely exemplary descriptions. In practical applications, users can flexibly set specific values according to actual business needs, and the embodiments of the present application do not impose any restrictions on this.
[0142] Based on the above description, the traversal starts from the first trajectory point in the current path segment. When it is determined that the relationship between the second heading angle and the first heading angle of the currently traversed trajectory point satisfies the set heading angle constraint (such as the heading angle constraint shown in formula (1)), and the relationship between its second coordinate information and the first coordinate information satisfies the set distance constraint (such as the distance constraint shown in formula (1)), the currently traversed trajectory point is determined as the target trajectory point and the traversal is stopped.
[0143] Figure 7 The illustrated embodiment, by constraining from two dimensions, position and direction, can accurately determine the trajectory point closest to the vehicle in the current path segment, that is, determine the trajectory point to which the vehicle is currently traveling, which helps to accurately adjust the untraveled path segment in the initial planned path later.
[0144] Fig. 9 A flowchart of another path processing method provided in an embodiment of the present application is provided. Fig. 9 The process shown in Figure 1 Based on the process shown in FIG. 1 , it is described how to adjust the unexercised path segment according to the distance between each two adjacent trajectory points in the unexercised path segment. Fig. 9 As shown, the process includes the following steps.
[0145] Step 901: for an untraveled path segment in a current path segment, determine the distance between every two adjacent trajectory points in the untraveled path segment, wherein the untraveled path segment includes a target trajectory point and a trajectory point in the current path segment that is located after the target trajectory point.
[0146] Step 902, compare the distance between each two adjacent trajectory points in the untraveled path segment with the set distance threshold; if the distance between the two adjacent trajectory points is greater than or equal to the distance threshold, execute step 903; if the distance between the two adjacent trajectory points is greater than the distance threshold, execute step 904.
[0147] Step 903: determine the third heading angle of each of the two adjacent trajectory points and their third coordinate information in the preset global coordinate system, calculate the third coordinate information of each of the two adjacent trajectory points according to the set coordinate interpolation algorithm, and determine the calculation result as the fourth coordinate information of the trajectory point to be inserted in the global coordinate system; and calculate the third heading angle of each of the two adjacent trajectory points according to the set heading angle interpolation algorithm, and determine the calculation result as the fourth heading angle of the trajectory point to be inserted. According to the fourth coordinate information and the fourth heading angle, insert a new trajectory point between the two adjacent trajectory points, and discard the trajectory point located behind the two adjacent trajectory points.
[0148] Step 904: Return to step 902 for the next set of two adjacent trajectory points, until the processing of each two adjacent trajectory points is completed.
[0149] For ease of understanding, the specific implementation of steps 901 to 904 is explained below through a specific example:
[0150] by Figure 4 For example, assuming that the trajectory point closest to the vehicle is trajectory point 2, the number of trajectory points of the remaining untraveled path segments that need to be tracked is 7, and the serial numbers are 2, 3, 4, 5, 6, 7, and 8 respectively.
[0151] First, for track point 2 and track point 3, the distance between the two track points is determined according to their respective coordinate information, which is recorded as dist_tmp. Assuming dist_tmp = 1, 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 track point 2 and track point 3 is greater than the distance threshold, which also means that the distance between track point 2 and track point 3 is too large.
[0152] According to 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 a possible implementation, the coordinate interpolation algorithm set in the above step 903 is shown in the following formula (II):
[0154] The horizontal coordinate of the interpolation point = MinStp × x2 + (1-MinStp) × x3;
[0155] The vertical coordinate 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 horizontal coordinate and the vertical coordinate of the interpolation point are the fourth coordinate information described in the above steps.
[0159] Afterwards, according to the fourth coordinate information and the fourth heading angle, a new track point is inserted between track point 2 and track point 3, and the track point located later than the two adjacent track points, that is, track point 3, is discarded. At this time, track point 2 is the first track point in the untraveled path segment, recorded as PointSelect(1), and the newly inserted track point is the second track point in the untraveled path segment, recorded as PointSelect(2).
[0160] Afterwards, for trajectory point 3 and trajectory point 4, the distance between the two trajectory points is determined based on their respective coordinate information, which is recorded as dist_tmp. Assuming 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 trajectory point 3 and trajectory point 4 is less than the distance threshold, which also means that the distance between trajectory point 3 and trajectory point 4 is not too large. According to the above description, interpolation processing is not performed on trajectory point 3 and trajectory point 4 at this time, so trajectory point 4 is the third trajectory point in the untraveled path segment, recorded as PointSelect(3). The same is true for the following.
[0161] pass Fig. 9 In the illustrated embodiment, 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 where the distance between two adjacent trajectory points in the planned path is large, thereby avoiding the need for the vehicle to make large turning or acceleration and deceleration actions during the execution process, thereby reducing the difficulty of vehicle control and ensuring the smoothness and efficiency of the vehicle driving process.
[0162] Fig.10 A flowchart of another path processing method provided in an embodiment of the present application is provided. Fig.10 The process shown in Figure 1 Based on the process shown in FIG. 1 , a method is provided to further filter the trajectory points of the adjusted path to further improve the feasibility and accuracy of the planned path. Fig.10 As shown, the process includes the following steps:
[0163] Step 1001: Obtain an initial planned path of the vehicle, and divide the initial planned path into multiple path segments.
[0164] Step 1002: While the vehicle is traveling along the initially planned path, determine the current path segment where the vehicle is located, and determine the target trajectory point closest to the vehicle in the current path segment.
[0165] Step 1003: for an untraveled path segment in the current path segment, determine the distance between every two adjacent trajectory points in the untraveled path segment, wherein the untraveled path segment includes the target trajectory point and the trajectory point in the current path segment that is located after the target trajectory point.
[0166] Step 1004: adjust the untraveled path segment according to the distance between every two adjacent trajectory points in the untraveled path segment.
[0167] For the specific implementation of the above steps 1001 to 1004, please refer to the relevant description in the above embodiment, which will not be repeated here.
[0168] Step 1005: determine the trajectory points to be screened from the adjusted untraveled path segment, wherein the trajectory points to be screened at least include the target trajectory point.
[0169] The above-mentioned untraveled path segment refers to the path segment that the vehicle is about to travel but has not yet traveled. The trajectory points to be screened include at least the target trajectory point and may also include other trajectory points, where the other trajectory points are located after the target trajectory point.
[0170] As an optional implementation method, according to the set rules, the target trajectory point and the N trajectory points after the target trajectory point are determined as the trajectory points to be screened. 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 trajectory points to be screened only include the target trajectory point. When N is S, it means that the trajectory points to be screened include the target trajectory point and all trajectory points after the target trajectory point. It can be understood by those skilled in the art that the larger N is, the more accurate and feasible the final adjusted path is, and the smaller N is, the higher the screening efficiency is and the less the amount of calculation is. In practical applications, users can set the value of N according to business needs, and the technical solution of the embodiment of the present application does not limit the value of N.
[0171] Step 1006: Convert the coordinate information of the to-be-screened trajectory point in the preset global coordinate system into the coordinate information of the to-be-screened trajectory point in the vehicle's own vehicle coordinate system.
[0172] In order to improve the accuracy of the initial planned path of the current vehicle during intelligent driving parking and ensure that the vehicle drives stably to the parking space, we can filter the trajectory points to be filtered and discard inaccurate trajectory points.
[0173] In one embodiment, the coordinate information of the track points to be screened in the preset global coordinate system is converted into the coordinate information of the track points to be screened in the vehicle's own vehicle coordinate system to facilitate the screening of the track points to be screened. Fig.11 , is a schematic diagram of the coordinate transformation of the same trajectory point in the global coordinate system and the vehicle coordinate system. Fig.11 As shown in the figure, assuming that in the global coordinate system, the coordinates of the vehicle are (1, 1) and the heading angle is 45°; the coordinates of the trajectory point are (3, 4) and the heading angle is 45°. The coordinate information of the trajectory point in the vehicle's own coordinate system obtained after conversion is The heading angle is 0°.
[0174] Step 1007: determine whether the trajectory point to be screened meets the set reasonable conditions 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; if it is determined that the trajectory point to be screened does not meet the reasonable conditions, discard the trajectory point to be screened.
[0175] In one embodiment, the reasonable conditions set above are used to determine whether the horizontal coordinate value of the trajectory point in the vehicle's own vehicle coordinate system is consistent with the planned direction of travel of the vehicle. If not, it means that the direction of travel of the trajectory point is inconsistent with the planned direction of travel of the vehicle. Therefore, the trajectory point is unreasonable and can be discarded.
[0176] For example, if Fig.12 As shown in the figure, the point closest to the vehicle, i.e. the target trajectory point, is point M, and point N is the next trajectory point where the vehicle has not traveled, which means that the planned direction of travel of the vehicle is backward. Fig.11 The calculated coordinate information of point M in the vehicle's own vehicle coordinate system is: The heading angle is 0°, which means that the direction of travel of point M is marked as positive, which is inconsistent with the planned direction of travel of the vehicle. Therefore, point M is unreasonable, so point M is discarded.
[0177] Fig.10 The illustrated embodiment can obtain a more accurate planned path by further screening the trajectory points of the adjusted path and discarding unreasonable trajectory points, thereby ensuring that the vehicle accurately drives to the target position, improving the intelligence of intelligent driving, and improving user satisfaction.
[0178] Based on any of the above embodiments, the present application also proposes the following embodiments:
[0179] When it is determined that the vehicle is currently in the last path segment and the remaining length of the vehicle's current untraveled path is less than a preset travel distance threshold, the path is replanned with the vehicle's current location as the starting point to obtain a replanned path. The vehicle is controlled to switch from driving along the initial planned path to driving along the replanned path.
[0180] The initial planned path of the vehicle is the path planned when the vehicle is at the initial position, that is, the starting point. Due to sensor errors and long distances, the last section of the path may not be planned accurately. Therefore, when the vehicle enters the last section of the path, re-planning can be performed to ensure the accuracy of the final reversing path.
[0181] In one embodiment, when the vehicle enters the last path segment and the remaining length of the vehicle's current untraveled path is less than a preset travel distance threshold, the path is replanned with the vehicle's current location as the starting point to obtain a replanned path, and the vehicle is controlled to switch from traveling along the initial planned path to traveling along the replanned path. As an optional implementation, we assume that 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 means that the vehicle has approached the bottom of the warehouse, and the hybrid A* algorithm is enabled for replanning to obtain a replanned path.
[0182] Based on the above description, during the replanning period, the vehicle still follows the original planned path. Assuming that the replanning is completed and the remaining distance of the vehicle is 5.5 meters, the trajectory is switched and the vehicle follows the new trajectory. Since the new trajectory is planned when the vehicle approaches the parking point, it is more accurate than the previous trajectory points. Therefore, during the replanning period, only the coordinate conversion and screening described above can be performed on these trajectory points without interpolation and other operations to reduce the amount of calculation.
[0183] Through the above embodiment, when the vehicle travels to the last path segment and the remaining distance is less than the preset travel distance threshold, the path is re-planned with the current location of the vehicle as the starting point to obtain a re-planned path. Since the re-planned path is planned when the vehicle approaches the parking point, it will be more accurate than the previous trajectory points, and the re-planning only converts and filters the coordinates of the trajectory points without interpolation and other operations, which can reduce the amount of calculation and improve the accuracy of the last path planning and the stability of the trajectory points.
[0184] Fig.13 This is a block diagram of an embodiment of a path processing device provided in an embodiment of the present application. Fig.13 As shown, the device comprises:
[0185] A path division module 131 is used to obtain an initial planned path of the vehicle and divide the initial planned path into a plurality of path segments;
[0186] A trajectory point determination module 132, used to determine the current path segment of the vehicle and determine the target trajectory point closest to the vehicle in the current path segment during the process of the vehicle traveling along the initial planned path;
[0187] a distance determination module 133, configured to determine, for an untraveled path segment in the current path segment, a distance between each two adjacent trajectory points in the untraveled path segment, wherein the untraveled path segment includes the target trajectory point and a trajectory point in the current path segment that is located after the target trajectory point;
[0188] The path adjustment module 134 is used to adjust the untraveled path segment according to the distance between every two adjacent trajectory points in the untraveled path segment.
[0189] In a possible implementation, the path division module includes:
[0190] a direction determination unit, configured to determine, for each trajectory point in the initial planned path, a traveling direction of the trajectory point compared to a previous trajectory point thereof, and determine a traveling direction identifier of the trajectory point according to the traveling direction;
[0191] The path segment division unit is used to divide multiple trajectory points with the same and continuous moving direction identifiers in the initial planned path into the same group, and form a path segment with each of the multiple trajectory points in the group.
[0192] In a possible implementation, the trajectory point determination module includes:
[0193] A heading angle determination unit, used to determine a current first heading angle of the vehicle and its current first coordinate information in a preset global coordinate system;
[0194] A trajectory point traversal unit, configured to start traversing from the first trajectory point in the current path segment, and determine a second heading angle of the currently traversed trajectory point and second coordinate information thereof in the global coordinate system;
[0195] The target trajectory point determination unit is used to determine the currently traversed trajectory point as the target trajectory point and stop traversal when it is determined that the relationship between the second heading angle of the currently traversed trajectory point and the first heading angle 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.
[0196] In a possible implementation, the path adjustment module includes:
[0197] a threshold comparison unit, used for comparing the distance between each two adjacent trajectory points in the untraveled path segment with a set distance threshold;
[0198] The track point inserting unit is used to insert a new track point between the two adjacent track points and discard the latter track point between the two adjacent track points when the distance between the two adjacent track points is greater than the distance threshold.
[0199] In a possible implementation manner, the trajectory point insertion unit includes:
[0200] A heading angle determination subunit, used to determine the third heading angles of the two adjacent trajectory points and their respective third coordinate information in a preset global coordinate system;
[0201] A trajectory point operation subunit, configured to operate on the third coordinate information of each of the two adjacent trajectory points according to a set coordinate interpolation algorithm, and determine the operation result as the fourth coordinate information of the trajectory point to be inserted in the global coordinate system; and operate on the third heading angle of each of the two adjacent trajectory points according to a set heading angle interpolation algorithm, and determine the operation result as the fourth heading angle of the trajectory point to be inserted;
[0202] The track point inserting subunit is used to insert a new track point between the two adjacent track points according to the fourth coordinate information and the fourth heading angle.
[0203] In a possible implementation manner, the path adjustment module further includes:
[0204] A screening trajectory point determination unit, used to determine the trajectory points to be screened from the adjusted untraveled path segment, wherein the trajectory points to be screened at least include the target trajectory point;
[0205] A coordinate conversion unit, used for converting the coordinate information of the to-be-screened trajectory point in a preset global coordinate system into the coordinate information of the to-be-screened trajectory point in the vehicle's own vehicle coordinate system;
[0206] A condition judgment unit, used to determine whether the trajectory point to be screened meets a set reasonable condition according to 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;
[0207] The screening point discarding unit is used to discard the track point to be screened when it is determined that the track point to be screened does not meet the reasonable condition.
[0208] In a possible implementation, the device further includes:
[0209] A path re-planning module, for re-planning the path with the current position of the vehicle as the starting point to obtain a re-planned path when it is determined that the vehicle is currently in the last path segment and the remaining length of the vehicle's current untraveled path is less than a preset travel distance threshold;
[0210] The path switching module is used to control the vehicle to switch from traveling along the initial planned path to traveling along the re-planned path.
[0211] like Fig.14 As shown, an embodiment of the present application provides a device, including 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 communicate with each other through the communication bus 114.
[0212] Memory 113, used for storing computer programs;
[0213] In one embodiment of the present application, the processor 111 is used to implement the path processing method provided by any one of the aforementioned method embodiments when executing the program stored in the memory 113, including:
[0214] Acquire an initial planned path of the vehicle, and divide the initial planned path into a plurality of path segments;
[0215] During the process of the vehicle traveling along the initial planned path, determining a current path segment of the vehicle, and determining a target trajectory point closest to the vehicle in the current path segment;
[0216] For an untraveled path segment in the current path segment, determining a distance between every two adjacent trajectory points in the untraveled path segment, wherein the untraveled path segment includes the target trajectory point and a trajectory point in the current path segment that is located after the target trajectory point;
[0217] The untraveled path segment is adjusted according to the distance between every two adjacent trajectory points in the untraveled path segment.
[0218] An embodiment of the present application further provides a computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, the steps of the path processing method provided in any of the aforementioned method embodiments are implemented.
[0219] The device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0220] Through the description of the above implementation methods, those skilled in the art can clearly understand that each implementation method can be implemented by means of software plus a general hardware platform, and of course, by hardware. Based on this understanding, the above technical solution is essentially or the part that contributes to the relevant technology 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 ROM / RAM, a disk, an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.
[0221] It should be understood that the terms used herein are only for the purpose of describing specific example embodiments and are not intended to be limiting. Unless the context clearly indicates otherwise, the singular forms "one", "an" and "said" as used herein may also be meant to include plural forms. The terms "include", "comprise", "contain", and "have" are inclusive, and therefore specify the existence of stated features, steps, operations, elements and / or parts, but do not exclude the existence or addition of one or more other features, steps, operations, elements, parts, and / or combinations thereof. The method steps, processes, and operations described herein are not interpreted as necessarily requiring them to be performed in the specific order described or illustrated, unless the execution order is clearly indicated. It should also be understood that additional or alternative steps may be used.
[0222] The above description is only a specific implementation of the present application, so that those skilled in the art can understand or implement the present application. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein can be implemented in other embodiments without departing from the spirit or scope of the present application. Therefore, the present application will not be limited to the embodiments shown herein, but will conform to the widest range consistent with the principles and novel features applied for herein.
Claims
1. A path processing method, characterized in that: The method comprises: Acquire an initial planned path of the vehicle, and divide the initial planned path into a plurality of path segments; During the process of the vehicle traveling along the initial planned path, determining a current path segment of the vehicle, and determining a target trajectory point closest to the vehicle in the current path segment; For an untraveled path segment in the current path segment, determining a distance between every two adjacent trajectory points in the untraveled path segment, wherein the untraveled path segment includes the target trajectory point and a trajectory point in the current path segment that is located after the target trajectory point; The untraveled path segment is adjusted according to the distance between every two adjacent trajectory points in the untraveled path segment.
2. The method according to claim 1, characterized in that The step of dividing the initial planned path into a plurality of path segments comprises: For each trajectory point in the initial planned path, determining a travel direction of the trajectory point compared to a previous trajectory point, and determining a travel direction identifier of the trajectory point according to the travel direction; In the initial planned path, multiple trajectory points with the same and continuous moving direction identifiers are divided 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 The step of determining the target track point closest to the vehicle in the current path segment includes: Determining a current first heading angle of the vehicle and current first coordinate information of the vehicle in a preset global coordinate system; Starting from the first track point in the current path segment, traversing, determining the second heading angle of the currently traversed track point and its second coordinate information in the global coordinate system; When it is determined that the relationship between the second heading angle of the currently traversed trajectory point and the first heading angle satisfies the set heading angle constraint, and the relationship between its second coordinate information and the first coordinate information satisfies the set distance constraint, the currently traversed trajectory point is determined as the target trajectory point and the traversal is stopped.
4. The method according to claim 1, characterized in that: The step of adjusting the untraveled path segment according to the distance between each two adjacent trajectory points in the untraveled path segment comprises: Comparing the distance between each two adjacent trajectory points in the untraveled path segment with a set distance threshold; When it is found that the distance between the two adjacent track points is greater than the distance threshold, a new track point is inserted between the two adjacent track points, and the latter track point of the two adjacent track points is discarded.
5. The method according to claim 4, characterized in that The inserting a new track point between the two adjacent track points comprises: Determine the third heading angle of each of the two adjacent trajectory points and their respective third coordinate information in a preset global coordinate system; The third coordinate information of each of the two adjacent trajectory points is calculated according to a 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 a set heading angle interpolation algorithm, and the calculation result is determined as the fourth heading angle of the trajectory point to be inserted; A new track point is inserted between the two adjacent track points according to the fourth coordinate information and the fourth heading angle.
6. The method according to claim 1 or 4, characterized in that: After adjusting the untraveled path segment according to the distance between every two adjacent trajectory points in the untraveled path segment, the method further includes: Determining the trajectory points to be screened from the adjusted untraveled path segment, wherein the trajectory points to be screened at least include the target trajectory point; Converting the coordinate information of the to-be-screened trajectory point in a preset global coordinate system into the coordinate information of the to-be-screened trajectory point in the vehicle's own coordinate system; Determining whether the trajectory point to be screened meets set reasonable conditions according to 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; When it is determined that the trajectory point to be screened does not meet the reasonable condition, the trajectory point to be screened is discarded.
7. The method according to claim 1, characterized in that The method further comprises: When it is determined that the vehicle is currently in the last path segment and the remaining length of the vehicle's current untraveled path is less than a preset travel distance threshold, re-planning the path with the current location 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.
8. A path processing device, characterized in that: The device comprises: A path division module, used to obtain an initial planned path of the vehicle and divide the initial planned path into multiple path segments; A trajectory point determination module, used to determine the current path segment of the vehicle and determine the target trajectory point closest to the vehicle in the current path segment when the vehicle is traveling along the initial planned path; a distance determination module, configured to determine, for an untraveled path segment in the current path segment, a distance between every two adjacent trajectory points in the untraveled path segment, wherein the untraveled path segment includes the target trajectory point and a trajectory point in the current path segment that is located after the target trajectory point; The path adjustment module is used to adjust the untraveled path segment according to the distance between every two adjacent trajectory points in the untraveled path segment.
9. A device, characterized in that: include: A processor and a memory, wherein the processor is used to execute a path processing method program stored in the memory to implement the path processing method according to any one of claims 1 to 7.
10. A storage medium, characterized in that: The storage medium has one or more programs, and the one or more programs can be executed by one or more processors to implement the path processing method described in any one of claims 1-7.
Citation Information
Patent Citations
Path planning method and path planning system
CN109708654A
Lane boundary-oriented emergency steering auxiliary method and device
CN112937569A
Path planning method, computer equipment and storage medium
CN115280102A
Automatic parking path optimization method and device
CN115456297A
Method and device for acquiring nearest track point on automatic driving planning route
CN116443048A