Three-dimensional route planning method for fire-fighting aircraft based on improved A* algorithm
By improving the A* algorithm and combining it with aircraft turning performance and obstacle detection, the flight path of the three-dimensional forest fire site was optimized, solving the problems of search efficiency and safety in path planning, and realizing safer and more efficient flight path planning for firefighting aircraft.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- NORTHWESTERN POLYTECHNICAL UNIV
- Filing Date
- 2023-03-27
- Publication Date
- 2026-06-02
AI Technical Summary
The existing A* algorithm has problems such as slow node search, a large number of useless nodes search, excessive path turns, and inability to effectively avoid terrain obstacles when planning paths in a three-dimensional forest fire environment, resulting in low safety and efficiency of firefighting aircraft operations.
An improved A* algorithm is adopted, which optimizes the flight path and reduces redundant point processing by loading terrain information, combining it with aircraft performance detection, using grid maps and aircraft performance detection, using grid maps and aircraft detection, using obstacle collision and aircraft detection, using obstacle collision and no-fly zone detection, using obstacle collision detection, and combining obstacle collision detection with aircraft turning performance constraints and no-fly zone detection.
Under the constraints of aircraft kinematics, a safe and feasible three-dimensional route can be planned, reducing search time, shortening route distance, and improving flight safety and efficiency.
Smart Images

Figure QLYQS_6 
Figure QLYQS_16 
Figure QLYQS_20
Abstract
Description
Technical Field
[0001] This invention relates to the field of aircraft path planning technology, specifically to path planning technology for aircraft conducting water drop operations in forest fire environments, and particularly to a three-dimensional route planning method for firefighting aircraft based on an improved A* algorithm. Background Technology
[0002] Since the mid-to-late 20th century, aerial firefighting has become a crucial method for forest fire control, typically used for large-scale fires such as forest fires, characterized by timely, rapid, and efficient response. Extensive research has been conducted worldwide, with fixed-wing aircraft, possessing large payload capacity and high maneuverability, being widely applied in forest fire control research and experiments in recent years. Given the large proportion of mountainous and hilly terrain in my country's topography, forest fires are particularly difficult to extinguish due to their large affected areas and complex terrain. Therefore, utilizing aerial firefighting equipment is of practical significance for forest fire prevention and control in my country.
[0003] However, my country's research on aerial firefighting equipment started relatively late, and many technical challenges remain to be solved. Since forest firefighting typically involves low-altitude operations, and the fire scene and mountainous terrain are complex, major safety accidents such as aircraft crashes due to operational errors are highly likely. Therefore, ensuring the safety of firefighting aircraft operations and quickly planning a safe and feasible route from the starting point to the target point in complex environments are key issues in the development of aerial firefighting equipment.
[0004] The A* algorithm, a typical heuristic path planning algorithm, is simple in principle, easy to implement, and fast in 2D scenarios. It has been widely used in the field of path planning and has yielded numerous research results. However, since path planning in forest fire environments is a 3D scenario, using the traditional A* algorithm as a 2D scenario will result in the loss of terrain information such as hills and high-altitude obstacles. On the other hand, directly applying the traditional A* algorithm to 3D path planning will involve searching for many useless nodes, leading to excessive computational load, long pathfinding time, and problems such as excessively large path turns and inability to effectively avoid terrain obstacles. Summary of the Invention
[0005] To overcome the shortcomings of existing technologies, this invention provides a three-dimensional flight path planning method for firefighting aircraft based on an improved A* algorithm. The aim is to quickly and effectively plan a reasonable three-dimensional flight path for firefighting aircraft in a forest fire environment, while satisfying the kinematic constraints of the aircraft, thus ensuring the aircraft stays away from terrain obstacles and threats and guaranteeing its safety during flight.
[0006] The method of this invention first performs initial route planning using an improved A* algorithm search strategy, which solves the problems of slow node search, excessive searching of useless nodes, and frequent turns in the original A* algorithm in 3D maps. Then, redundant points in the initial route are processed to further optimize the route and reduce the route length.
[0007] The technical solution adopted by this invention to solve its technical problem includes the following steps:
[0008] Step 1: Load map information;
[0009] Load the terrain file of the forest area containing elevation information, process the terrain using the raster method to obtain a raster map, where the size of each raster is the same as the precision of the terrain file (for example, if the map precision is 30m, then each raster represents an actual length of 30m). Represent the raster map as a two-dimensional array M, where each item M(i,j) in the array represents a raster, and the value of each item corresponds to the elevation value in the map.
[0010] Load no-fly zone information. A no-fly zone is the area within which the fire is located; alternatively, a no-fly zone can be set manually. This invention abstracts no-fly zones into two categories: hemispheres and cylinders, such as... Figure 4 As shown, because the closer to the center of the fire, the larger the fire and the higher the required flight altitude, the no-fly zone of the fire area is abstracted as a hemisphere, while obstacles such as tall buildings are abstracted as cylinders. Other irregularly shaped no-fly zones are transformed into a hemisphere and a cylinder through expansion processing.
[0011] Step 2: Parameter initialization;
[0012] First, set the starting point START and the extinguishing agent deployment point GOAL. Initialize the OPEN list for storing node information and the CLOSE list for storing processed node information. Set the search angle set as ANGLE = {(-α,0),(-α,γ),(0,γ),(α,γ),(α,0),(α,-γ),(0,-γ),(-α,-γ),(0,0)}, where α and γ are the search angles. The two angles are adjusted according to the complexity of the terrain. When there are too many obstacles and the current search angle cannot be used to complete the route planning, increase the search angle (up to 1.5 times) to avoid getting stuck in local points. Set the maximum search step size as S, the minimum turning radius of the aircraft as r, the maximum number of binary iterations as n, and the end search distance as L.
[0013] Add the starting point START to the OPEN list, and calculate the fitness value F(n) according to the following formula, which will be used as the fitness value of the starting point:
[0014] F(n) = g(n) + h(n)
[0015] Among them, g(n) represents the actual route length from the initial point START to the node point n and is accumulated by each segment of the route; h(n) represents the distance from the node point n to GOAL, and the Euclidean distance is adopted in this invention;
[0016] Step 3: Determine whether the OPEN list is empty. If there is no node in the OPEN list, the path planning fails; if there is a node in the OPEN list, take out the node with the minimum F(n) value in the OPEN list, and set this node as node R. After deleting node R from the OPEN list, put it into the CLOSE list; if the distance between the current node R and GOAL is less than or equal to the end search distance L, it means that the fire extinguishing agent delivery point GOAL is found, and proceed to Step 8. If the distance between node R and GOAL is greater than the end search distance L, proceed to Step 4;
[0017] Step 4: Search for the child nodes of R;
[0018] Step 5: Perform the judgment of the aircraft turning performance constraint;
[0019] Take one of its child nodes Judge whether the path from R to this child node satisfies the minimum turning radius constraint of the aircraft. As Figure 3 shown, calculate the included angle between the current flight direction and the line connecting R and The calculation formula is as follows: The calculation formula is as follows:
[0020]
[0021] where x L 、y L 、z L are the coordinate values of the parent node of R; then calculate If R < r, the minimum turning radius constraint is not satisfied, and it turns to judge the child nodes in other directions; if R < r is satisfied, proceed to Step 6;
[0022] Step 6: Detect obstacle collision and no-fly zone, which is used to judge whether the child node is a feasible point;
[0023] Step 7: Take out the feasible child nodes of R in the Children set Calculate the F(n), g(n), h(n) of the feasible child nodes and put them into the OPEN list, and set R as 's parent node; if this node is already in the OPEN list, check whether the distance from R to this node (i.e., g(n)) is smaller than the recorded g(n) value. If it is smaller, set R as this node Find the parent node and recalculate F(n); after completing the OPEN list update, return to step three;
[0024] Step 8: Let PATH be the set of waypoints, initially empty. Set the current node R as the parent node of GOAL. Then, add GOAL, which is considered the starting point of the backtracking path Path1, to PATH. Read the parent node of Path1 as the next path point Path2 of the backtracking path and add it to PATH. Then read the parent node of Path2 as the next path point Path3 of the backtracking path and add it to PATH, and so on, until the starting point START is read and added to PATH, then the backtracking ends. Reverse the order of PATH to obtain the initial three-dimensional waypoint set PATH based on the improved A* algorithm search strategy.
[0025] Step 9: Use the redundancy point handling strategy to further optimize the route PATH, resulting in the optimized route PATHNEW.
[0026] Step four involves searching for child nodes of R, using the following search strategy:
[0027] First, determine the search direction, such as... Figure 2 As shown, the Children collection stores the coordinates of feasible child nodes; first, the direction of the line R_GOAL connecting the current node and GOAL is determined, and then the R_GOAL direction is used as the reference direction to determine the search direction of each child node within the search range. The specific calculation formula is as follows:
[0028]
[0029]
[0030]
[0031]
[0032]
[0033] like Figure 2 As shown, β xy β represents the angle between the projection of R_GOAL onto the XY plane and the X-axis. z Represents the angle between R_GOAL and the XY plane; (x R ,y R ,z R (x) represents the coordinates of the current point; GOAL ,y GOAL ,z GOAL ) represents the coordinates of GOAL; ANGLE i(k) represents the k-th value in the i-th group of angles in the search angle set, where k takes the values 1 and 2, and i takes the values 1, 2, ..., 9; Search i Indicates the i-th search direction; The search direction and angle for child nodes;
[0034] Then, using the maximum search step size S, the following calculations are performed:
[0035]
[0036] Obtain the coordinates of child nodes in different search directions
[0037] Step six involves obstacle collision and no-fly zone detection; these are used to determine whether a child node is a feasible point, and the following two steps are performed sequentially:
[0038] ① Obstacle collision detection: The vertical coordinate is compared with the elevation value of the corresponding coordinate on the map. The elevation value of non-integer coordinates is the average of the elevation values of the eight integer coordinate points around that coordinate. If the z value of the child node is less than the elevation value of the corresponding coordinate on the map, then it fails the obstacle collision detection.
[0039] ② No-fly zone detection: No-fly zones are represented in two forms: hemispherical and cylindrical, such as... Figure 4 As shown, for a hemispherical no-fly zone, guarantees With the center O at the bottom of the no-fly zone i The distance is greater than the radius of the no-fly zone. For a cylindrical no-fly zone, ensure that... The projection point on the XY plane to the center point O at the bottom of the no-fly zone i The distance is greater than the radius R of the no-fly zone i ,or The height is greater than the height H of the cylindrical no-fly zone. i If neither of the above two conditions is met, the no-fly zone detection fails. Then, a second check of the no-fly zone detection is performed, projecting the hemispherical and cylindrical no-fly zones onto the XY plane, and calculating R and R' respectively. RC connection i The line connecting R to the center of the no-fly zone (RO) i The angle between RO i The angle between the line and the tangent line passing through R is RC i length Tangent length if and This means it will not pass the no-fly zone inspection;
[0040] If the child node Simultaneously, by passing obstacle collision detection and no-fly zone detection, the child node will be... Consider it a feasible child node; if the child node If both obstacle collision detection and no-fly zone detection cannot be passed simultaneously, a binary iterative search is used to find new child nodes in that direction, and the aircraft turning performance constraint judgment in step five and the obstacle collision and no-fly zone detection in step six are repeated. Figure 5 As shown; the iteration ends when the number of iterations reaches the maximum number of binary iterations n;
[0041] If a feasible child node can be obtained, then add the feasible child node to the Children set and proceed to check the child nodes in other directions. If no feasible child node is obtained, then proceed directly to check the child nodes in other directions. When the child nodes in all directions have been checked, proceed to step seven.
[0042] The specific steps for optimizing the PATH in step nine are as follows:
[0043] 9.1: Let PATHNEW be the optimized waypoint set, which is initially empty; calculate the total number of pathpoints N. PATH Add START to the PATHNEW set and set cnt = 2;
[0044] 9.2: Take out the cnt-th point PI in PATH, calculate the length of the path formed by the first k points in PATHNEW and PI, where k is less than or equal to the number of points in PATHNEW, and perform obstacle collision detection and no-fly zone detection in step six on the path, as well as aircraft turning performance constraint judgment. If the obstacle collision detection and no-fly zone detection are passed and the aircraft turning performance constraint is satisfied, then the path is retained.
[0045] 9.3: Compare the lengths of the paths retained in step 9.2 and find the shortest path. Save the path points corresponding to the shortest path in PATHNEW and increment cnt by 1.
[0046] 9.4: Repeat steps 9.2 and 9.3 until cnt equals N. PATH At that time, the optimized route PATHNEW is obtained.
[0047] The beneficial effects of this invention are that it comprehensively considers terrain factors and the specific conditions of forest fires, combined with the aircraft's own performance constraints, to provide safer flight routes for aircraft. Compared to the original A* algorithm, the method of this invention significantly reduces search time by reducing the number of search points, while also solving the problem of frequent turns in the paths planned by the original A* algorithm, effectively shortening the flight path distance. This improved A* algorithm-based three-dimensional flight path planning method for firefighting aircraft provides a usable solution to the flight path planning problem in forest firefighting missions. Attached Figure Description
[0048] Figure 1 This is a flowchart of the improved A* algorithm of the present invention.
[0049] Figure 2 This is a schematic diagram illustrating the search direction calculation of the present invention.
[0050] Figure 3 This is a schematic diagram illustrating the calculation of the minimum turning radius of the present invention.
[0051] Figure 4 This is a schematic diagram of the no-fly zone detection method of the present invention.
[0052] Figure 5 This is a flowchart of the binary iterative search step size of the present invention.
[0053] Figure 6 This is a schematic diagram showing the results of an embodiment of the present invention. Detailed Implementation
[0054] The present invention will be further described below with reference to the accompanying drawings and embodiments.
[0055] The method of this invention mainly includes two aspects: path planning and route redundancy point processing. The path planning uses an improved A* algorithm to address the problems of slow node search, excessive searching of useless nodes, and frequent turns in 3D maps. Route redundancy point processing mainly involves further route optimization to reduce route length. Specifically, it includes the following steps:
[0056] Step 1: Load map information.
[0057] The terrain file containing elevation information for the forest area is loaded and processed using a raster map method, with each raster size consistent with the accuracy of the terrain file. The area to be planned is a 20km × 20km rectangular region, with each raster being 1000m long. This raster map can be represented as a 20 × 20 matrix M, where the element M(i,j) records the elevation value of the map. No-fly zone information is loaded, with a sphere representing the fire zone and a cylinder representing areas affected by localized extreme weather, tall buildings such as power towers, etc. Aircraft flight poses a safety hazard in these areas, therefore, operations should avoid these areas.
[0058] Step 2: Initialize the various parameters of the algorithm.
[0059] Set the starting point START coordinates as (2,2,2) and the extinguishing agent delivery point GOAL(16,17,2.5). First, initialize the OPEN and CLOSE lists, set the maximum search step size S = 8, and set the search angle set ANGLE = {(-α,0),(-α,γ),(0,γ),(α,γ),(α,0),(-α,0),(α,-γ),(0,-γ),(-α,-γ),(0,0)}, where α = γ = 20°; set the minimum turning radius of the aircraft r = 800m, which can be set according to the actual aircraft performance; set the maximum number of binary iterations n = 5.
[0060] Then, the starting point is added to the OPEN list, and the fitness value F(n) = 20.5244 is calculated.
[0061] Step 3: Check if the OPEN list is empty. If there are no nodes in the OPEN list, path planning fails. If there are nodes in the OPEN list, retrieve the current node R with the smallest F(n) value from the OPEN list, delete it from the OPEN list, and add it to the CLOSE list. If R is within a certain range of GOAL, it means that the extinguishing agent delivery point GOAL has been found, and proceed to step 8; otherwise, proceed to step 4.
[0062] Step 4: Search for child nodes of R, and store the coordinates of feasible child nodes in the Children collection. The search strategy is as follows:
[0063] First, determine the search direction, such as... Figure 2 As shown, first determine the direction of the line R_GOAL connecting the current node R and GOAL. Then, determine the search direction of each child node within the search range based on the central child node. Taking the current node R as START(2,2,2) as an example, the parameters calculated according to the formula are shown in the table below:
[0064]
[0065] Step 5: Determine the constraints on the aircraft's turning performance.
[0066] With one of the child nodes For example, its corresponding relative direction is (26.97°, 1.39°), which can be calculated using the following formula. RA = 5286.4m, which is greater than the minimum turning radius r, so the minimum turning radius constraint is satisfied and we can proceed to step six; otherwise, we will take the next child node for judgment.
[0067]
[0068]
[0069] Step Six: Obstacle Collision and No-Fly Zone Detection. Starting with the child nodes of the current node R... For example, obstacle collision detection is first performed. Since the method of this invention does not search according to grid points, there are cases with small values. The coordinates at altitude 2.19 are greater than the average of the eight integer grid points (0.0019), thus passing obstacle collision detection; then, no-fly zone detection is performed, because... Near the hemispherical no-fly zone, The distance to the center of the hemisphere is greater than the radius of the hemisphere. Calculate Therefore and Without bypassing no-fly zone detection, a binary search for new child nodes is performed iteratively. The specific steps for binary search iteration in this embodiment are as follows:
[0070] ① Let lower = 0, upper = S, and cnt = 0, then calculate mid = (upper + lower) / 2 = 4.
[0071] ② Using mid as the new step size Step, re-search for nodes in this direction and perform aircraft turning performance constraint judgment, obstacle collision and no-fly zone detection. If successful, set lower = mid and Child equal to the coordinates of the current node; if unsuccessful, set upper = mid. Recalculate mid = (upper + lower) / 2 and set cnt = cnt + 1;
[0072] ③ If cnt > n at this point, it means there are no feasible points in that direction. Select a point in the next direction to search and go to step five; if cnt ≤ n, go to step ② to continue the search.
[0073] In this embodiment, after binary iterative search, the feasible child node coordinates in the (26.97°, 1.39°) direction are (5.68, 3.87, 2.10). After adding it to the Children set, the search continues for child nodes in other directions.
[0074] Once all child nodes in all directions have been detected, proceed to the next step.
[0075] Step 7: Extract feasible child nodes of R from the Children set, calculate F(n), g(n), and h(n) of each feasible child node, and add them to the OPEN list. Set R as its parent node. If the node is already in the OPEN list, check if the distance from R to the node (i.e., g(n)) is smaller than the already recorded g(n) value. If it is smaller, set R as the parent node of the node and recalculate F(n). After updating the OPEN list, return to Step 3.
[0076] Step 8: The processing of the OPEN list and the CLOSE list in this embodiment is as follows:
[0077] OPEN CLOSE (2,2,2) (5.67,3.87,2.10),(5.31,3.69,3.45),(4.39,4.56,2.09),… (2,2,2) (5.67,3.87,2.10),(5.31,3.69,3.45),(4.54,4.72,3.45),… (2,2,2),(4.39,4.56,2.09) (5.67,3.87,2.10),(5.31,3.69,3.45),(4.54,4.72,3.45),… (2,2,2),(4.39,4.56,2.09),(3.94,4.08,1.42) … …
[0078] Set the current node R as the parent node of GOAL, and then start from GOAL to perform path backtracking according to the parent node information of each node, and obtain the initial three-dimensional waypoint set PATH based on the improved A* algorithm search strategy as follows:
[0079] PATH = {(2, 2, 2), (5.31, 3.69, 3.45), (7.92, 6.93, 4.71), (12.31, 9.60, 5.64), (13.05, 11.09, 5.01), (15.77, 13.66, 3.59), (16, 17, 2.5)}
[0080] Step 9: Further optimize PATH using the redundant point processing strategy. The specific steps of this strategy are as follows:
[0081] ① Set the total number of path points as N PATH , add START to the set PATHNEW, and set cnt = 2;
[0082] ② Take out the cnt-th point PI in PATH. When cnt = 3, that is, take out the point (7.92, 6.93, 4.71), and calculate the length of the path formed by the first k points in PATHNEW and PI, where k is less than or equal to the number of points in PATHNEW. At this time, since there are only two points (2, 2, 2) and (5.31, 3.69, 3.45) in PATHNEW, k takes the values of 1 and 2. When k = 1, calculate the length l1 from (2, 2, 2) to (7.92, 6.93, 4.71) as 8.17, and pass the obstacle collision detection and no-fly zone detection; when k = 2, calculate the length l2 from (2, 2, 2) to (5.31, 3.69, 3.45) and then to (7.92, 6.93, 4.71) as 8.34, pass the obstacle collision detection and no-fly zone detection, and both paths meet the minimum turning radius condition.
[0083] ③ Since l1 < l2, the path length from (2, 2, 2) to (7.92, 6.93, 4.71) is the smallest, record it in PATHNEW, and let cnt increment by 1;
[0084] ④ Repeat steps ② and ③. When cnt is equal to N PATH , the optimized route PATHNEW is:
[0085] PATHNEW={(2,2,2),(5.31,3.69,3.45),(12.31,9.60,5.64),(13.05,11.09,5.01),(15.77,13.66,3.59),(16,17,2.5)}
[0086] In this embodiment, the route planning took 0.81 seconds. The route length without redundancy point processing was 22862.81m, with only three turns. The route length after redundancy point processing was 22711.62m, a reduction of 151.19m, with fewer turns, and the redundancy point processing time was only 0.7ms. The final planning result of this embodiment is as follows: Figure 6 As shown, the dashed lines represent routes that have not undergone redundancy point processing, while the solid lines represent routes that have undergone redundancy point processing.
Claims
1. A three-dimensional route planning method for firefighting aircraft based on an improved A* algorithm, characterized in that... Includes the following steps: Step 1: Load map information; Load the terrain file of the forest area containing elevation information, and process the terrain using a raster method to obtain a raster map. Each raster cell has the same size and precision as the terrain file. The raster map is represented as a two-dimensional array M, where each element of the array... Each item represents a grid cell, and each value corresponds to an elevation value on the map. Load no-fly zone information. The no-fly zone is the area within the range where the fire is located. You can also set the no-fly zone yourself. Step 2: Parameter initialization; First, set the starting point START and the extinguishing agent delivery point GOAL. Initialize the OPEN list for storing node information and the CLOSE list for storing processed node information. Set the search angle set as follows. ,in , The two search angles are adjusted according to the complexity of the terrain. When there are too many obstacles and the current search angle cannot be used to complete the route planning, the search angle is increased to avoid getting stuck in a local point. The maximum search step size is set to S, the minimum turning radius of the aircraft is r, the maximum number of binary search iterations is n, and the end search distance is L. Add the starting point START to the OPEN list and calculate the fitness value using the following formula. The fitness value used as the starting point: ; in, Indicates the initial point START to the node The actual route length is the sum of each segment of the route; Represents a node Distance to GOAL; Step 3: Check if the OPEN list is empty. If the OPEN list has no nodes, path planning fails; if the OPEN list has nodes, retrieve the node with the smallest value. The node with the value is denoted as node R. Node R is removed from the OPEN list and added to the CLOSE list. If the distance between the current node R and GOAL is less than or equal to the end search distance L, it means that the extinguishing agent delivery point GOAL has been found, and step eight is performed. If the distance between node R and GOAL is greater than the end search distance L, step four is performed. Step 4: Search for child nodes of R; Step 5: Determine the aircraft's turning performance constraints; Take one of the child nodes Determine if R reaches the child node. Does the path satisfy the aircraft's minimum turning radius constraint? Calculate the current flight direction and R. Angle between the lines The calculation formula is as follows: ; in , , Let R be the coordinates of its parent node; then calculate... ,like If the minimum turning radius constraint is not met, the process switches to judging child nodes in other directions; if the constraint is met... Then proceed to step six; Step Six: Obstacle collision and no-fly zone detection, used to determine whether a child node is a feasible point; Step 7: Extract feasible child nodes of R from the Children set. Calculate feasible child nodes , , Add it to the OPEN list and set R to The parent node; if the node If it's already in the OPEN list, check the path from R to that node. Is the distance greater than the previously recorded distance? If the value is smaller, then set R to that node. The parent node, and recalculate After updating the OPEN list, return to step three. Step 8: Let PATH be the set of waypoints, initially empty. Set the current node R as the parent node of GOAL, and then consider GOAL as the starting point of the backtracking path. Add to PATH, read The parent node serves as the next path point in the backtracking path. Add it to PATH, and then read it. The parent node serves as the next path point in the backtracking path. Add it to PATH, and so on, until the starting point START is read and added to PATH, then the backtracking ends and PATH is sorted in reverse order, thus obtaining the initial three-dimensional waypoint set PATH based on the improved A* algorithm search strategy; Step 9: Use the redundancy point handling strategy to further optimize the route PATH, resulting in the optimized route PATHNEW.
2. The three-dimensional route planning method for firefighting aircraft based on the improved A* algorithm according to claim 1, characterized in that: In step one, the no-fly zone is abstracted into two categories: hemisphere and cylinder. The no-fly zone in the fire area is abstracted as a hemisphere, while obstacles are represented by cylinders. Other irregularly shaped no-fly zones are converted into a hemisphere and a cylinder through expansion processing.
3. The three-dimensional route planning method for firefighting aircraft based on the improved A* algorithm according to claim 1, characterized in that: The Represents a node The distance to GOAL is calculated using Euclidean distance.
4. The three-dimensional route planning method for firefighting aircraft based on the improved A* algorithm according to claim 1, characterized in that: Step four involves searching for child nodes of R, using the following search strategy: First, determine the search direction, and store the coordinates of feasible child nodes in the Children collection; then, determine the connection between the current node and GOAL. In the direction, then The direction serves as the baseline direction to determine the search direction for each child node within the search range. The specific calculation formula is as follows: ; ; ; ; ; express The angle between the projection onto the XY plane and the X-axis. express The angle between the plane XY and the plane; Indicates the coordinates of the current point; The coordinates representing GOAL; This represents the k-th value in the i-th group of angles in the search angle set, where k takes the values 1 and 2, and i takes the values 1 and 2. ; Indicates the i-th search direction; , The search direction and angle for child nodes; Then, using the maximum search step size S, the following calculations are performed: ; Obtain the coordinates of child nodes in different search directions .
5. The three-dimensional route planning method for firefighting aircraft based on the improved A* algorithm according to claim 1, characterized in that: Step six involves obstacle collision and no-fly zone detection; these are used to determine whether a child node is a feasible point, and the following two steps are performed sequentially: ① Obstacle collision detection: The vertical coordinate is compared with the elevation value of the corresponding coordinate on the map. The elevation value of non-integer coordinates is the average of the elevation values of the eight integer coordinate points around that coordinate. If the z value of the child node is less than the elevation value of the corresponding coordinate on the map, then it fails the obstacle collision detection. ② No-fly zone inspection: No-fly zones are represented in two forms: hemispherical and cylindrical. For hemispherical no-fly zones, the following measures are taken to ensure... With the center of the bottom of the no-fly zone The distance is greater than the radius of the no-fly zone. For a cylindrical no-fly zone, both conditions must be met simultaneously. These two conditions refer to... The projection point on the XY plane to the center of the bottom circle of the no-fly zone The distance is greater than the radius of the no-fly zone ,or The height is greater than the height of the cylindrical no-fly zone If either of the two conditions is not met, the no-fly zone detection fails. Then, a second check of the no-fly zone detection is performed, projecting the hemispherical and cylindrical no-fly zones onto the XY plane, and calculating R and R' respectively. connection The line connecting R to the center of the no-fly zone The angle between , The angle between the line and the tangent line passing through R is , length Tangent length ,if and This means that the flight did not pass the no-fly zone inspection; If the child node Simultaneously, by passing obstacle collision detection and no-fly zone detection, the child node will be... Consider it a feasible child node; if the child node If both obstacle collision detection and no-fly zone detection cannot be passed simultaneously, use binary iterative search to find new child nodes in that direction, and repeat the aircraft turning performance constraint judgment in step five and the obstacle collision and no-fly zone detection in step six. The iteration ends when the number of iterations reaches the maximum number of binary iterations n. If a feasible child node is found, it is added to the Children set, and then the process moves to check child nodes in other directions. If no feasible child node is found, the process moves to check child nodes in other directions. Once all child nodes in all directions have been checked, proceed to step seven.
6. The three-dimensional route planning method for firefighting aircraft based on the improved A* algorithm according to claim 1, characterized in that: The specific steps for optimizing the PATH in step nine are as follows: 9.1: Let PATHNEW be the optimized waypoint set, which is initially empty; calculate the total number of pathpoints. Add START to the PATHNEW set and set cnt = 2; 9.2: Take out the cnt-th point PI in PATH, calculate the length of the path formed by the first k points in PATHNEW and PI, where k is less than or equal to the number of points in PATHNEW, and perform obstacle collision detection and no-fly zone detection in step six on the path, as well as aircraft turning performance constraint judgment. If the obstacle collision detection and no-fly zone detection are passed and the aircraft turning performance constraint is satisfied, then the path is retained. 9.3: Compare the lengths of the paths retained in step 9.2 and find the shortest path. Save the path points corresponding to the shortest path in PATHNEW and increment cnt by 1. 9.4: Repeat steps 9.2 and 9.3, when cnt equals At that time, the optimized route PATHNEW is obtained.