Method for dynamic programming of an aircraft path, computer system and medium
By constructing the convex hull of the threat region group and combining Dubins path and A* algorithm, the path planning failure problem in multi-UAV path planning under overlapping obstacle scenarios is solved, and effective path planning is achieved in overlapping obstacle scenarios.
Patent Information
- Application Number
- CN202310526320.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-10
- Publication Date
- 2026-02-06
- Estimated Expiration
- 2043-05-10
AI Technical Summary
Existing technologies fail to effectively handle scenarios with overlapping obstacles when processing multi-drone path planning, leading to path planning failures, and do not consider the situation where multiple obstacles overlap.
The A* algorithm based on Dubins paths is adopted. By constructing the convex hull of the threat region group, combined with the basic visibility and iterative methods, the nodes are expanded to avoid path conflicts with other obstacles, thus adapting to overlapping obstacle scenarios.
It achieves effective path planning in scenarios with overlapping obstacles, avoids path planning failure, and improves the adaptability and efficiency of path planning.
Smart Images

Figure CN116643583B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application belongs to the technical field of path planning, and particularly relates to an aircraft path dynamic planning method, a computer system and a medium. BACKGROUND
[0002] Aircraft path planning is to find an optimal or feasible path for an aircraft from a starting pose point to a target pose point in a planning area under given environmental constraints and kinematic constraints of the aircraft itself. When a threat / obstacle suddenly appears during the flight of the aircraft and needs to be avoided or a task change occurs, a safe and feasible path that meets the starting and target direction constraints usually needs to be dynamically generated. The path dynamic planning problem is essentially a multi-objective optimization problem with many constraints. The document "Multi-UAV Path Planning Based on A* Algorithm of Dubins Path", Optoelectronics and Control, 2018, Vol. 25(11), p25-29 discloses an A* algorithm combined with a Dubins path for multi-UAV path planning. The algorithm uses a single-circle obstacle avoidance method based on the Dubins path for node expansion for multiple non-overlapping circular obstacle scenes, considers all current conflict obstacles, takes the pose point cutting into the conflict obstacle circle as a possible node, and performs A* search with the Dubins distance as the estimated cost.
[0003] The above method only expands the pose point cutting into the current conflict obstacle circle as a possible candidate node, and there is a possibility that the path from the current node to the candidate node conflicts with other obstacles, resulting in planning failure. Moreover, the above planning method does not consider the case where obstacles may overlap. SUMMARY
[0004] In view of the deficiencies of the prior art method in completeness and adaptability, the application provides an aircraft path dynamic planning method based on A* algorithm search of a Dubins path, a computer system and a medium.
[0005] In a first aspect, the present application provides a method for dynamic planning of an aircraft path. The method comprises the following steps S1-S5. S1, obtaining initial data, the initial data comprising a minimum turning radius of the aircraft, pose information of a starting pose point and a target pose point, and parameter data of threat zones; wherein the parameter data of the threat zones comprises a circle center and a radius of each of M threat zones, wherein M is an integer greater than or equal to 1. S2, according to an overlap condition between the M threat zones, dividing the M threat zones into independent threat zones, contained threat zones, and threat zone groups, and outputting information of the independent threat zones and the threat zone groups; wherein the overlap condition comprises inclusion and intersection, and the intersection comprises direct intersection and indirect intersection. S3, for each threat zone group output by S2, constructing a threat zone group convex hull of each threat zone group, the threat zone group convex hull being a closed region formed by connecting a part of an arc on a circumference of at least two threat zones in each threat zone group and an external common tangent of the at least two threat zones, wherein the threat zone group convex hull contains all threat zones in the corresponding threat zone group. S4, iteratively traversing each threat zone group convex hull obtained, merging each threat zone group convex hull and all independent threat zones and other threat zone group convex hulls having the overlap condition with itself into a new threat zone group convex hull until there is no overlap condition between the threat zone group convex hulls and / or the independent threat zones. S5, under four initial conditions, respectively applying an A* algorithm based on a Dubins path to search for a path from the starting pose point to the target pose point to obtain four paths; wherein the four initial conditions are respectively that turning directions of the aircraft at the starting pose point and the target pose point are left-left, left-right, right-right, and right-left; and the aircraft in each of the four paths must bypass the threat zone group convex hulls and / or the independent threat zones generated in S4. S6, outputting information of a shortest path in the four paths.
[0006] According to an embodiment of the present application, the S3 comprises: finding all extreme threat zones in each threat zone group; and forming the boundary of the threat zone group convex hull of each threat zone group by the external tangent line between adjacent extreme threat zones in each threat zone group and the shortest circular arc between the two external tangent lines on all extreme threat zones. Wherein, the finding all extreme threat zones in each threat zone group comprises: finding the first extreme threat zone in each threat zone group, comprising: finding the point with the minimum coordinate value in at least one dimension according to the coordinates of the points on the circumference of all threat zones in each threat zone group, and determining the threat zone where the found point is located as the first extreme threat zone; taking the first extreme threat zone as the initial current extreme threat zone, finding new extreme threat zones in each threat zone group in a counterclockwise order by constructing external tangent lines, and updating each time found new extreme threat zone as the current extreme threat zone; and when the updated current extreme threat zone is the first extreme threat zone, determining that all extreme threat zones are found, and terminating the finding of new extreme threat zones.
[0007] According to an embodiment of the present application, the finding the first extreme threat zone comprises: finding the Y coordinate minimum point on the circumference of all threat zones in the current threat zone group respectively, and comparing; if the Y coordinate minimum point is unique, determining the threat zone where the Y coordinate minimum point is located as the first extreme threat zone; if the Y coordinate minimum point is not unique, comparing the X coordinates of the found Y coordinate minimum points, and taking the threat zone corresponding to the X coordinate minimum point as the first extreme threat zone.
[0008] According to an embodiment of the present application, the taking the first extreme threat zone as the initial current extreme threat zone, and finding new extreme threat zones in each threat zone group in a counterclockwise order by constructing external tangent lines comprises: constructing the external tangent line from the current extreme threat zone to each other threat zone in the threat zone group, and forming a circular arc between the tangent-out point of each external tangent line and the tangent-in point on the circumference of the current extreme threat zone as the boundary of the threat zone group convex hull; if there is only one shortest circular arc, determining the threat zone cut in by the external tangent line corresponding to the only one shortest circular arc as the found new extreme threat zone; and if the shortest circular arc is not unique, taking the threat zone cut in by the longest external tangent line segment among the external tangent lines corresponding to the multiple shortest circular arcs as the found new extreme threat zone.
[0009] According to an embodiment of the present application, the S4 comprises: obtaining the information of all threat zone group convex hulls and independent threat zones; and determining whether the overlap condition exists between each threat zone group convex hull and independent threat zone. Wherein, the determining whether the overlap condition exists between each threat zone group convex hull and independent threat zone specifically comprises: calculating the X coordinate range and Y coordinate range of the threat zone group convex hull C i and the independent threat zone B j ; when the X coordinate range of the threat zone group convex hull Ci and Independent Threat Zone B j When the X-coordinate range and Y-coordinate range overlap, determine the independent threat zone B. j Does it correspond to the convex hull C of the threatening region group? i All tangent segments of the boundary overlap; if overlap exists, the convex hull C of the threat region group is determined. i and Independent Threat Zone B j If the aforementioned overlap exists; if no overlap exists, determine that it is an independent threat zone B. j Is the center of the circle within the convex hull C of the threat region group? i If it is inside, then determine the convex hull C of the threat region group. i and Independent Threat Zone B j The aforementioned overlap exists, wherein the convex hull C of the threat region group i Includes independent threat zone B j Otherwise, determine the convex hull C of the threat region group. i and Independent Threat Zone B j The aforementioned overlap does not exist.
[0010] According to an embodiment of the present invention, step S4 further includes determining whether the overlapping condition exists between the two threat region group convex hulls, specifically including: calculating the threat region group convex hull C. i and C j The range of X and Y coordinates; when the convex hull of the threat region group C i and C j When the X-coordinate range and Y-coordinate range intersect, determine the convex hull C of the threat region group. i With the convex hull of the threat region group C j To determine whether each of the extreme threat regions in the data overlaps, the first round of judgment is obtained; the convex hull C of the threat region group is then determined. j With the convex hull of the threat region group C i To determine whether each extreme threat region in the data overlaps, a second round of judgment is obtained. If both the first and second round judgments show overlap, then the convex hull C of the threat region group is determined. i With the convex hull of the threat region group C j Intersecting; if the first round of determination results are all inclusive, then the convex hull C of the threat region group is... i Contains the convex hull of the threat region group C j If the results of the second round of determinations are all inclusion, then the convex hull C of the threat region group is... j Contains the convex hull of the threat region group C i If the first round of determination results and / or the second round of determination results simultaneously contain and do not overlap, then the convex hull C of the threat region group is... i With the convex hull of the threat region group C j Intersecting; if the results of the first round of judgment and the results of the second round of judgment are both non-overlapping, then the convex hull C of the threat region group is...i with the threat group convex C j The overlapping condition does not exist.
[0011] According to an embodiment of the present application, in the step S5, when the Dubins path-based A* algorithm is used to search for a path from the initial pose point to the target pose point, in the cost function F=G+H, G represents an actual path length from the initial pose point to a current pose point; and H represents an estimated path length from the current pose point to the target pose point, wherein the estimated path length is a Dubins path length.
[0012] According to an embodiment of the present application, the step S1 further comprises pre-processing the threat zones, specifically comprising: extending each threat zone in the M threat zones by adding a safety interval d safe outside the radius of the threat zone; and when there is a minimum threat zone with a radius smaller than the minimum turning constraint radius R c of the aircraft in the extended threat zone, constructing the minimum threat zone as a threat zone with a radius equal to R c .
[0013] In a second aspect, the present application provides a computer system. The computer system comprises one or more processors and a memory. The memory is configured to store one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors perform the method described above.
[0014] In a third aspect, the present application provides a computer readable storage medium, which stores computer program instructions. When the computer program instructions are executed by a processor, the method described above is implemented.
[0015] The embodiment of the present application is aimed at the situation that the threat zones are overlapped, and constructs a threat group convex based on the overlapped threat zone circles, so as to convert the situation that the threat zones are overlapped into the situation that the threat group convexes are not overlapped. On the basis of the Dubins path and the A* algorithm search method, the essential visibility graphs and the iterative method are introduced to expand the nodes. The method of the embodiment of the present application is applicable to the situation that the threat zones / obstacle circles are overlapped in the planning environment, and avoids the problem that the path planning may fail due to the conflict between the path from the current node to the candidate node and other threat zones. BRIEF DESCRIPTION OF DRAWINGS
[0016] Figure 1 is the overall flowchart of the aircraft path dynamic planning method based on the Dubins path-based A* algorithm search in an embodiment of the present application.
[0017] Figure 2is the A* algorithm search flow chart of the aircraft path dynamic programming based on Dubins path A* algorithm search in an embodiment of the present application.
[0018] Figure 3 is the whole flow chart of the reachable node search of the current node of the aircraft path dynamic programming based on Dubins path A* algorithm search in an embodiment of the present application.
[0019] Figure 4 is the tangent segment processing subroutine flow chart of the aircraft path dynamic programming based on Dubins path A* algorithm search in an embodiment of the present application.
[0020] Figure 5 is the convex hull internal conflict processing subroutine flow chart of the aircraft path dynamic programming based on Dubins path A* algorithm search in an embodiment of the present application.
[0021] Figure 6 is the schematic diagram of the node special expansion principle on the convex hull of the aircraft path dynamic programming based on Dubins path A* algorithm search in an embodiment of the present application.
[0022] Figure 7 is the tangent diagram of the convex hull inside and outside of the threat area group of the aircraft path dynamic programming based on Dubins path A* algorithm search in an embodiment of the present application.
[0023] Figure 8 is the schematic diagram of the reachable node search of the current node of the aircraft path dynamic programming based on Dubins path A* algorithm search in an embodiment of the present application.
[0024] Figure 9 is the path result diagram generated by the aircraft path dynamic programming algorithm planning based on Dubins path A* algorithm search in a typical scenario in an embodiment of the present application. DETAILED DESCRIPTION
[0025] The present application is further described below in conjunction with the accompanying drawings and embodiments.
[0026] As shown in Figure 1 , with reference to Figures 2-5 , the aircraft path dynamic programming method of an embodiment of the present application comprises the following steps:
[0027] Step 1: aircraft dynamic path planning initial data acquisition.
[0028] The initial data acquisition includes acquiring the minimum turning constraint radius of the current dynamic path planning of the aircraft, the pose information of the starting pose point and the target pose point, and the parameter data of the threat area.
[0029] 1) Obtain the minimum turning constraint radius R of the aircraft c .
[0030] 2) Obtain the pose of the initial pose point of the aircraft and the pose of the target pose point
[0031] 3) Obtain the parameter data of the threat area: M threat areas modeled as circles The center and radius (x i , y i , r i ) of each circular threat area , where i = 1, 2, …, M.
[0032] Step 2: Preprocess the threat area, including steps 2.1) to 2.3) as follows.
[0033] 2.1) Extend the circular threat area (x i , y safe , r i ) by a safety distance d i to generate an auxiliary circle (x i , y i , r' i ), where r' safe = r safe + d c , and expand the threat area to The safety distance d c is a constant value set considering the size of the aircraft, control accuracy, and navigation positioning accuracy.
[0034] 2.2) For the case where the threat area , the radius of the threat area circle is less than the minimum turning constraint radius R M of the aircraft, construct a concentric auxiliary circle with a radius equal to R i . After this processing, the threat area circle is denoted as O1, …, O j .
[0035] 2.3) Threat area overlap preprocessing.
[0036] Threat area overlap is divided into two cases: inclusion and intersection. Threat areas are classified into independent threat areas, contained threat areas, and threat area groups. Among them, the independent threat area does not overlap with any other non-contained threat area; threat areas with direct or indirect intersection relationship are grouped as a threat area group. Direct intersection indicates that two threat areas have geometric intersection relationship. If threat area O j directly intersects with threat area O k , threat area O i directly intersects with threat area O k , but Oi with O k not intersecting directly, called O i with O k has an indirect intersection relationship passed through direct intersection.
[0037] The specific method of threat zone overlap preprocessing is as follows:
[0038] ①Get all threat zones O1, …, O M information.
[0039] ②For each threat zone O i (i = 1, …, M), traverse its subsequent threat zones O j (j = i + 1, …, M), judge the positional relationship between each other, and construct an adjacency matrix. The circle is tangent to the circle, which is equivalent to not intersecting here; if it is an inclusion relationship, mark the contained threat zone; if it is an intersection relationship, mark the corresponding position in the adjacency matrix.
[0040] ③Access M threat zones in turn. If a threat zone is not visited and is not a contained threat zone, perform a depth-first search on it according to the adjacency matrix, and store the search results in a new threat zone set.
[0041] ④Output the obtained threat zone set, including threat zone groups A i (i = 1, …, m1) and independent threat zones B j (j = 1, …, m2), while ignoring the contained threat zones.
[0042] Step 3: For threat zone groups A i (i = 1, …, m1), refer to the JarVis stepping method to construct threat zone group convex hull C i (i = 1, …, m1) based on threat zone circles. The specific method of constructing a threat zone group convex hull (referred to as "convex hull") includes steps 3.1) to 3.3) as follows:
[0043] 3.1) Find the first threat zone that constitutes the convex hull according to the Lowest-then-leftmost rule. The threat zone that constitutes the convex hull is called the extreme threat zone.
[0044] The method of finding the first extreme threat zone is as follows:
[0045] Find all the minimum Y coordinate points on the threat zone circles in the current threat zone group, and compare them. If the minimum Y coordinate point on a threat zone circle is the global minimum point, then the threat zone is the first extreme threat zone. If the global minimum Y coordinate point is not unique, compare the X coordinates of these points, and the threat zone corresponding to the minimum X coordinate point is the first extreme threat zone. The point participating in the comparison on the first extreme threat zone is called the LTL point.
[0046] 3.2) For the newly found extreme threat zone, consider it as the current extreme threat zone, and find the next adjacent extreme threat zone in counterclockwise order. The outer common tangent of the current extreme threat zone and its next adjacent extreme threat zone is part of the convex hull.
[0047] The method for finding the next adjacent extreme threat zone from the current extreme threat zone is as follows:
[0048] Construct the outer common tangent of the current extreme threat zone to each other threat zone in the threat zone group. Each outer common tangent has a tangent point and a tangent point on the convex hull formed by the current extreme threat zone or the LTL point, forming an arc. The shortest arc corresponds to the threat zone where the outer common tangent is cut in, which is the next adjacent extreme threat zone corresponding to the current extreme threat zone. If the shortest arc is not unique, the threat zone where the longest outer common tangent segment corresponding to the shortest arc is cut in is the next adjacent extreme threat zone of the current extreme threat zone.
[0049] 3.3) Determine whether the next adjacent extreme threat zone found in step 3.2) is the first extreme threat zone.
[0050] ① If it is not the first extreme threat zone, go to step 3.2);
[0051] ② If it is the first extreme threat zone, the extreme threat zone search is complete. The convex hull is composed of all the shortest arcs on the extreme threat zones and the outer common tangent segments between adjacent extreme threat zones.
[0052] Step 4: Overlap detection and resolution of the convex hull of the threat zone group.
[0053] Obtain all convex hull and independent threat zone information; repeatedly perform the following steps until no overlap occurs or is merged into a convex hull; perform convex hull overlap detection between each pair of convex hulls and independent threat zones, and establish a position relationship adjacency matrix; use depth-first search to merge each group of intersecting convex hulls or independent threat zones into a large convex hull, and discard the contained convex hulls or independent threat zones.
[0054] Convex hull overlap detection includes detecting whether overlaps occur between the convex hull of the threat zone group and the independent threat zone, and between the convex hulls of the threat zone group. The specific method can include steps 4.1) to 4.2), which are described as follows:
[0055] 4.1) Convex hull Ci with independent threat zone B j overlap determination.
[0056] a) get convex hull C i with independent threat zone B j information.
[0057] b) calculate the X coordinate range and Y coordinate range of C i and B j , only when the X coordinate range and Y coordinate range of both exist intersection, both can produce overlap, continue to determine; otherwise, no overlap occurs, the determination is ended.
[0058] c) determine whether B j exists overlap with all tangent segments constituting convex hull C i , if exists overlap, C i intersects with B j , the determination is ended; otherwise continue to determine.
[0059] d) determine whether the center of B j is inside C i , if yes, indicates that C i contains B j ; otherwise no overlap occurs.
[0060] 4.2) overlap determination between convex hull C i and C j .
[0061] a) get information of two convex hulls C i and C j .
[0062] b) calculate the X coordinate range and Y coordinate range of convex hull C i and C j , only when the X coordinate range and Y coordinate range of both exist intersection, both can produce overlap, continue to determine; otherwise, no overlap occurs, the determination is ended.
[0063] c) convex hull C i performs overlap determination similar to the above step 4.1) for each extreme threat zone of C j , called the first round of determination; convex hull C j performs overlap determination similar to the above step 4.1 for each extreme threat zone of C i , called the second round of determination. If there is intersection in the two rounds of determination, C i intersects with C j ; if all are contained in the first round of determination, C i contains C jIf the second round of determination is all contain, C j contains C i If there are both contain and non-overlapping in a round, C i and C j intersect; if both rounds are non-overlapping, C i and C j non-overlapping.
[0064] Next, as shown in Figure 2 , the following steps 5-11 are introduced to introduce in detail the algorithm implementation process of using Dubins path-based A* algorithm to search the path from the starting pose point to the target pose point, taking the left turn direction of the aircraft at the starting pose point and the target pose point as an example.
[0065] Step 5: Establish and empty the open table and close table, and initialize the turn direction of the starting pose point and the target pose point to be left.
[0066] Step 6: Calculate the cost function value of the starting pose point, and add the starting pose point to the open table.
[0067] The cost function is F=G+H. Where G represents the actual path length from the starting pose point to the current pose point. The value is zero when the current pose point is the starting pose point. H represents the estimated path length from the current pose point to the target pose point, which is selected as the Dubins path length from the current pose point to the target pose point, and the length does not consider the conflict with the threat area. The pose points added to the open table and the close table in the subsequent are called nodes.
[0068] Step 7: Find the node with the smallest F value from the open table, and take it as the current node to be processed, and move the current node to the close table.
[0069] Step 8: Find the reachable nodes of the current node based on the basic view and iterative method, and process the reachable nodes accordingly, including the following steps 8.1) and 8.2). Reference Figures 3-5 is described as follows.
[0070] 8.1) Finding the reachable nodes of the current node, the specific method steps are described as follows.
[0071] ① Set and initialize the reachable node set S Pr , the checked tangent line set S Lc , the conflict set S CN , and the flag self_sign to zero.
[0072] ② The tangent segment L cgThe tangent segment L cg is the current tangent segment (as shown by the dashed line in Figure 7 ). Figure 8
[0073] ③ If the current tangent segment is in the set S Lc of checked tangent segments, the processing of the current tangent segment ends; otherwise, the current tangent segment is added to the set S Lc of checked tangent segments.
[0074] ④ The threat zone elements conflicting with the current tangent segment are calculated, including the independent threat zones and the convex hulls of threat zone groups.
[0075] a) If the current node corresponds to a turning circle belonging to the convex hull of a threat zone group, and there is a conflicting threat zone element being the convex hull of the threat zone group (as shown in Figure 6 ), the next tangent point on the next extreme threat zone is added to the set S Pr of reachable nodes according to the turning direction of the current node along the edge of the convex hull, and self_sign is set to 1.
[0076] b) The remaining conflicting threat zone elements are added to the set S CN of conflicts.
[0077] ⑤ If the set S CN is empty and self_sign is 1, the processing of the current tangent segment ends. If the processing of the tangent segment L cg has ended, go to step 8.1). If the set S CN is empty and self_sign is 0, perform the following step 8.1).⑤. a); otherwise, go to step 8.1).⑥.
[0078] a) If the tangent point of the current tangent segment corresponds to a turning circle center identical to the turning circle center of the target pose point, the target pose point is added to the set S Pr of reachable nodes, and the processing of the current tangent segment ends; otherwise, continue to perform the following steps;
[0079] b) If the tangent point of the current tangent segment is in the set S Pr of reachable nodes, the processing of the current tangent segment ends; otherwise, continue to perform the following steps;
[0080] c) The tangent point of the current tangent segment is added to the set S Pr of reachable nodes, and the processing of the current tangent segment ends.
[0081] ⑥ The conflicting independent threat zone or the convex hull of the threat zone group with the minimum distance from the set S CN is found, which is the first conflicting element.
[0082] a) The decision distance of the threat zone is defined as the distance from the tangent point P of the tangent segment to the foot point P of the perpendicular line of the tangent segment. in The perpendicular line of the tangent segment is drawn, and the foot point is P fo When calculating the decision distance of the threat zone, the distance from the tangent segment starting point P cu to the foot point P fo is counted.
[0083] b) The decision distance of the threat zone group convex hull is defined as the decision distance of the first extreme threat zone of the threat zone group convex hull.
[0084] ⑦Calculate the tangent segment of the first conflict element from the turning circle corresponding to the current node, and jump to step 8.1).③ with the current node information and the tangent segment information until the tangent segment processing is completed.
[0085] The tangent segment calculation of the threat zone group convex hull is as follows: if the turning direction of the current node is clockwise (or counterclockwise), construct the tangent segment of the turning circle corresponding to the current node to all extreme threat zones of the threat zone group convex hull, perform to-left determination on the tangent points on all tangent segments based on the current tangent segment, and exclude the tangent segments with false (or true) results. At this time, the remaining tangent segments deviate in the counterclockwise (or clockwise) direction, and the tangent segment with the largest deviation angle is the solution. If the tangent segment with the largest deviation angle of the threat zone group convex hull is not unique, select the tangent segment corresponding to the tangent point farther from the current node as the tangent segment of the threat zone group convex hull relative to the current node.
[0086] to-left determination is to determine whether point s is on the left side of the directed line determined by points p and q through the directed area of the triangle. If yes, return true; otherwise, return false.
[0087] ⑧Calculate the tangent segment of the first conflict element from the turning circle corresponding to the current node, as shown in Figure 8 , jump to step 8.1).③ with the current node information and the tangent segment information until the tangent segment processing is completed.
[0088] The tangent segment calculation of the threat zone group convex hull is as follows: if the turning direction of the current node is clockwise (or counterclockwise), construct the tangent segment of the turning circle corresponding to the current node to all extreme threat zones of the threat zone group convex hull, perform to-left determination on the tangent points on all tangent segments based on the current tangent segment, and exclude the tangent segments with false (or true) results. At this time, the remaining tangent segments deviate in the counterclockwise (or clockwise) direction, and the tangent segment with the largest deviation angle is the solution. If the tangent segment with the largest deviation angle of the threat zone group convex hull is not unique, select the tangent segment corresponding to the tangent point farther from the current node as the tangent segment of the threat zone group convex hull relative to the current node.
[0089] 9. Calculate the inner and outer tangent line of the current node's turning circle to all the conflict independent threat zones or threat zone groups' convex hulls, and find the maximum deviated conflict inner and outer tangent line.
[0090] The maximum deviated conflict inner and outer tangent line is defined as follows: compare the inner and outer tangent line of the current node's turning circle to all the conflict elements, where the inner tangent line with the largest angle to the current tangent line is the maximum deviated conflict inner tangent line, and the outer tangent line with the largest angle to the current tangent line is the maximum deviated conflict outer tangent line.
[0091] 10. Jump to step 8.1)③ with the current node information and the maximum deviated conflict outer tangent line information, until the tangent line processing is completed.
[0092] Jump to step 8.1)③ with the current node information and the maximum deviated conflict inner tangent line information, until the tangent line processing is completed.
[0093] The reachable node search of the current node is completed.
[0094] 8.2) Process the reachable nodes accordingly. First, judge whether all reachable nodes are in the open table, and according to this, divide the reachable nodes into two categories and process them as follows:
[0095] ① Add the reachable nodes not in the open table to the open table, and set the current node as the father node of them (i.e., the current node's reachable nodes), calculate and record the total cost F of these nodes.
[0096] ② For the reachable nodes already in the open table, check whether the path length from the starting pose point via the current node to the node is smaller than the original path (i.e., the last updated path) length. If yes, update the father node of the node to the current node, recalculate the cost G and F of the node; if not, do not operate on the node.
[0097] Step 9: Judge whether the current search is completed, and the specific steps are as follows:
[0098] 1) Judge whether the open table is empty. If yes, it means that there is no feasible path in the current scene, and the current search is completed, go to step 11; otherwise, continue to execute the following judgment;
[0099] 2) Judge whether the target pose point is in the open table. If not, it means that the current search is not completed, go to step 7; otherwise, it means that the path has been found, and the current search is completed.
[0100] Step 10: Backtracking from the target pose point to the start pose point along the parent node, which is a path searched by the Dubins path-based A* algorithm, and the path is saved.
[0101] Step 11: Empty the open table and the close table. The first time to reach this step is to turn left left with the start and target pose points, so there are three states of left right, right right and left left remaining after the first time to reach this step. From now on, the next state is used in sequence to initialize the start and target pose points each time, and proceed to step 6 for continuous execution. When all states are traversed, step 12 is executed.
[0102] Step 12: Compare the four paths obtained, and output the information of the shortest path.
[0103] The embodiment of the application provides a flight vehicle path dynamic planning method based on Dubins path-based A* algorithm search. The method adopts a convex hull preprocessing method taking a circle as a main body, so that the flight vehicle can plan a relatively optimal feasible path in the face of an overlapping scene of various spatial combinations of threat zones. And due to the introduction of a basic view and an iterative method for node expansion, the method avoids possible path planning failure caused by the fact that the paths from the current node to the candidate nodes are all in conflict with other threat zones, and can perform efficient planning.
[0104] In another embodiment of the application, the flight vehicle path dynamic planning method of the embodiment of the application is simulated by simulation.
[0105] As shown in the figure, Figure 9 The simulation is performed in a two-dimensional planar rectangular planning space {(x, y) | 0km≤x≤200km, 0km≤y≤200km}, and the planning space includes circular threat zones, and the threat zones can have an overlapping situation. The units of the following coordinates are kilometers, and the units of angles are radians.
[0106] Step S1: Obtain initial data for flight vehicle dynamic path planning.
[0107] 1) Obtain the minimum turning constraint radius R of the flight vehicle c = 2.5km.
[0108] 2) Obtain the pose GP S (0, 0, 0) of the start pose point and the pose GP G (200, 200, 0) of the target pose point.
[0109] 3) Obtain the parameter data of the threat zones: M = 16 threat zones modeled as circles Each circular threat zone center and radius (x i , y i , r i ) where i = 1, 2, …, M.
[0110] Table 1. Parameters of the circular threat zone (unit: km)
[0111]
[0112] Step S2: Threat zone preprocessing
[0113] 1) Extend the circular threat zone (x i , y i , r i ) by a safety distance d safe = 1 km to expand the threat zone to
[0114] Table 2. Parameters of the expanded circular threat zone (unit: km)
[0115]
[0116]
[0117] 2) For the threat zone where the radius of the threat zone circle is smaller than the minimum turning constraint radius R c of the aircraft, construct a concentric auxiliary circle with a radius equal to R c . After this processing, the threat zone circles are denoted as O1, …, O M .
[0118] 3) Threat zone overlap preprocessing.
[0119] Table 3. Composition of each threat zone group
[0120] Number Threat zone subscripts constituting the threat zone group 1 (1,15) 2 (2,5,10,11,12,14,16) 3 (3,6) 4 (7,9)
[0121] Step S3: For each threat zone group A i (i = 1, …, 4), construct the threat zone group convex hull C i (i = 1, …, 4) based on the Jarvis step method with the threat zone circles as the main body.
[0122] Table 4. Index sequence of threat zones constituting the convex hull in counterclockwise direction
[0123] Number Convex hull threat zone subscript sequence 1 {1,15} 2 {2,14,5,11,12,16} 3 {3,6} 4 {7,9}
[0124] Step S4: Overlap detection and resolution of the threat zone group convex hull. In this example, the constructed threat zone group convex hull does not produce overlaps, and overlap resolution is not required.
[0125] Step S5: Establish and empty the open table and the close table, and initialize the turning direction of the start pose point and the target pose point as left.
[0126] Step S6: Calculate the start pose point cost function value, and add the start pose point to the open table.
[0127] Step S7: Find the node with the minimum total cost function value F from the open table, take it as the current node to be processed, and move the current node to the close table.
[0128] Step S8: Find the reachable nodes of the current node based on the basic view and the iterative method, and perform corresponding processing on the reachable nodes.
[0129] 1) Reachable node finding of the current node, the specific method steps are as follows:
[0130] ① Set and initialize the reachable node set S Pr and the checked tangent set S Lc , the conflict set S CN , and the flag self_sign as zero.
[0131] ② Draw the tangent segment L cg of the turning circle corresponding to the current node to the turning circle corresponding to the target pose point, and take the tangent segment L cg as the current tangent segment.
[0132] ③ If the current tangent segment is in the checked tangent set S Lc , the current tangent segment processing ends; otherwise, add the current tangent segment to the checked tangent set S Lc .
[0133] ④ Calculate the threat zone elements in conflict with the current tangent segment, including independent threat zones and threat zone group convex hulls.
[0134] a) If the turning circle corresponding to the current node belongs to the threat zone group convex hull, and there is a conflict element that is the threat zone group convex hull, proceed along the edge of the convex hull according to the turning direction of the current node, add the tangent point on the next extreme threat zone to the reachable node set S Pr , and set self_sign as 1, see Figure 6 .
[0135] b) Add the remaining conflict threat zone elements to the conflict set S CN .
[0136] ⑤ If the set S CN is empty and self_sign is 1, the current tangent segment processing ends, if the tangent segment L cg processing has ended, go to step S8 1). If the set S CN is empty and self_sign is 0, execute the following step S8 1). ⑤. a); otherwise go to step S8 1). ⑥.
[0137] a) If the tangent segment entry point corresponding to the turning circle of the current node is the same as the turning circle center of the target pose point, add the target pose point to the set S Pr , and end the processing of the current tangent segment; otherwise continue to execute the following steps.
[0138] b) If the tangent segment entry point of the current node is in the set S Pr , end the processing of the current tangent segment; otherwise continue to execute the following steps.
[0139] c) Add the tangent segment entry point of the current node to the set S Pr , and end the processing of the current tangent segment.
[0140] ⑥ Find the conflict independent threat zone or threat zone group convex hull with the smallest judgment distance from the set S CN , which is the first conflict element.
[0141] ⑦ Calculate the external tangent segment of the turning circle corresponding to the current node to the first conflict element, and jump to step S8 1). ③ with the current node information and the external tangent segment information until the tangent segment processing has ended.
[0142] ⑧ Calculate the internal tangent segment of the turning circle corresponding to the current node to the first conflict element, and jump to step S8 1). ③ with the current node information and the internal tangent segment information until the tangent segment processing has ended.
[0143] ⑨ Calculate the internal and external tangent segments of the turning circle corresponding to the current node to all conflict independent threat zones or threat zone group convex hulls, find the maximum deviation conflict internal and external tangent, see Figure 8 .
[0144] ⑩ Jump to step S8 1). ③ with the current node information and the maximum deviation conflict external tangent segment information until the tangent segment processing has ended.
[0145] Jump to step S8 1). ③ with the current node information and the maximum deviation conflict internal tangent segment information until the tangent segment processing has ended.
[0146] The reachable node search of the current node is completed.
[0147] 2) Process the reachable nodes accordingly. First, judge whether all reachable nodes are in the open table, and according to this, divide the reachable nodes into two categories and process them as follows:
[0148] ① Add the reachable nodes not in the open list to the open list, and set the current node as the father of them, calculate and record the total cost F of these nodes.
[0149] ② For the reachable nodes already in the open list, check whether the path length from the start pose point via the current node to the node is smaller than the original path length. If yes, update the father of the node as the current node, recalculate the cost G and F of the node; if not, do not operate on the node.
[0150] Step S9: judge whether the current search is finished, the specific steps are as follows:
[0151] 1) Judge whether the open list is empty. If yes, it indicates that there is no feasible path in the current scene, the current search is finished, and go to step S11; otherwise, continue to execute the following judgment;
[0152] 2) Judge whether the target pose point is in the open list. If not, it indicates that the current search is not finished, go to step S7; otherwise, it indicates that the path has been found, the current search is finished.
[0153] Step S10: trace back from the target pose point to the start pose point along the parent node, which is a path searched by the Dubins path-based A* algorithm, save the path.
[0154] Step S11: clear the open list and the close list. The first time to reach this step, the start and target pose points have three remaining turning directions, which are left, right and right-left. From now on, the next state is used in order to initialize the start and target pose points, and go to step S6 to continue to execute. When all the states are traversed, execute the next step.
[0155] Step S12: compare the four paths obtained, and output the information of the shortest path.
[0156] Table 5 Length information of four paths
[0157] Type LSL-based LSR-based RSR-based RSL-based Length (km) 334.072 299.129 314.836 349.779
[0158] Table 6 Pose point data of threat area avoidance planning path
[0159]
[0160]
[0161] The simulation results are shown in the accompanying drawings Figure 9As shown, the thick solid line represents the path generated by the aircraft path dynamic programming method based on the A* algorithm search of the Dubins path, and the thin dashed line represents the Dubins path between the starting and target pose points corresponding to the planned path. Threat region modeling is attached. Figure 9 The circular and overlapping circular regions are preprocessed by constructing the convex hull of the overlapping regions. The A* algorithm based on the basic visible view and combined with the Dubins path is used to search and plan the path from the starting pose point to the target pose point to avoid the threat zone.
Claims
1. A method for dynamic planning of an aircraft path, comprising: S1, obtaining initial data, the initial data comprising a minimum turning radius of an aircraft, pose information of a starting pose point and a target pose point, and parameter data of threat zones; wherein the parameter data of the threat zones comprises a circle center and a radius of each of M threat zones, wherein M is an integer greater than or equal to 1; S2, dividing the M threat zones into independent threat zones, contained threat zones and threat zone groups according to overlapping conditions among the M threat zones, and outputting information of the independent threat zones and the threat zone groups; wherein the overlapping conditions comprise inclusion and intersection, and the intersection comprises direct intersection and indirect intersection; S3, for each of the threat zone groups output by S2, constructing a threat zone group convex hull of each of the threat zone groups, the threat zone group convex hull being a closed region formed by connecting partial circular arcs on the circumferences of at least two threat zones in each of the threat zone groups and external common tangent lines of the at least two threat zones, wherein the threat zone group convex hull contains all the threat zones in the corresponding threat zone group; S4, iteratively traversing each of the threat zone group convex hulls obtained, merging each of the threat zone group convex hulls and all the independent threat zones and other threat zone group convex hulls having the overlapping conditions with itself into a new threat zone group convex hull, until there is no overlapping condition among the threat zone group convex hulls and / or the independent threat zones; S5, under four initial conditions, respectively applying an A* algorithm based on a Dubins path to search for a path from the starting pose point to the target pose point to obtain four paths; wherein the four initial conditions are respectively that turning directions of the aircraft at the starting pose point and the target pose point are left-left, left-right, right-right and right-left; in each of the four paths, the aircraft has to bypass the threat zone group convex hulls and / or the independent threat zones generated in S4; and S6, outputting information of a shortest path among the four paths; wherein S3 comprises: finding all extreme threat zones in each of the threat zone groups; and composing a boundary of the threat zone group convex hull of each of the threat zone groups from external common tangent line segments between adjacent extreme threat zones in each of the threat zone groups and a shortest circular arc between the two external common tangent line segments on all the extreme threat zones; wherein the finding all extreme threat zones in each of the threat zone groups comprises: finding a first extreme threat zone in each of the threat zone groups, comprising: finding at least one point with a minimum coordinate value in a dimension according to coordinates of points on circumferences of all the threat zones in each of the threat zone groups, and determining a threat zone in which the found point is located as the first extreme threat zone; taking the first extreme threat zone as an initial current extreme threat zone, finding a new extreme threat zone in each of the threat zone groups in a counterclockwise order by constructing an external common tangent line, and updating each time found new extreme threat zone as the current extreme threat zone; when the updated current extreme threat zone is the first extreme threat zone, determining that all the extreme threat zones are found, and terminating the finding of the new extreme threat zone.
2. The method of claim 1, wherein, the finding of the first extreme threat zone comprises: Find the minimum Y coordinate point on the circumference of each threat zone in the current threat zone group, and compare them; If only one minimum Y coordinate point is found, the threat zone where the minimum Y coordinate point is located is determined as the first extreme threat zone; If the minimum Y coordinate points are not unique, compare the X coordinates of the minimum Y coordinate points, and the threat zone corresponding to the minimum X coordinate point is taken as the first extreme threat zone.
3. The method of claim 2, wherein, The first extreme threat zone is taken as the initial current extreme threat zone, and new extreme threat zones are searched in each threat zone group in counterclockwise order by constructing external tangent lines, including: Construct external tangent lines from the current extreme threat zone to each other threat zone in the threat zone group. Each external tangent line forms an arc between the tangent point and the tangent-in point on the circumference of the current extreme threat zone, which is the convex hull boundary of the threat zone group. If there is only one shortest arc, the threat zone where the external tangent line corresponding to the only shortest arc is cut in is determined as the new extreme threat zone found; and If the shortest arcs are not unique, the threat zone where the longest external tangent line segment among the external tangent lines corresponding to the shortest arcs is cut in is taken as the new extreme threat zone found.
4. The method of claim 1, wherein, The S4 includes: Obtain information of all threat zone group convex hulls and independent threat zones; Determine whether each threat zone group convex hull and independent threat zone has the overlap condition, specifically including: Computing threat zone cluster convex hulls and independent threat zones X-coordinate range and Y-coordinate range; When the X coordinate range and the Y coordinate range of the independent threat area exist intersection and the boundary of the threat area group convex hull , judge whether the independent threat area exists overlap with all tangent segments of the boundary of the threat area group convex hull If there is an overlap, determine a threat zone cluster convex hull and independent threat zones The overlap condition exists; If there is no overlap, determine if the circle center is inside the convex hull of the threat cluster If so, determine the threat zone cluster convex hull and the independent threat zone The overlap condition exists where the threat zone cluster convex hull contains the independent threat zone ; otherwise, determine the threat zone cluster convex hull and the independent threat zone The overlap condition does not exist.
5. The method of claim 4, wherein, The S4 further includes determining whether two threat zone group convex hulls have the overlap condition, specifically including: Computing threat zone cluster convex hulls and X-coordinate range and Y-coordinate range; when the X coordinate range and the Y coordinate range of the threat zone group convex hulls and have an intersection, Determining threat zone cluster convex hull With each extreme threat zone in the threat zone cluster convex hull whether the overlap condition exists, obtaining a first round of determination results; determining whether the threat zone cluster convex hull and whether the overlap condition exists for each extreme threat zone in the threat zone cluster convex hull , obtaining a second round of determination results; If there is intersection in both the first round of determination results and the second round of determination results, the threat zone cluster convex hull intersects with the threat zone cluster convex hull . If the first round of determination results are all include, the threat zone cluster convex hull The threat zone cluster convex hull ; If the second round of determination results are all included, the threat area group convex hull The threat area group convex hull is included ; If both the first and / or second determination results contain and do not overlap, the threat cluster convex hull intersects the threat cluster convex hull If the first and second determination results are both not overlapping, then the threat cluster convex hull is the threat cluster convex hull The overlap condition does not exist.
6. The method of claim 1, wherein, In the S5, when the Dubins path-based A* algorithm is used to search for a path from the starting pose point to the target pose point, Cost function In the present embodiment, representing an actual path length from the start pose point to the current pose point; representing an estimated path length from the current pose point to the target pose point, wherein the estimated path length is a Dubins path length.
7. The method of claim 1, wherein, The S1 further includes preprocessing the threat zones, specifically including: extending a radius of each of the M threat zones by an outer extension safety margin , to extend each threat zone; and when a minimal threat zone with a radius smaller than the minimum turn constraint radius of the aircraft exists in the extended threat zone the minimal threat zone is constructed as a threat zone with a radius equal to the minimum turn constraint radius of the aircraft.
8. A computer system, comprising: one or more processors; a memory for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors perform the method of any one of claims 1-7.
9. A computer-readable storage medium having computer program instructions stored thereon, the computer program instructions being executed by a processor to implement the method of any one of claims 1-7.
Citation Information
Patent Citations
An unmanned aerial vehicle flight path real-time planning method based on a Dubbins path and a branch limit
CN109685237A