UAV situation planning system and method
By customizing the preset step size and search angle, combining terrain, environment and climate data, drone path planning is adjusted in real time, solving the accuracy and efficiency of path planning in complex mountainous environments, and achieving efficient and safe path generation.
Patent Information
- Application Number
- CN202510726212.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-03
- Publication Date
- 2025-08-12
- Estimated Expiration
- 2045-06-03
AI Technical Summary
In complex mountainous environments, it is difficult to achieve coordinated optimization of accuracy and computing efficiency. In the prior art, fixed step size and search angle cause the path to deviate from the target safety detection threshold, requiring frequent manual intervention, increasing energy consumption and computing overhead.
Customize the preset step size and preset search angle, combine terrain, environment and climate data, adjust the path planning parameters in real time, generate target paths, and ensure the balance of path accuracy and calculation efficiency.
It improves the patrol efficiency and safety of drones in complex mountainous environments, reduces computing time and resource consumption, ensures path accuracy and continuity, and improves emergency response capabilities.
Smart Images

Figure CN120252739B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of unmanned aerial vehicle (UAV) equipment, and in particular to a UAV situation planning system and method. Background Art
[0002] The UAV situational system is based on the dynamic fusion of geographic information and flight data to enable real-time drone status monitoring, airspace environment perception, and route planning. Power inspection drones, as equipment for the operation and maintenance of high-voltage transmission lines, operate in complex mountainous environments, such as mountainous areas. These drones must perform long-distance flights along the transmission network to conduct routine inspections and emergency investigations. Routine inspections involve periodic flights along preset routes to achieve refined detection of surface defects in transmission facilities. Emergency investigations involve dynamically adjusting routes after sudden incidents such as lightning strikes and geological disasters to avoid new obstacles and locate fault points. In complex mountainous environments, the terrain is complex, prone to dynamic environmental interference, and obstacles are dense. In such scenarios, the UAV situational system must meet the requirements of drone path planning with high operational efficiency and environmental adaptability.
[0003] Current drone path planning technology is based on the A-star algorithm framework. The preset step size and preset search angle in the A-star algorithm are fixed values of the algorithm. The path planned based on the algorithm's fixed values is prone to deviate from the target safety detection threshold or generate a discontinuous oscillating path. The generated oscillating path also requires frequent manual intervention, and the adjustment of control instructions further aggravates the reduction in energy efficiency. During the execution of the algorithm, the preset step size and search direction can also be adjusted in real time according to the complexity of the local environment. However, the implementation of the parameters increases the computational overhead and cannot meet the power grid emergency response standards.
[0004] In summary, it is difficult to achieve coordinated optimization of UAV path planning accuracy and computational efficiency in complex mountainous scenes. Summary of the Invention
[0005] The present application provides a UAV situation planning system and method to solve the problem of difficulty in achieving coordinated optimization of UAV path planning accuracy and computational efficiency.
[0006] In a first aspect, the present application provides a UAV situation planning system, comprising:
[0007] a custom data module for obtaining a preset step length and a preset search angle, wherein the preset step length and the preset search angle are user-entered data; the preset step length is a straight-line distance parameter between adjacent waypoints and is used to control the resolution of path generation; the preset search angle is an adjustable direction parameter and is used to constrain the search direction of the path; the preset step length and the preset search angle are set based on the first terrain data, the first environmental data, and the first climate data;
[0008] an adjustment module, configured to adjust the preset step size and the preset search angle based on the second terrain data, the second environment data, and the second climate data;
[0009] A data acquisition module is used to obtain a preset step size, a preset search angle, and a heuristic function value;
[0010] If the data anomaly rate of the second environmental data and the second climate data is less than or equal to a threshold, the route planning module is used to obtain a target node;
[0011] Generating first candidate neighboring points based on the target node, and calculating total distance values of the first candidate neighboring points to update a candidate list and an explored list to generate a plurality of first candidate paths, wherein the first candidate paths include a plurality of segments, each of the segments corresponding to a preset step size and a preset search angle;
[0012] Calculating a path cost of each of the first candidate paths, wherein a method for calculating each of the first candidate paths includes:
[0013] Calculating the path weight of the flight segment using the preset step size and the preset search angle;
[0014] Calculating the product of the path weights of the plurality of flight segments and a preset step length to obtain a flight segment weight value;
[0015] Summing up the segment weights of the multiple segments to obtain a path cost of the first candidate path;
[0016] Calculate the heuristic function value, where the heuristic function value is the straight-line distance from the current node to the end point;
[0017] Performing weighted summation on the path cost value and the heuristic function value corresponding to each of the first candidate paths to obtain a first total cost value corresponding to each of the first candidate paths;
[0018] Determine a minimum first total cost value from the first total cost values corresponding to the plurality of first candidate paths, and determine the first candidate path corresponding to the minimum first total cost value as the first target path;
[0019] If the data anomaly rate of the second environmental data and the second climate data is greater than a threshold, the route planning module is used to
[0020] for marking unreachable neighboring points in a plurality of the first candidate paths to generate a plurality of second candidate paths, wherein the second candidate paths include a plurality of flight segments, each of the flight segments corresponding to an adjusted preset step size and a preset search angle;
[0021] Calculate the path cost of each second candidate path, wherein the calculation method of each second candidate path includes:
[0022] Calculating the path weight of the flight segment using the adjusted preset step size and preset search angle;
[0023] Calculating the product of the path weights of the plurality of flight segments and a preset step length to obtain a flight segment weight value;
[0024] summing the segment weights of the plurality of segments to obtain a path cost of the second candidate path;
[0025] Performing weighted summation on the path cost value and the heuristic function value corresponding to each second candidate path to obtain a calculated second total cost value corresponding to each second candidate path;
[0026] Determine the minimum second total cost value from the second total cost values corresponding to the plurality of second candidate paths, and determine the second candidate path corresponding to the minimum second total cost value as the second target path.
[0027] In some feasible embodiments, the route planning module is further configured to:
[0028] Define a candidate list and an explored list, and obtain a target node from the candidate list, where the target node is the node with the smallest total distance value, where the total distance value is the sum of the flight distance and the straight-line distance;
[0029] Generate neighboring points according to the target node, where the neighboring points are candidate neighboring points generated based on the preset step size and the preset search angle;
[0030] Calculating the total distance value of the neighboring points to update the candidate list and the explored list;
[0031] If the current node is an end point in the updated candidate list, generating a first candidate path based on the current node;
[0032] Perform reachability verification on the first candidate path, and generate a first target path based on the candidate path that passes the verification.
[0033] By defining a candidate node and neighbor node update mechanism, the path search process is optimized, the path cost is reduced, and the generated path is ensured to have a lower flight distance and higher reliability, thereby improving the inspection efficiency of UAVs in complex mountainous environments.
[0034] In some feasible embodiments, the route planning module is further configured to:
[0035] Obtain no-fly zones and occupied areas;
[0036] Calculating a straight line path, where the straight line path is a straight line path from the target node to the neighboring node;
[0037] If the neighboring point is located in a no-fly zone, and / or if the straight path passes through the occupied area, marking the neighboring point as an unreachable node and generating a first candidate neighboring point;
[0038] Updating the candidate list based on the first candidate neighbor point, and calculating a first actual flight distance and a heuristic function value;
[0039] A first target path is generated based on the candidate list, the first actual flight distance, and the heuristic function value.
[0040] By identifying no-fly zones and occupied areas, drones can assess flight safety in real time, effectively avoid obstacles and dangerous areas, improve the accuracy and safety of path planning, and ensure that drones successfully complete inspection tasks in complex environments.
[0041] In some feasible embodiments, when generating the first target path, the route planning module is further configured to:
[0042] Calculating a heading angle change based on the candidate neighboring point, where the heading angle change is a heading angle change from the current node to the candidate neighboring point;
[0043] Determining an additional cost value based on the heading angle change, where the additional cost value is positively correlated with the heading angle change;
[0044] updating the first actual flight distance based on the additional cost value to generate a second actual flight distance, where the second actual flight distance is the additional cost value plus the first actual flight distance;
[0045] A third target path and a fourth target path are generated, wherein the third target path is a path corresponding to the sum of the first actual flight distance and the straight-line distance, and the fourth target path is a path corresponding to the sum of the second actual flight distance and the straight-line distance.
[0046] The change in heading angle and its impact on the path cost make route planning more refined, effectively reduce oscillations and deviations during flight, improve the continuity and smoothness of the path, and ensure the efficiency and stability of radio monitoring tasks.
[0047] In some feasible embodiments, the route planning module is further configured to:
[0048] If the first candidate neighbor point cannot be generated, obtain the starting point and the end point;
[0049] Marking the end point as the reverse starting point, and marking the starting point as the reverse end point;
[0050] Generate a reverse neighbor point set based on the preset step size and the preset search angle;
[0051] A target path is generated based on the reverse neighbor point set, where the first target path is a reverse path.
[0052] When candidate neighboring points cannot be generated, reverse path generation based on preset step size and preset search angle ensures the continuous execution of the UAV mission, which can improve the system's emergency response capability, enable the UAV to quickly adapt to the dynamically changing environment, and ensure the smooth progress of the inspection mission.
[0053] In some feasible embodiments, the custom data module is further used to:
[0054] Acquire a task mode, wherein the task mode is mode data obtained based on the evaluation of the task requirement information;
[0055] Adjust and call the preset step size and preset search angle according to the task mode;
[0056] The route planning module generates at least one second target path based on the adjusted preset step size and preset search angle.
[0057] Through the route planning module, multiple target paths are generated using optimized parameters to ensure that the UAV can achieve an effective balance between path planning accuracy and computational efficiency in complex mountainous scenarios.
[0058] In some feasible embodiments, the data acquisition module is further configured to:
[0059] Extract the aircraft list data from the data singleton;
[0060] matching a target aircraft in the aircraft list data based on a preset identifier;
[0061] If the match fails, get the matching time;
[0062] If the matching time is greater than the time threshold, deleting the identifier corresponding to the target aircraft;
[0063] If the matching time is less than or equal to the time threshold, an instance of the target aircraft is created and bound.
[0064] The data acquisition module effectively reduces drone management overhead through real-time aircraft matching and instance creation, ensures efficient scheduling and execution of drone missions, and improves the response speed and task accuracy of inspection operations.
[0065] In some feasible embodiments, the route planning module includes a coordinate system conversion unit for converting latitude and longitude coordinates into projection coordinates, wherein the projection coordinates include a starting point, an end point, and obstacle coordinates;
[0066] a topology construction unit, configured to determine the distance between adjacent waypoints based on the preset step size, and generate a variable neighbor point set based on the preset search angle;
[0067] an obstacle detection unit, configured to perform reachability detection on the variable neighboring point set to generate a node set;
[0068] A path generation unit is configured to generate at least one first target path based on the node set, the preset step size, the path cost value, and the heuristic function value.
[0069] The coordinate system conversion and topology construction functions of the route planning module improve the compatibility between different coordinate systems and the flexibility of path updates, ensuring the generation of accurate routes in complex terrain and further enhancing the reliability of UAV mission execution.
[0070] In some feasible embodiments, the route planning module further includes a map interface unit and a map instance unit. The map interface unit is used to load and switch a map engine, and the map instance unit is used to:
[0071] Obtaining user configuration parameters and environment parameters, and determining a map service type based on the user configuration parameters and environment parameters;
[0072] Loading a development library of the map engine according to the map service type, wherein the development library is used to provide geographic data;
[0073] The geographic data is sent to the coordinate system conversion unit.
[0074] The integration of the map interface unit and the map instance unit optimizes the acquisition and switching of geographic data, allowing the UAV to quickly adapt to different geographic information in complex environments and improve the real-time and responsiveness of route planning.
[0075] In a second aspect, the present application provides a UAV situation planning method, comprising:
[0076] a custom data module for obtaining a preset step length and a preset search angle, wherein the preset step length and the preset search angle are user-entered data; the preset step length is a straight-line distance parameter between adjacent waypoints and is used to control the resolution of path generation; the preset search angle is an adjustable direction parameter and is used to constrain the search direction of the path; the preset step length and the preset search angle are set based on the first terrain data, the first environmental data, and the first climate data;
[0077] an adjustment module, configured to adjust the preset step size and the preset search angle based on the second terrain data, the second environment data, and the second climate data;
[0078] A data acquisition module is used to obtain a preset step size, a preset search angle, and a heuristic function value;
[0079] If the data anomaly rate of the second environmental data and the second climate data is less than or equal to a threshold, acquiring a target node;
[0080] Generating first candidate neighboring points based on the target node, and calculating total distance values of the first candidate neighboring points to update a candidate list and an explored list to generate a plurality of first candidate paths, wherein the first candidate paths include a plurality of segments, each of the segments corresponding to a preset step size and a preset search angle;
[0081] Calculating a path cost of each of the first candidate paths, wherein a method for calculating each of the first candidate paths includes:
[0082] Calculating the path weight of the flight segment using the preset step size and the preset search angle;
[0083] Calculating the product of the path weights of the plurality of flight segments and a preset step length to obtain a flight segment weight value;
[0084] Summing up the segment weights of the multiple segments to obtain a path cost of the first candidate path;
[0085] Calculating a heuristic function value, where the heuristic function value is the straight-line distance from the current node to the end point; performing a weighted sum of the path cost value corresponding to each of the first candidate paths and the heuristic function value to obtain a first total cost value corresponding to each of the first candidate paths;
[0086] Determine a minimum first total cost value from the first total cost values corresponding to the plurality of first candidate paths, and determine the first candidate path corresponding to the minimum first total cost value as the first target path;
[0087] If the data anomaly rate of the second environmental data and the second climate data is greater than a threshold, marking multiple neighboring points in the first candidate paths as unreachable to generate multiple second candidate paths, where the second candidate paths include multiple segments, each segment corresponding to an adjusted preset step size and a preset search angle;
[0088] Calculate the path cost of each second candidate path, wherein the calculation method of each second candidate path includes:
[0089] Calculating the path weight of the flight segment using the adjusted preset step size and preset search angle;
[0090] Calculating the product of the path weights of the plurality of flight segments and a preset step length to obtain a flight segment weight value;
[0091] summing the segment weights of the plurality of segments to obtain a path cost of the second candidate path;
[0092] Performing weighted summation on the path cost value and the heuristic function value corresponding to each second candidate path to obtain a calculated second total cost value corresponding to each second candidate path;
[0093] Determine the minimum second total cost value from the second total cost values corresponding to the plurality of second candidate paths, and determine the second candidate path corresponding to the minimum second total cost value as the second target path.
[0094] It can be seen from the above technical solution that the present application provides a UAV situation planning system and method, the system includes: a custom data module, an adjustment module, a data acquisition module and a route planning module, the custom data module acquires a preset step size and a preset search angle, the preset step size and the preset search angle are data input by the user, the preset step size is a straight-line distance parameter between adjacent waypoints, which is used to control the resolution of path generation, the preset search angle is an adjustable direction parameter, which is used to constrain the search direction of the path, the preset step size and the preset search angle are set based on first terrain data, first environmental data, and first climate data; the adjustment module is used to adjust the preset step size and the preset search angle based on second terrain data, second environmental data and second climate data, the data acquisition module acquires the preset step size, the preset search angle and the heuristic function value; if the data anomaly rate of the second environmental data and the second climate data is less than or equal to the threshold, the route planning module acquires A target node; generating a first candidate neighboring point based on the target node, and calculating a total distance value of the first candidate neighboring point to update a candidate list and an explored list to generate a first candidate path; adjusting the path cost value by the preset step size and the preset search angle; calculating a first total cost value by the path cost value and the heuristic function value, and screening a first target path from the candidate paths, wherein the first target path is generated based on a user-defined preset step size and a preset search angle, and if the data anomaly rate of the second environmental data and the second climate data is greater than a threshold, the route planning module is used to mark the unreachable neighboring points in the first candidate path to generate a second candidate path; adjusting the path cost value by the adjusted preset step size and the preset search angle; calculating a second total cost value by the adjusted path cost value and the heuristic function value, and screening a second target path from the second candidate path, wherein the second target path is generated based on data obtained in real-time flight. Before the planning algorithm is executed, the system allows users to customize preset step sizes and preset search angles to achieve efficient path planning. In complex mountain scenes, the system monitors the anomaly rate of secondary terrain, environmental and climate data in real time. If the anomaly rate is lower than the threshold, path planning is performed based on user settings; if it is higher than the threshold, the parameters are automatically adjusted, thereby effectively coordinating the accuracy and computational efficiency of path planning, and improving the adaptability and execution capabilities of drones in complex environments. BRIEF DESCRIPTION OF THE DRAWINGS
[0095] In order to more clearly illustrate the technical solution of the present application, the following is a brief introduction to the drawings required for use in the embodiments. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0096] Figure 1 A schematic diagram of the structure of the UAV situation planning system provided in an embodiment of the present application;
[0097] Figure 2 A schematic diagram of drone data acquisition provided in an embodiment of the present application;
[0098] Figure 3 A schematic diagram of the path planning algorithm flow provided in an embodiment of the present application;
[0099] Figure 4 A schematic diagram of waypoint information display provided in an embodiment of the present application. DETAILED DESCRIPTION
[0100] The following embodiments are described in detail, with examples illustrated in the accompanying drawings. When the following description refers to the drawings, identical numerals in different figures represent identical or similar elements unless otherwise indicated. The embodiments described in the following embodiments are not intended to represent all possible implementations consistent with the present application. They are merely examples of systems and methods consistent with certain aspects of the present application.
[0101] The UAV situation system is based on the dynamic fusion technology of geographic information and flight data to realize the real-time status monitoring, airspace environment perception and route planning functions of UAV.
[0102] In mountainous areas, power facility inspections place high demands on the application of drone technology. High-voltage transmission lines stretch as far as 50 kilometers, and the operating environment is complex and ever-changing, posing challenges to drone path planning and mission execution. In this context, drones are tasked with two primary missions: routine inspections and emergency investigations.
[0103] For routine inspections, drones fly daily on fixed routes to ensure the safe operation of high-voltage transmission equipment. This task primarily involves rapid scanning of towers and their components. Specifically, these inspections require drones to effectively identify and assess potential hazards, such as loose tower bolts and the integrity of insulators. This allows for timely warning and elimination of potential risks, ensuring stable power supply.
[0104] For emergency inspections, following incidents like lightning strikes, power facilities are highly likely to be damaged. Drones performing these tasks must be able to quickly adjust their flight paths, avoid potential landslides, accurately and quickly locate the fault, and conduct timely assessments and documentation to aid in subsequent repairs. These missions require drones to possess a high degree of flexibility and real-time responsiveness to ensure optimal decision-making and response in emergencies.
[0105] Mountainous terrain, including steep ridges, deep valleys, and undulating slopes, can lead to complex and variable flight paths. For example, mountains and canyons create a complex flight environment, making navigation and path planning challenging. Furthermore, natural obstacles such as rocks and landslides can hinder normal flight.
[0106] Dense vegetation cover, including forests, shrubs, and grasslands, can lead to reduced visibility and interference with signals. For example, dense forest cover can cause signal obstruction and reduced visibility, affecting the sensor performance and flight control of drones.
[0107] Furthermore, mountainous environments are subject to highly variable weather conditions, such as sudden rainfall, fog, and fluctuating wind speeds. These meteorological factors can affect a drone's flight stability and path planning. For example, in mountainous areas, when sunlight reaches the top of a mountain, cumulus clouds can quickly form, leading to rain or snowstorms. This climatic variation can not only affect a drone's flight stability but also cause sensor failures or abnormal data readings. Furthermore, strong winds and air currents fluctuating up and down mountain ridges and valleys can disrupt a drone's flight path and control systems.
[0108] Considering the complexity of the terrain, the diversity of the environment and the unpredictability of the climate, the application of drones in mountainous areas requires flexible adaptability and efficient path planning capabilities to ensure the smooth completion of the mission.
[0109] During power inspections, the environmental characteristics of the area must be fully considered, as these characteristics have a profound impact on the operation and path planning of drones.
[0110] Mountainous regions often feature complex terrain, including V-shaped canyons, steep ridges, and dense forest cover. This can impose various limitations on drone flight. High-precision lidar systems, in particular, are often affected by the terrain, resulting in measurement errors. Accurately locating obstacles and clearly planning paths are impossible in such environments.
[0111] In mountainous regions, weather conditions are highly variable, especially in canyons, where sudden crosswinds can threaten a drone's flight stability. Furthermore, low-lying clouds can block radio and GPS signals, disrupting the drone's positioning and navigation algorithms. These factors can affect a drone's flight efficiency and the accuracy of its path planning.
[0112] When performing inspections, drones must also consider the impact of fixed obstacles, such as closely spaced transmission towers and steel cables crossing rivers. These obstacles can affect the drone's flight path. Therefore, effective path planning requires fully considering the location and characteristics of these obstacles when designing algorithms to ensure the drone can perform its mission safely and efficiently.
[0113] Current drone inspection solutions use algorithms to set fixed step sizes and search angles, for example, a 500-meter step size. This results in a significant distance between the drone's flight path and the target tower, averaging 80 meters. This excessive distance often prevents the drone from capturing important defects, particularly small bolt-level defects that can cause major failures. Consequently, the fixed step size setting fails to meet the requirements for precise detection, leading to missed inspections and compromising the comprehensiveness and effectiveness of inspections.
[0114] In actual route planning, a fixed search angle setting, such as 45°, results in the drone only being able to generate a pre-set zigzag route in narrow canyon environments. In this mode, the drone cannot accurately navigate complex terrain, often requiring manual insertion of waypoints to avoid obstacles such as wire ropes, significantly increasing inspection time and reducing mission efficiency.
[0115] While the traditional A-star reverse search algorithm provides relatively ideal path planning, it requires traversing the entire map, which takes a long time to calculate the path. For a 50-kilometer inspection route, this method can result in calculation times exceeding 30 minutes. This time delay is insufficient for efficient response in power inspections, especially in emergency situations.
[0116] In summary, it is difficult to achieve the coordinated optimization of the accuracy and computational efficiency of UAV path planning in complex mountainous scenes. To solve the above problems, some embodiments of the present application provide a UAV situation planning system. Before the execution of the planning algorithm, the system sets a suitable preset step size and preset search angle through a custom data module, and combines terrain, environment and climate data to ensure that the resolution and angle constraints of path generation match the complexity of the mountain. This can improve the accuracy of path planning and reduce calculation time, thereby achieving the coordinated optimization of path planning accuracy and computational efficiency in complex mountainous scenes, ensuring that the UAV can fly safely and efficiently. There is no need to make adjustments during the execution process, which consumes task execution time and computing resources, and there is no need to use the fixed step size and search angle of the algorithm, which results in poor path matching.
[0117] like Figure 1As shown, the system includes a custom data module, an adjustment module, a data acquisition module, and a route planning module; wherein the custom data module is used to obtain a preset step size and a preset search angle.
[0118] The preset step size and preset search angle are user-defined parameters. The preset step size is the straight-line distance between adjacent waypoints and is used to control the resolution of the route generated. For example, 50 meters. The longer the step size, the faster the route calculation, but the rougher it is. Conversely, the slower the route calculation, but the smoother it will be.
[0119] The default search angle is the directional interval between neighbor points when generating them. This is an adjustable parameter used to constrain the path search direction, for example, 30°. Custom adjustments directly affect the accuracy, efficiency, and applicable scenarios of path planning. A longer default step size results in faster but rougher route calculation. Conversely, a lower default step size results in slower but smoother route calculation.
[0120] For adjacent waypoints, the preset step length may be the same or different. Similarly, for the preset search angles for adjacent waypoints, the preset search angles may be the same or different.
[0121] It is understandable that, for adjacent waypoints, when the same preset step size is set, the preset search angles may be the same or different; and when the same preset search angle is set, the preset step sizes may be the same or different.
[0122] For different preset step sizes, before obtaining the preset step size and preset search angle, the preset step size for different segments can be set based on terrain, environment, climate and other data. Terrain data can be obtained through GPS, topographic maps and remote sensing technology. These data include the height and slope of the mountain, and the distribution of surface cover such as trees and buildings.
[0123] Based on the terrain data obtained, the altitude differences in various areas can be marked. In mountainous areas, due to the height differences between mountains and valleys, the speed, stability, and energy efficiency requirements of aircraft at different altitudes are different.
[0124] Steeper slopes may require a slower flight speed, and the preset step length should be kept small to ensure controllability. On flat areas, the preset step length can be increased to improve flight efficiency.
[0125] The first terrain data, the first environmental data and the first climate data can be data in a historical database, or data collected on the same day. When customizing, the data in the historical database or the data collected on the same day can be used as a reference for customization.
[0126] Specifically, the temperature in mountainous areas is lower than in valleys, and snow and frost are more likely in spring, autumn, and winter. Low temperatures can cause problems such as battery degradation, slow flight control system response, and frost on components during drone flight.
[0127] Mountainous areas, due to the terrain, can experience strong updrafts, shifting wind directions, and drifting currents, especially between ridges and valleys. These airflow changes can cause the drone to wobble during flight, affecting its stability and maneuverability. In valleys, wind speeds are lower, but ground effect and localized wind direction can also cause irregularities in the airflow.
[0128] Clouds and fog can significantly reduce visibility in high mountains, impacting the drone's visual navigation system. In such environments, the effectiveness of images and sensors is limited, leading to inaccurate data collection. This means that traditional algorithms cannot dynamically adjust step sizes to solve route planning in mountainous areas. If real-time data is inaccurate or the anomaly rate of real-time data is less than or equal to a threshold, a target path is generated based on a user-defined preset step size and search angle.
[0129] The distribution and height variations of natural obstacles such as vegetation and rocks in alpine environments can create a collision risk for drones during flight. Clouds, fog, and haze can obscure these obstacles, making flight more difficult.
[0130] The second terrain data, the second environment data, and the second climate data acquired by the adjustment module are data acquired by the UAV during real-time flight.
[0131] If the data anomaly rate of the second environmental data and the second climate data is less than or equal to the threshold, the first target path is generated based on the user-defined preset step size and the preset search angle; if the data anomaly rate of the second environmental data and the second climate data is greater than the threshold, the second target path is generated based on the data obtained during real-time flight.
[0132] For data obtained during real-time flight, a first target path is generated. In some embodiments, mountain height information is obtained, the height difference between adjacent waypoints, that is, the vertical distance between the high point and the low point, is calculated, the segments with a height difference greater than a height difference threshold are counted, and the segments are marked as first segments, the segments with a height difference less than or equal to the height difference threshold are counted, and the segments are marked as second segments, the preset step length of the first segment is set to the first step length, and the preset step length of the second segment is set to the second step length, wherein the second step length is greater than the first step length.
[0133] It can be understood that when the second target path is generated by using data acquired during real-time flight, the preset step length is the adjusted preset step length, and the preset search angle is the adjusted search angle.
[0134] In path planning, waypoints are nodes on a drone's flight path. Adjacent waypoints are two adjacent points on the flight path. By calculating the altitude difference between adjacent waypoints, we can determine the altitude changes encountered during flight.
[0135] The acquired altitude information is combined with the altitude difference between adjacent waypoints to set different preset step sizes. In an algorithm based on altitude difference, the altitude difference between adjacent waypoints can be compared with the preset step size to determine whether to pre-set the step size during the ascending or descending segment.
[0136] When performing UAV flight missions in mountainous areas, facing complex altitude differences, setting different flight segments and pre-setting different step sizes for each segment allows the UAV to ascend and descend at a more stable speed during flight, reducing reliance on the flight control system. This reduces the problems caused by altitude changes in mountainous environments, saves time on dynamic adjustments during path planning, and improves planning efficiency.
[0137] For different preset step sizes, if the flight segment is the first segment, obtain environmental and climate data. If the abnormality rate of the environmental and climate data is greater than the threshold, set the first search angle. If the flight segment is the second segment, set the second search angle, wherein the first search angle is smaller than the second search angle.
[0138] That is to say, in this embodiment, the preset step size can be set first through the terrain data, and then based on the preset step size, combined with the terrain, environment, and climate data, the preset search angle can be set, that is, the preset search angle can be set based on the preset step size.
[0139] In the first leg, the environment is complex and prone to clouds, fog, haze, and obstacles. This means the environmental and climate data anomaly rate exceeds the threshold. Based on these conditions, a smaller preset search angle is set to enable quicker flight response and avoid collisions or obstacles. In the second leg, the environment is more open, so the preset search angle can be set to a larger value to capture more environmental information and optimize the path, ensuring the drone can flexibly respond to new obstacles or changing environmental conditions.
[0140] In addition, when setting the preset step size, you can consider not only the height difference of the terrain, but also the weather conditions and environmental obstacles. In the first leg, if the wind speed is strong, you need to set the step size smaller to ensure the stability of the aircraft.
[0141] For the same preset step length, multiple types may be set. In other embodiments, the preset step length may include two types, namely a first preset step length and a second preset step length.
[0142] The first preset step size, such as 300 meters, generates a dense set of waypoints. The path is more in line with the actual terrain and is suitable for areas with complex obstacles. When the drone needs to bypass dense trees or buildings, the first preset step size can generate a continuous and smooth path to avoid collision risks.
[0143] The second preset step size, such as 100 meters, reduces the number of waypoints and speeds up calculations, making it suitable for open areas or long-distance flights. For example, during inspection missions in mountainous areas, the second preset step size can quickly plan routes covering large areas of mountainous terrain, ensuring efficient identification of potential hazards.
[0144] The first preset step size significantly increases the computational effort and exponentially increases the number of neighboring nodes. The second preset step size reduces the number of computational nodes, improving planning speed and making it suitable for resource-constrained hardware environments. The first preset step size refines the path and reduces unnecessary flight distance. The second preset step size provides a straighter path and reduces the number of turns, but may increase the total flight distance due to obstacles.
[0145] The preset search angle adjustment affects the exploration direction and flexibility of the path, and can also include two types, namely the first search angle and the second search angle.
[0146] The first search angle, such as 15°-30°, focuses on a specific direction and reduces invalid neighboring points. This is suitable for scenarios with a clear target direction, such as straight-line flight and corridor navigation. For example, when a drone is inspecting along a ridge in a mountainous area, the first angle can limit the path to the ridge to avoid deviation.
[0147] A second search angle, such as 60°-90°, covers a wider search range, enhances adaptability to complex obstacles, and avoids being trapped in local optimal paths. For example, when monitoring fires in mountainous areas, the second angle can help the drone circumvent irregular fire edges.
[0148] The first search angle generates a path that tends to be straight, with smaller turns, smoother flight, and reduced energy consumption. The second search angle path may contain more broken lines, increasing the frequency of turns but allowing for faster obstacle avoidance. The first search angle requires fewer neighboring points, resulting in faster calculation speed. The second search angle requires more neighboring points, resulting in a higher computational load.
[0149] The combined adjustment of the preset step size and the preset search angle can further optimize the efficiency of path planning.
[0150] For example, in routine inspection mode, the first preset step size, such as 300 meters, is used to quickly generate a global path covering transmission towers, ensuring effective identification of potential hazards and timely feedback. In emergency investigation mode, the second preset step size, such as 100 meters, is used to fine-tune detours around obstacles, facilitating rapid response to emergencies and ensuring the drone can quickly locate the fault point.
[0151] For example, in canyon areas with a terrain narrowness greater than 70%, the first search angle is used. This densely samples neighboring points along the canyon's extension, ensuring the drone can flexibly navigate complex terrain in narrow environments. In open areas with a terrain narrowness less than 30%, the second search angle is used. This reduces the expansion of invalid neighbor points, allowing the drone to cover a large area more quickly.
[0152] Preset combinations can also ensure that drones can perform tasks efficiently in different inspection modes, balance the precision of the path and computing efficiency, and improve overall flight performance and the reliability of mission completion.
[0153] In some embodiments, the custom data module is further configured to:
[0154] Obtain a task model, which is data derived from an evaluation of task requirements. Task requirements include detection accuracy thresholds, task timeliness metrics, and energy consumption limits. A comprehensive evaluation is performed based on the task requirements, and a task model is generated based on the evaluation results, representing a data set that reflects the specific task objectives.
[0155] Depending on the mission mode, a preset step size and search angle, set based on terrain, environmental, and climate data, are called from a preset parameter library. These preset step size and search angle are adjusted based on the assessed mission mode data. For example, if the drone's mission involves inspecting mountainous terrain, factors such as height differences, steepness, and the presence of obstacles in the inspection area will be considered.
[0156] For missions requiring detailed inspection, the preset step size can be shortened and the preset search angle refinement can be increased within a threshold, allowing the drone to capture more detailed geographic information. The route planning module generates at least one second target path based on the adjusted preset step size and preset search angle. In mountainous areas, the target path will take into account terrain features such as ridges, valleys, and obstacles, ensuring the drone can complete the designated mission safely and efficiently.
[0157] For example, a drone needs to patrol a high, obstructed mountainous area. The system will initially set a preset step length and search angle based on the user's terrain, environment, and climate data. The initial preset step length is set to 10 meters per movement, and the preset search angle is set to 45 degrees. During the mission pattern generation phase, based on specific operational requirements, such as the need for a detailed inspection of the target area, the search step length will be fine-tuned to 7 meters and the search angle to 30 degrees to ensure greater detail and accuracy. Through these fine-tuning, the final route planning module generates a path that fully considers the mission requirements, enabling the drone to perform its mission safely and stably, minimizing flight risks and errors.
[0158] The data acquisition module extracts and validates planning data from the global data singleton. A data singleton is a software design pattern that ensures a single instance of a particular type of data exists globally within the system and provides unified access to prevent data duplication or conflicts. Data singleton validation ensures global data uniqueness and prevents multi-threaded access conflicts. For example, managing aircraft list data using the singleton pattern ensures data consistency.
[0159] The planning data includes positioning data and path planning data. The positioning data includes longitude and latitude coordinates. The positioning data is obtained through drone sensors or external input and is used to determine the starting point, end point and obstacle locations.
[0160] The path planning data includes a heuristic function value, which is a function value adjusted based on a preset step size and a preset search angle.
[0161] The route planning module is configured to generate at least one first target path based on a planning algorithm, a preset step size, a path cost value, and a heuristic function value. The path cost value is a parameter adjusted by the preset step size and the preset search angle. The first target path includes a forward path and a reverse path. It is understood that the planning algorithm is the A-star algorithm.
[0162] The route planning module includes a coordinate system conversion unit for converting longitude and latitude coordinates into projection coordinates, which include the coordinates of the starting point, the end point and the obstacle. For example, WGS-84 longitude and latitude are converted into a projection coordinate system to eliminate the influence of the earth's curvature on the path calculation.
[0163] The topology construction unit determines the distance between adjacent waypoints based on a custom preset step size, and generates a variable neighbor point set based on a custom preset search angle. For example, starting from the starting point, the preset step size of 50 meters is used as the distance between adjacent waypoints, and then the neighbor point set is expanded with a preset search angle of 30°.
[0164] The topology construction unit determines the distance between adjacent waypoints based on a custom preset step size. For example, the current point will search for neighboring points clockwise according to a preset search angle. Assuming true north is zero degrees and the preset search angle is A°, each clockwise rotation of A° will result in a new neighbor, forming a variable neighbor set.
[0165] The obstacle detection unit performs reachability checks on a variable set of neighboring points to generate a node set. It then uses geometric algorithms to determine whether a waypoint is located in a no-fly zone or an area covered by obstacles. For example, it determines the spatial relationship between a waypoint and a polygonal no-fly zone. If a waypoint is within a no-fly zone, it marks it as unreachable. This allows for highly precise route calculations, preventing the presence of an obstacle in a particular grid from directly negating the availability of the rectangular area occupied by that grid.
[0166] For example, if the coordinates of a neighboring point are (X=12345, Y=67890), the system checks whether it is within the preset polygonal no-fly zone. If the neighboring point is unreachable, it is marked as an invalid node and removed from the candidate list.
[0167] The path generation unit calculates a path cost value based on a node set and a preset step size, and generates at least one first target path using a heuristic function value; and calculates the path cost value in combination with the heuristic function value (f=g+h).
[0168] The path cost is calculated based on the heuristic function value (f = g + h). Here, g is the actual flight distance from the starting point to the current node, including a turning angle penalty, and h is the straight-line distance from the current node to the end point. The system defines an open list (candidate list) and a closed list (explored list). The node with the smallest total distance (f value) from the open list is selected for expansion.
[0169] Exemplarily, the user enters the system interface and inputs a preset step size and a preset search angle through the custom data module. The user customizes the preset step size and preset search angle according to the characteristics of the mountainous area and the task mode to be performed, and the data acquisition module collects the preset step size and preset search angle input by the user. At the same time, the data acquisition module analyzes and organizes the terrain data of the mountainous area to obtain the heuristic function value. The heuristic function is mainly used to evaluate the feasibility and priority of the path. In mountainous scenarios, the heuristic function needs to take into account factors such as terrain undulations, the distribution of wild animals and plants, and climatic conditions, which makes path planning more targeted and dynamically adaptable.
[0170] The route planning module uses this information to calculate the optimal route. Based on the A-star algorithm, it calculates the optimal route based on a preset step size and search angle. In mountainous areas, where the complexity of the terrain can affect the flight trajectory, the module adjusts the path cost to generate a target path that effectively covers the mountainous terrain. This generation ensures that both forward and reverse paths are considered, ensuring efficient back-and-forth inspections within this specific environment.
[0171] Through targeted parameter settings in mountainous area scenarios, the planning system can achieve coordinated optimization of UAV path planning accuracy and computational efficiency.
[0172] In some embodiments, a UI display module may also be included. The generated target path is stored in a local or cloud database via the data management module and synchronized to the UI display module. Users can view path details such as waypoint sequence, turn angles, and estimated flight time on the situation map, and manual fine-tuning is supported.
[0173] The UI display module includes a roaming interface, a distance measurement tool, a perspective switching tool, a map switching tool, an anti-congestion tool, and an environmental parameter display interface. The roaming interface is used to start the drone's autonomous cruise mode, automatically explore the preset area, bind the global search algorithm of the path planning module, and automatically explore the preset area; the distance measurement tool can manually measure the actual distance between two points on the map; the perspective switching tool supports 2D plane, 3D stereo, and satellite image modes; the map switching tool is used to switch map data sources, such as topographic maps, heat maps, and traffic flow maps; the anti-congestion tool is used to prevent congestion or conflict in drone routes, such as multi-machine collaborative scenarios; the environmental parameter display interface includes the display of environmental parameters such as wind speed ring and distance ring. The wind speed ring displays the wind speed gradient in the current area, such as a ring color scale map, and the distance ring is centered on the current position of the drone and displays an equidistant radius range, such as a safety distance circle.
[0174] The user selects a map service type through the UI, such as a specific map. The map module loads the corresponding SDK (Software Development Kit) and renders the base map. The route planning module generates a route and then calls the map API (Application Programming Interface) to plot the route. The UI module receives real-time data from the drone, updates the situation display, and periodically updates the drone's position, speed, and heading angle.
[0175] After the system is started, the controls that need to be displayed in the UI display module will be created separately. During the system operation, the system interface will periodically refresh the interface data based on the received aircraft information.
[0176] Through data singleton verification and modular design, the coupling problem between dynamic computational graph complexity evaluation and resource control can be solved. Data singleton verification ensures global data consistency and avoids resource conflicts caused by multi-threaded competition.
[0177] To improve operational efficiency and command response time, in some embodiments, the system further includes a conversion module configured to receive and process multimodal user input data and encapsulate it into standardized objects. Specifically, the conversion module receives user input data, which includes voice commands, selection commands, and click events. Voice commands, such as "circumventing obstacles on the east side," selection commands, such as "selecting a no-fly zone on a map," and click events, such as "selecting a waypoint."
[0178] The user input data is then encapsulated into standardized objects, which include event type, waypoint coordinates, and associated parameters. For example, the voice command "bypass the east side obstacle" is parsed as the event type "obstacle avoidance command", and the associated parameters are the obstacle coordinate range.
[0179] Send standardized objects to the data acquisition module and send associated parameters to the path generation unit to ensure the logical connection between input instructions and path planning.
[0180] Input data is converted into standardized objects containing event types, waypoint coordinates, and associated parameters. For example, the voice command "avoid east obstacle" is interpreted as the event type "obstacle avoidance command," with the associated parameters being the obstacle coordinate range. This standardized object is sent to the data acquisition module and path generation unit, ensuring seamless integration between the input command and the path planning logic.
[0181] Users can choose the most convenient input method based on the scenario. For example, in emergency obstacle avoidance scenarios, the route can be quickly adjusted using voice commands. Standardized objects reduce data conversion overhead, reducing the latency from command input to route update to milliseconds. Operations such as selecting no-fly zones and adjusting destinations using voice commands simplify manual input and reduce human error.
[0182] like Figure 2 As shown, in some embodiments, the data acquisition module is further configured to extract aircraft list data from the data singleton. The aircraft list data stores information about currently connected drones, including the drone ID, communication protocol, and real-time status, such as flight speed and battery level. The system then matches a target aircraft within the aircraft list data based on a preset identifier. For example, the system filters the target drone within the aircraft list data based on a preset identifier, such as a drone ID or registration number. If the user specifies the operating drone ID as "UAV-001," the system extracts the real-time positioning data for that drone from the list.
[0183] If the match fails, obtain the matching time. If the matching time is greater than the time threshold, delete the identifier corresponding to the target aircraft. If the matching time is less than or equal to the time threshold, create and bind an instance of the target aircraft.
[0184] For example, after the system starts, the data acquisition module loads the aircraft list data from the data singleton. For example, the singleton stores information about the three currently connected drones, with IDs UAV-001, UAV-002, and UAV-003. The user selects the target drone ID (UAV-001) through the user interface, and the system matches the corresponding drone instance in the list based on that ID.
[0185] If the match is successful, the system extracts the drone's real-time positioning data, such as longitude 116.404° and latitude 39.915°, and flight status, such as speed 10m / s and heading angle 30°, and begins the path planning process. If the match fails, such as due to data loss caused by a communication interruption, the system determines a timeout condition. If the match time exceeds a preset threshold, such as 5 seconds, the temporary identifier for UAV-001 is deleted to prevent invalid data from occupying resources. If the match time is within the limit, such as 3 seconds, the system retryes to create the drone instance, binds the latest received communication data, and updates the aircraft list.
[0186] After the match is successful, the coordinate system conversion unit converts the longitude and latitude coordinates of the drone into UTM projection coordinates, such as X=345678, Y=789012, to eliminate the influence of the earth's curvature on the path calculation. The topology construction unit generates neighboring points based on the preset step size defined by the user.
[0187] If the drone's communication is interrupted during flight and communication is not restored within a timeout, the drone's real-time data identifier will be deleted to free up system resources. If communication is restored after a brief interruption, a new drone instance will be created, the latest data will be bound, and the data will be synchronized to the path planning module.
[0188] Data conflicts are prone to occur in multi-drone scenarios. Data singleton verification ensures global data uniqueness and avoids resource usage issues caused by multi-threaded competition. This embodiment reduces the need for manual intervention through automatic timeout detection and instance rebinding.
[0189] After generating planning data, such as Figure 3 As shown, the path generation unit is used to:
[0190] Define a candidate list and an explored list. The candidate list stores nodes to be explored, sorted by total distance and f-value, with the smallest f-value being prioritized. For example, the initial candidate list only contains the starting point. The explored list records processed nodes to avoid duplicate calculations. For example, when a node is extracted, its neighbors are generated and added to the candidate list, and the original node is moved to the explored list.
[0191] Obtain the target node from the candidate list. The target node is the node with the smallest total distance value, which is the sum of the flight distance and the straight-line distance. Generate neighboring points based on the target node. The neighboring points are candidate neighboring points generated based on a preset step size and a preset search angle. Calculate the total distance value of the neighboring points to update the candidate list and the explored list. If the current node is the end point in the updated candidate list, generate a candidate path based on the current node. Perform reachability verification on the candidate paths, and generate the first target path based on the verified candidate paths.
[0192] For example, a drone needs to fly from its starting point (longitude 116.404°, latitude 39.915°) to its destination (longitude 116.408°, latitude 39.918°), where a polygonal no-fly zone exists. The candidate list initially contains only the starting point node, recording its total distance value, f-value. The starting point's longitude and latitude are (116.404°, 39.915°), with f-value calculated as g. The actual flight distance is 0 meters. The starting point's straight-line distance, h, is 200 meters. From the starting point to the destination, f is 200. The explored list is initially empty.
[0193] The node with the smallest f value is selected from the candidate list, which is the starting point and moved to the explored list. With the starting point as the center, a preset search angle is set and multiple neighboring points are generated based on the preset search angle.
[0194] Assume that the coordinates of the neighboring point in the north direction are (116.404°, 39.9155°), the g value is the actual distance from the starting point to the neighboring point, 50 meters. The h value is the straight-line distance from the neighboring point to the end point, 150 meters. The f value is 200. Add the neighboring point to the candidate list.
[0195] Repeatedly extract the node with the smallest f value from the candidate list and generate its neighboring nodes until the destination is added to the candidate list. For example, when the destination is added to the candidate list, extract it from the candidate list, verify its reachability, and generate a candidate path from the starting point to the destination: starting point, neighboring point A, neighboring point B, and the destination. Perform a geometric check on the candidate path to ensure that all segments do not cross no-fly zones or obstacles. If the check passes, output the target path; otherwise, regenerate the path.
[0196] By dynamically managing the candidate list and the explored list, and combining the heuristic function value to generate the optimal path, a geometric algorithm replaces the grid obstacle model to avoid the path roughness caused by mesh division. For example, the traditional A-star algorithm may discard an entire area because the grid contains some obstacles. However, this application determines the spatial relationship between waypoints and obstacles to improve path feasibility.
[0197] In some embodiments, a no-fly zone and an occupied area are obtained, and a straight-line path is calculated. The straight-line path is a straight-line path from a target node to a neighboring point. If a neighboring point is located in a no-fly zone or the path passes through an obstacle, it is marked as an unreachable node, and a candidate neighboring point is generated. It can be understood that this candidate neighboring point is all neighboring points excluding unreachable nodes; a candidate list is updated based on the candidate neighboring points, and a first actual flight distance and a heuristic function value are calculated; and a target path is generated based on the candidate list, the first actual flight distance, and the heuristic function value.
[0198] The occupied area is the actual space occupied by obstacles, detected in real time by sensors such as lidar and marked as a no-fly zone. It can include multiple obstacles. The no-fly zone is an area prohibited for drones to enter, as determined by regulations or mission requirements. The no-fly zone may contain obstacles.
[0199] The path generation unit uses sensor data, such as point clouds and images, to identify obstacles in real time and map them to a grid or geometric boundary of an occupied area. No-fly zones are typically pre-defined geofence data, such as GPS coordinate polygons, independent of the occupied areas detected in real time.
[0200] Point cloud data is acquired through multiple sensor types, such as lidar, visual cameras, and ultrasonic radar. This multi-sensor data is fused using a Kalman filter algorithm to generate a high-precision map of the area occupied by obstacles. The flight path is dynamically adjusted based on the real-time map. For example, if a temporary moving obstacle, such as a flying bird, is detected, an emergency obstacle avoidance command is triggered.
[0201] For example, during a drone's flight, the lidar scans the airspace ahead at a frequency of 10Hz, generating three-dimensional point cloud data. The visual camera captures images and uses the YOLO model to identify dynamic obstacles, such as birds and other drones. The point cloud data is aligned with the visual recognition results, and after filtering out noise, a real-time occupied area map is generated. When a moving obstacle is detected within a safe distance, such as 5 meters, a detour path is calculated and pitch and yaw angle adjustment commands are sent. For example, if a flock of birds appears directly in front of the drone's original path, the system generates a temporary path that climbs 30 degrees to the upper right, bypassing the obstacle and resuming the original route.
[0202] For example, a no-fly zone is a polygon with vertex coordinates: (116.4042°, 39.9153°), (116.4045°, 39.9154°), and (116.4043°, 39.9156°). For example, using a neighboring point (116.4043°, 39.9154°) as an example, straight-line path detection can determine whether the neighboring point lies within the no-fly zone polygon. If the point is within the no-fly zone, it is marked as an unreachable node.
[0203] After generating the candidate neighboring points, in some embodiments, the path generation unit is further configured to calculate a heading angle change based on the candidate neighboring points when executing the target path generation, where the heading angle change is a heading angle change from the current node to the candidate neighboring points.
[0204] Then, based on the heading angle change, an additional cost value is set. The additional cost value is positively correlated with the heading angle change of the candidate neighboring point. For example, if the heading angle of the neighboring point changes by 60°, the additional cost value is 0.5, and if it changes by 120°, the additional cost value is 1.2. By introducing the additional cost value in the path cost calculation, the path with a small heading angle change is given priority to reduce the UAV's turning energy consumption.
[0205] A target path is generated based on the additional cost value, and the target path includes at least a third target path and a fourth target path. The third target path is a path corresponding to the sum of the first actual flight distance and the straight-line distance, and the fourth target path is a path corresponding to the sum of the second actual flight distance and the straight-line distance.
[0206] For example, at the current node, the route planning module identifies multiple candidate neighboring points. These candidate neighboring points refer to the next flight targets that the drone can reasonably fly to from the current node in a mountainous area. The selection of these points is restricted by the terrain to ensure that the drone can fly safely.
[0207] For each candidate neighbor, the route planning module calculates the heading angle from the current node to that candidate. The heading angle delta is the difference in heading between candidate neighbors—the required heading change from the current node. For example, if the current node's heading is 0 degrees and the candidate neighbor's heading is 45 degrees, the heading angle delta is 45 degrees.
[0208] The magnitude of the heading angle change affects the drone's flight stability and energy consumption. Therefore, an additional cost is calculated based on this heading angle change. The additional cost is positively correlated with the heading angle change; the greater the heading angle change, the higher the additional cost. To improve flight efficiency and safety, choose a path with a smaller heading angle change.
[0209] The first actual flight distance is then updated based on the additional cost value to generate the second actual flight distance. The first actual flight distance is the baseline flight distance of the drone without considering changes in heading angle. The second actual flight distance is the actual flight distance after adding the additional cost value to the first actual flight distance. This helps the system more accurately assess the actual flight cost of the path.
[0210] The route planning module generates a target path based on the first and second actual flight distances. A third target path is generated by adding the first actual flight distance and the straight-line distance between the two waypoints. This path represents the shortest theoretical flight path for the drone. A fourth target path is generated by adding the second actual flight distance and the straight-line distance. This path accounts for changes in heading angle, resulting in a safer and more stable flight path.
[0211] In the scenario of this application, the drone may need to fly from a valley to a mountain peak. During this process, the route planning module optimizes the flight path by identifying and selecting multiple candidate neighboring points. With the calculation of the heading angle change and the corresponding additional cost value, it can select paths with smaller heading changes, thereby reducing flight risks and possible flight instability.
[0212] The output third target path will be the shortest path for the drone to travel from the valley to the peak. The fourth target path is a safe path after taking into account the heading change. In mountainous environments, it can avoid the risk of flight loss of control due to large heading changes.
[0213] Traditional algorithms ignore changes in heading angle, resulting in sharp turns in the path. By calculating the heading angle change and introducing an additional cost, path smoothness can be improved. This additional cost optimizes turning angles and reduces energy consumption associated with frequent turns.
[0214] The location and shape of some obstacles or no-fly zones are not friendly to forward path finding. For example, if the obstacle or no-fly zone forms an area similar to an encirclement with only a small opening, surrounding the starting point, then forward path finding will not only be slow, but the generated route will also have some large-angle inflection points and be unsmooth.
[0215] If no candidate neighboring point can be generated, in some embodiments, the path generation unit is further configured to:
[0216] Get the starting point and the end point;
[0217] Mark the end point as the reverse starting point, and mark the starting point as the reverse end point;
[0218] Generate a reverse neighbor point set based on a preset step size and a preset search angle;
[0219] A target path is generated based on the reverse neighbor point set, where the target path is a reverse path.
[0220] First, identify the drone's starting and ending points. In mountainous areas, the starting point might be at the bottom of a valley, while the ending point might be a mountaintop or other high ground. Mark the ending point as the reverse starting point, and the starting point as the reverse ending point, allowing the system to generate a path from the ending point.
[0221] Based on a preset step size and a preset search angle, a set of reverse neighbor points is generated. In mountainous areas, the generation of reverse neighbor points needs to take into account the complexity of the terrain to ensure that the generated neighbors can form a safe and effective path. These reverse neighbor points take into account the various directions and locations that the drone can fly to under unobstructed conditions.
[0222] In mountainous areas, using the same step size ensures consistency in path generation, whether from the start point to the end point (the forward path) or from the end point to the start point (the reverse path), to form a smooth, continuous flight path.
[0223] The preset search angle, whether in the forward or reverse path, will affect how the drone avoids obstacles, adjusts its flight direction, etc. Maintaining the same search angle can help maintain path stability and adaptability to cope with complex terrain.
[0224] Once the reverse neighbor point set is complete, the path generation unit generates the target path based on this reverse neighbor point set. During this process, these reverse neighbor points are sequentially connected to form a reverse path. This path is the path from the marked reverse start point (original end point) to the reverse end point (original start point), reflecting the effective flight path that the drone needs to follow in a specific terrain.
[0225] For example, in mountainous areas, drones must traverse complex mountain ranges, choosing specific paths to avoid obstacles. Using the same preset step size and search angles allows for the generation of safe and effective paths that avoid obstacles. Maintaining the same parameters ensures the reproducibility of path generation, whether flying from a valley to a mountaintop or back again, while minimizing planning errors caused by terrain variations.
[0226] In some embodiments, the system further includes an energy management module, which is connected to the drone battery management system and the meteorological data interface to calculate the remaining range in real time.
[0227] When the battery level drops below a threshold, such as 30%, the return-to-home strategy is triggered: the path generation unit replans the route starting from the current location and ending at the charging station, prioritizing routes with the shortest straight-line distance and minimal headwind impact. At the same time, the motor speed is reduced to economy mode to extend flight time. For example, if a drone encounters a strong headwind during a delivery, the system automatically adjusts its flight altitude to a less windy area and shortens the preset step size to finely control the steering frequency.
[0228] In some embodiments, the route planning module further includes a map interface unit and a map instance unit. The map interface unit provides a standardized interface that supports loading and switching between different map service engines, such as a specific map or Google Maps. For example, a user can specify the use of a specific map SDK or Google Maps API through a configuration file.
[0229] The map instance unit is used to obtain user-configured parameters and environmental parameters, and based on these, determines the map service type. It dynamically creates and manages map instances based on user-configured parameters, such as map type and resolution, and environmental parameters, such as network status. For example, it can load an offline map library in an offline environment and call Google Maps real-time data in an online environment.
[0230] The map instance unit loads the development library of the map engine according to the map service type, and the development library is used to provide geographic data; the geographic data is sent to the coordinate system conversion unit, and the map instance unit calls the development library of the third-party map service, such as BaiduMap SDK and Google Maps JavaScript API, to obtain geographic data, such as topographic maps and traffic flow maps.
[0231] Exemplarily, after the system boots up, the data acquisition module loads user configuration parameters from the data singleton. For example, the user configuration file specifies a specific map to use and sets the resolution to HD. The map interface unit parses the configuration parameters and calls the map instance unit to create the corresponding map instance.
[0232] The map instance unit loads a map offline development library (bmap_offline_api_v3.0_min.js) based on configuration parameters and initializes the map rendering environment. It then calls a map API (BMap.Map) to render the base map and overlay custom layers, such as obstacle and path layers. It also converts the drone's WGS-84 latitude and longitude coordinates to the BD-09 coordinate system of a specific map, ensuring that the map display is consistent with the path planning data.
[0233] The coordinate system conversion unit converts the starting point (longitude 116.404°, latitude 39.915°) into BD-09 coordinates (X=345678, Y=789012). The topology construction unit generates a set of neighboring points at a preset step size of 50 meters. The map instance unit retrieves real-time traffic flow data from a map and marks congested areas as temporary obstacles. The obstacle detection unit uses a geometric algorithm to determine whether neighboring points are within the obstacle coverage area. After the path generation unit generates the target path, the map instance unit calls the drawPolyline method of a map to dynamically draw the route on the map. Users can view the spatial relationship between the path and obstacles in real time.
[0234] like Figure 4As shown, if the user switches mapping engines, such as switching from a specific map to Google Maps, the system destroys the old instance, releases certain map resources, and clears cached data. The Google Maps JavaScript API is called to re-render the map and convert the coordinate system from WGS-84 to Google Maps' Web Mercator. The data acquisition module reloads planning data from the singleton to ensure data consistency between the path planning module and the map display module.
[0235] Map services only require implementing the corresponding interfaces, without modifying the core logic. For example, integrating with AutoNavi Maps requires only expanding the map interface unit. Users can select the optimal map service based on the scenario. For example, in urban areas, they can use Google Maps with rich real-time traffic data, while in remote areas, they can use a map with comprehensive offline capabilities. Dynamic coordinate system conversion eliminates coordinate discrepancies between different map services, ensuring a precise match between route planning and map display.
[0236] The main window program (CMainWindow) receives waypoint data from Baidu Map, searches for waypoints, and queries the data management module for detailed information about the waypoint, such as historical flight records and associated mission numbers. Associated routes: Retrieve all route options that include the waypoint, such as the shortest path and the most energy-efficient path. The pop-up window component (AirDotInfo) receives the waypoint data passed by CMainWindow and renders a detailed information interface, including: latitude and longitude, altitude, associated mission ID, real-time wind speed, estimated time of arrival, and past flight anomalies for the waypoint, such as obstacle avoidance records.
[0237] To accommodate a variety of drones, some embodiments also include a communication module that parses the communication protocols of different drones and standardizes data formats. This module includes a protocol parser and a data distributor. The protocol parser supports parsing various data formats, including JSON and binary. The data distributor categorizes the parsed data into status data, latitude and longitude, speed and control commands, and route update requests. If data verification fails, such as a checksum mismatch, a retransmission mechanism is triggered.
[0238] The drone sends status data from its onboard sensors to the communication module, which parses the data and stores it in a singleton instance of the data management module. The route planning module extracts the data from the singleton and generates a target path.
[0239] Based on the above-mentioned UAV situation planning system, some embodiments of the present application further provide a UAV situation planning method, including:
[0240] Obtaining a preset step length and a preset search angle, wherein the preset step length and the preset search angle are data input by a user, the preset step length being a straight-line distance parameter between adjacent waypoints and used to control the resolution of path generation, and the preset search angle being an adjustable direction parameter and used to constrain the search direction of the path; the preset step length and the preset search angle being set based on the first terrain data, the first environmental data, and the first climate data;
[0241] adjusting the preset step size and the preset search angle based on the second terrain data, the second environment data, and the second climate data;
[0242] Get the preset step size, preset search angle and heuristic function value;
[0243] If the data anomaly rate of the second environmental data and the second climate data is less than or equal to a threshold, acquiring a target node;
[0244] Generate a first candidate neighboring point based on the target node, and calculate a total distance value of the first candidate neighboring point to update a candidate list and an explored list to generate a first candidate path;
[0245] Adjust the path cost value by the preset step size and the preset search angle;
[0246] Calculating a first total cost value by using the path cost value and the heuristic function value, and selecting a first target path from the candidate paths, where the first target path is generated based on a user-defined preset step size and a preset search angle;
[0247] If the data anomaly rate of the second environmental data and the second climate data is greater than a threshold, marking an unreachable neighboring point in the first candidate path to generate a second candidate path;
[0248] Adjusting the path cost value by using the adjusted preset step size and preset search angle;
[0249] A second total cost value is calculated using the adjusted path cost value and the heuristic function value, and a second target path is selected from the second candidate paths, where the second target path is generated based on data obtained during real-time flight.
[0250] Similar parts between the embodiments provided in this application can be referenced to each other. The specific implementation methods provided above are only a few examples under the overall concept of this application and do not constitute a limitation on the scope of protection of this application. For those skilled in the art, any other implementation methods expanded based on the scheme of this application without expending creative work shall fall within the scope of protection of this application.
Claims
1. A UAV situation planning system, characterized in that: include: a custom data module for obtaining a preset step length and a preset search angle, wherein the preset step length and the preset search angle are user-entered data, wherein the preset step length is the straight-line distance between adjacent waypoints and is used to control the resolution of path generation, and the preset search angle is an adjustable direction parameter and is used to constrain the search direction of the path; the preset step length and the preset search angle are set based on the first terrain data, the first environmental data, and the first climate data; an adjustment module, configured to adjust the preset step size and the preset search angle based on the second terrain data, the second environment data, and the second climate data; A data acquisition module is used to obtain a preset step size, a preset search angle, and a heuristic function value; If the data anomaly rate of the second environmental data and the second climate data is less than or equal to a threshold, a route planning module is configured to obtain a target node, generate first candidate neighboring points based on the target node, and calculate a total distance value of the first candidate neighboring points to update a candidate list and an explored list to generate a plurality of first candidate paths, wherein the first candidate paths include a plurality of segments, each of the segments corresponding to a preset step size and a preset search angle; Calculating a path cost of each of the first candidate paths, wherein a method for calculating each of the first candidate paths includes: Calculating the path weight of the flight segment using the preset step size and the preset search angle; Calculating the product of the path weights of the plurality of flight segments and a preset step length to obtain a flight segment weight value; Summing up the segment weights of the multiple segments to obtain a path cost of the first candidate path; Calculate the heuristic function value, where the heuristic function value is the straight-line distance from the current node to the end point; Performing weighted summation on the path cost value and the heuristic function value corresponding to each of the first candidate paths to obtain a first total cost value corresponding to each of the first candidate paths; Determine a minimum first total cost value from the first total cost values corresponding to the plurality of first candidate paths, and determine the first candidate path corresponding to the minimum first total cost value as the first target path; If the data anomaly rate of the second environmental data and the second climate data is greater than a threshold, the route planning module is configured to mark unreachable neighboring points in the plurality of first candidate paths to generate a plurality of second candidate paths, the second candidate paths including a plurality of segments, each segment corresponding to an adjusted preset step size and a preset search angle; Calculate the path cost of each second candidate path, wherein the calculation method of each second candidate path includes: Calculating the path weight of the flight segment using the adjusted preset step size and preset search angle; Calculating the product of the path weights of the plurality of flight segments and a preset step length to obtain a flight segment weight value; summing the segment weights of the plurality of segments to obtain a path cost of the second candidate path; performing weighted summation of the path cost value and the heuristic function value corresponding to each second candidate path to obtain a second total cost value corresponding to each second candidate path; Determine the minimum second total cost value from the second total cost values corresponding to the plurality of second candidate paths, and determine the second candidate path corresponding to the minimum second total cost value as the second target path.
2. The UAV situation planning system according to claim 1, characterized in that: The route planning module is also used to: Define a candidate list and an explored list, and obtain a target node from the candidate list, where the target node is the node with the smallest total distance value, where the total distance value is the sum of the flight distance and the straight-line distance; Generate neighboring points according to the target node, where the neighboring points are candidate neighboring points generated based on the preset step size and the preset search angle; Calculating the total distance value of the neighboring points to update the candidate list and the explored list; If the current node is an end point in the updated candidate list, generating a first candidate path based on the current node; Perform reachability verification on the first candidate path, and generate a first target path based on the candidate path that passes the verification.
3. The UAV situation planning system according to claim 2, characterized in that: The route planning module is also used to: Obtain no-fly zones and occupied areas; Calculating a straight line path, where the straight line path is a straight line path from the target node to the neighboring node; If the neighboring point is located in a no-fly zone, and / or if the straight path passes through the occupied area, marking the neighboring point as an unreachable node and generating a first candidate neighboring point; Updating the candidate list based on the first candidate neighbor point, and calculating a first actual flight distance and a heuristic function value; A first target path is generated based on the candidate list, the first actual flight distance, and the heuristic function value.
4. The UAV situation planning system according to claim 3, characterized in that: When executing the generation of the first target path, the route planning module is further configured to: Calculating a heading angle change based on the first candidate neighboring point, where the heading angle change is a heading angle change from the current node to the candidate neighboring point; Determining an additional cost value based on the heading angle change, where the additional cost value is positively correlated with the heading angle change; updating the first actual flight distance based on the additional cost value to generate a second actual flight distance, where the second actual flight distance is the additional cost value plus the first actual flight distance; A third target path and a fourth target path are generated, wherein the third target path is a path corresponding to the sum of the first actual flight distance and the straight-line distance, and the fourth target path is a path corresponding to the sum of the second actual flight distance and the straight-line distance.
5. The UAV situation planning system according to claim 3, characterized in that: The route planning module is also used to: If the first candidate neighbor point cannot be generated, obtain the starting point and the end point; Marking the end point as the reverse starting point, and marking the starting point as the reverse end point; Generate a reverse neighbor point set based on the preset step size and the preset search angle; A target path is generated based on the reverse neighbor point set, where the first target path is a reverse path.
6. The UAV situation planning system according to claim 1, characterized in that: The custom data module is also used to: Acquire a task mode, wherein the task mode is mode data obtained based on the evaluation of the task requirement information; Adjust the preset step length and the preset search angle according to the task mode; The route planning module generates at least one second target path based on the adjusted preset step size and preset search angle.
7. The UAV situation planning system according to claim 1, characterized in that: The data acquisition module is also used for: Extract the aircraft list data from the data singleton; matching a target aircraft in the aircraft list data based on a preset identifier; If the match fails, get the matching time; If the matching time is greater than the time threshold, deleting the identifier corresponding to the target aircraft; If the matching time is less than or equal to the time threshold, an instance of the target aircraft is created and bound.
8. The UAV situation planning system according to claim 1, characterized in that: The route planning module includes a coordinate system conversion unit for converting latitude and longitude coordinates into projection coordinates, wherein the projection coordinates include the coordinates of the starting point, the end point and the obstacle; a topology construction unit, configured to determine the distance between adjacent waypoints based on the preset step size, and generate a variable neighbor point set based on the preset search angle; an obstacle detection unit, configured to perform reachability detection on the variable neighboring point set to generate a node set; A path generation unit is configured to generate at least one first target path based on the node set, the preset step size, the path cost value, and the heuristic function value.
9. The UAV situation planning system according to claim 8, characterized in that: The route planning module further includes a map interface unit and a map instance unit. The map interface unit is used to load and switch the map engine, and the map instance unit is used to: Obtaining user configuration parameters and environment parameters, and determining a map service type based on the user configuration parameters and environment parameters; Loading a development library of the map engine according to the map service type, wherein the development library is used to provide geographic data; The geographic data is sent to the coordinate system conversion unit.
10. A UAV situation planning method, characterized in that: The method applied to the UAV situation planning system according to any one of claims 1 to 9 comprises: Obtaining a preset step length and a preset search angle, wherein the preset step length and the preset search angle are data input by a user, the preset step length being a straight-line distance parameter between adjacent waypoints and used to control the resolution of path generation, and the preset search angle being an adjustable direction parameter and used to constrain the search direction of the path; the preset step length and the preset search angle being set based on the first terrain data, the first environmental data, and the first climate data; adjusting the preset step size and the preset search angle based on the second terrain data, the second environment data, and the second climate data; Get the preset step size, preset search angle and heuristic function value; If the data anomaly rate of the second environmental data and the second climate data is less than or equal to a threshold, acquiring a target node; Generating first candidate neighboring points based on the target node, and calculating total distance values of the first candidate neighboring points to update a candidate list and an explored list to generate a plurality of first candidate paths, wherein the first candidate paths include a plurality of segments, each of the segments corresponding to a preset step size and a preset search angle; Calculating a path cost of each of the first candidate paths, wherein a method for calculating each of the first candidate paths includes: Calculating the path weight of the flight segment using the preset step size and the preset search angle; Calculating the product of the path weights of the plurality of flight segments and a preset step length to obtain a flight segment weight value; Summing up the segment weights of the multiple segments to obtain a path cost of the first candidate path; Calculate the heuristic function value, where the heuristic function value is the straight-line distance from the current node to the end point; Performing weighted summation on the path cost value and the heuristic function value corresponding to each of the first candidate paths to obtain a first total cost value corresponding to each of the first candidate paths; Determine a minimum first total cost value from the first total cost values corresponding to the plurality of first candidate paths, and determine the first candidate path corresponding to the minimum first total cost value as the first target path; If the data anomaly rate of the second environmental data and the second climate data is greater than a threshold, marking multiple neighboring points in the first candidate paths as unreachable to generate multiple second candidate paths, where the second candidate paths include multiple segments, each segment corresponding to an adjusted preset step size and a preset search angle; Calculate the path cost of each second candidate path, wherein the calculation method of each second candidate path includes: Calculating the path weight of the flight segment using the adjusted preset step size and preset search angle; Calculating the product of the path weights of the plurality of flight segments and a preset step length to obtain a flight segment weight value; summing the segment weights of the plurality of segments to obtain a path cost of the second candidate path; performing weighted summation of the path cost value and the heuristic function value corresponding to each second candidate path to obtain a second total cost value corresponding to each second candidate path; Determine the minimum second total cost value from the second total cost values corresponding to the plurality of second candidate paths, and determine the second candidate path corresponding to the minimum second total cost value as the second target path.
Citation Information
Patent Citations
Fire-extinguishing aircraft three-dimensional route planning method based on improved A* algorithm
CN116772841A
Path planning method based on improved Hybrid A* algorithm and DWA algorithm
CN119901288A