Method and device for planning a route for a drone, and storage medium

By optimizing UAV flight path planning using the bee colony algorithm, multiple circular trajectories are generated, solving the problems of long and low-coverage UAV flight paths and achieving efficient 3D modeling and complex scene monitoring.

CN120760714BActive Publication Date: 2026-07-21ZHONGKE YUNGU TECH
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
ZHONGKE YUNGU TECH
Filing Date
2025-06-30
Publication Date
2026-07-21

AI Technical Summary

Technical Problem

Existing UAV flight path planning suffers from problems such as excessively long flight paths, low coverage, serious data redundancy, and failure to consider terrain undulations leading to obstructed areas or uneven resolution, making it difficult to meet the needs of high-precision 3D modeling and complex scene monitoring.

Method used

The drone flight path is planned using a bee swarm algorithm. By determining the drone's field of view and actual shooting range for each sub-region, multiple circular trajectories are generated. Combined with the enclosing rectangle and standby position, the distribution of shooting points is optimized, and the flight path is planned reasonably.

Benefits of technology

While ensuring coverage, it effectively shortens flight path distance, reduces drone energy consumption, improves flight path efficiency and adaptability, and enhances the effectiveness of 3D modeling and complex scene monitoring.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120760714B_ABST
    Figure CN120760714B_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a method and device for planning a flight route for a UAV, and a storage medium. The method comprises: determining a view angle range of the UAV for each sub-region in a flight region; determining an actual shooting range of the UAV for each sub-region according to the view angle range; determining a surrounding rectangle in which the flight region is located; determining a first center point according to the surrounding rectangle and a standby position of the UAV; determining a plurality of circular trajectories of the UAV for the flight region according to the actual shooting range, the view angle range, and the first center point; and determining a flight route of the UAV for the flight region according to the plurality of circular trajectories. The method can plan a flight route according to a terrain, effectively shorten the route distance while ensuring coverage, and effectively reduce the energy consumption of the UAV.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of unmanned aerial vehicle (UAV) flight path technology, specifically to a method, apparatus, and storage medium for planning UAV flight paths. Background Technology

[0002] High-precision 3D models generated from drone aerial photography are a core technology in fields such as realistic 3D construction, urban modeling, and disaster monitoring. The core of this technology involves acquiring image data through multi-view oblique photography by drones, combining this with flight path planning algorithms to achieve full-coverage imaging of a region, and then using 3D reconstruction technology to generate textured, realistic models. However, current traditional flight paths use a fixed grid layout, resulting in frequent turns and long flight distances, leading to high energy consumption and significant data redundancy. They also fail to consider terrain undulations, easily creating obstructed areas or uneven resolution, often resulting in invalid flight segments. Furthermore, some algorithms do not optimize the distribution of shooting points, leading to an excessive number of images and insufficient overlap. In terms of efficiency, adaptability, and flexibility, these technologies are no longer sufficient to meet the demands of high-precision 3D modeling and complex scene monitoring. Summary of the Invention

[0003] The purpose of this application is to provide a method, apparatus, and storage medium for planning drone flight routes, in order to solve the technical defects of low coverage caused by the lengthy flight routes in the prior art.

[0004] To achieve the above objectives, the first aspect of this application provides a method for planning flight paths for unmanned aerial vehicles (UAVs), wherein the UAV includes an image acquisition device, and the planning method includes: Determine the field of view of the drone for each sub-region of the flight area; Determine the actual shooting range of the drone for each sub-area based on the field of view; Determine the bounding rectangle of the flight area; Determine the first center point based on the surrounding rectangle and the drone's standby position; Based on the actual shooting range, the field of view, and the first center point, determine multiple circular trajectories for the drone in the flight area; The flight path of the UAV for the flight area is determined by multiple circular trajectories.

[0005] In the embodiments of this application, determining multiple circular trajectories of the UAV for the flight area based on the actual shooting range, the viewing angle range, and the first center point includes: determining the horizontal interval distance between the center points of adjacent circular trajectories based on the actual shooting range; generating multiple other center points for the flight area sequentially based on the first center point, the horizontal interval distance, and the enclosing rectangle, based on the bee colony algorithm, to obtain a target center point set, wherein each center point is assigned a corresponding flight priority, and the earlier the center point is generated, the higher its corresponding flight priority; and generating multiple circular trajectories of the UAV for the flight area sequentially according to the priority of each center point, with each center point in the target center point set as the center and the viewing angle range as the radius.

[0006] In the embodiments of this application, based on the bee colony algorithm, multiple other center points for the flight area are generated sequentially according to the first center point, the horizontal interval distance, and the enclosing rectangle to obtain a target center point set. Each center point is assigned a corresponding flight priority, and the earlier the center point is generated, the higher its corresponding flight priority. The process includes: starting from the first center point, traversing the enclosing rectangle according to the horizontal interval distance based on a preset path to generate multiple center points sequentially to obtain a first center point set; adjusting the position of the first center point based on the bee colony algorithm, and generating a second center point set based on the adjusted position of the first center point; repeating the steps of adjusting the position of the first center point and generating a second center point set based on the adjusted position of the first center point until the number of center point sets meets the requirements; comparing the number of center points included in each center point set to determine the center point set with the fewest center points as the target center point set that meets the requirements.

[0007] In the embodiments of this application, determining the horizontal distance between the center points of adjacent circular trajectories based on the actual shooting range includes: determining the overlap rate between adjacent circular trajectories; determining the product between the actual shooting range and the overlap rate; and determining the horizontal distance between the center points of adjacent circular trajectories based on the difference between the actual shooting range and the product.

[0008] In the embodiments of this application, determining the bounding rectangle of the flight area includes: traversing all vertices included in the flight area to determine the minimum bounding rectangle for the flight area; determining the view range as the extension distance of the minimum bounding rectangle; extending the minimum bounding rectangle according to the extension distance, and using the extended rectangle as the bounding rectangle of the flight area.

[0009] In an embodiment of this application, traversing all vertices included in the flight area to determine the minimum bounding rectangle for the flight area includes: traversing all vertices included in the flight area to determine the minimum longitude value, maximum longitude value, minimum latitude value, and maximum latitude value included in the flight area; generating a first vertex, a second vertex, a third vertex, and a fourth vertex for the flight area based on the minimum longitude value, maximum longitude value, minimum latitude value, and maximum latitude value, wherein the first vertex is a vertex composed of the minimum longitude value and the minimum latitude value, the second vertex is a vertex composed of the maximum longitude value and the minimum latitude value, the third vertex is a vertex composed of the maximum longitude value and the maximum latitude value, and the fourth vertex is a vertex composed of the minimum longitude value and the maximum latitude value; and constructing the minimum bounding rectangle for the flight area based on the first vertex, the second vertex, the third vertex, and the fourth vertex.

[0010] In an embodiment of this application, determining the first center point based on the enclosing rectangle and the standby position of the drone includes: obtaining the standby position of the drone; determining the Euclidean distances between the standby position and the multiple vertices included in the enclosing rectangle; and determining the vertex corresponding to the minimum Euclidean distance as the first center point.

[0011] In the embodiments of this application, determining the viewing range of each sub-region of the flight area for the UAV includes: acquiring the flight altitude of the UAV, the tilt angle of the image acquisition device, and the field of view of the image acquisition device; determining the cosine value of the tilt angle and the ratio between the flight altitude and the cosine value; determining the tangent value of the field of view; and determining the viewing range of each sub-region of the flight area for the UAV based on the product between the ratio and the tangent value.

[0012] In the embodiments of this application, the viewing angle range for each sub-region in the flight area includes: acquiring the ground resolution, sensor width, focal length of the image acquisition device, tilt angle of the image acquisition device, and field of view of the image acquisition device; and determining the viewing angle range of the UAV for each sub-region in the flight area based on the ground resolution, sensor width, focal length, tilt angle, and field of view.

[0013] In embodiments of this application, each sub-region in the plurality of sub-regions is of equal size, and overlap between adjacent sub-regions is allowed.

[0014] In the embodiments of this application, determining the actual shooting range of the drone for each sub-region based on the viewing angle range includes: obtaining the tilt angle of the image acquisition device; and determining the actual shooting range of the drone for each sub-region based on the tilt angle and the viewing angle range.

[0015] In embodiments of this application, the planning method further includes: after determining the flight path of the UAV for the flight area based on multiple circular trajectories, for any circular trajectory, when the UAV performs flight operations based on the any circular trajectory, determining the yaw angle corresponding to the shooting waypoint set by the UAV on the any circular trajectory; and adjusting the flight angle of the UAV corresponding to the shooting waypoint set by the any circular trajectory based on the yaw angle.

[0016] In the embodiments of this application, for each circular trajectory, each circular trajectory is provided with multiple shooting waypoints, and the shooting action of the drone is triggered only when the drone is at any of the shooting waypoints.

[0017] The second aspect of this application provides an apparatus for planning flight paths for unmanned aerial vehicles (UAVs), configured to perform the aforementioned method for planning flight paths for UAVs.

[0018] A third aspect of this application provides a machine-readable storage medium storing instructions that, when executed by a processor, configure the processor to perform the aforementioned method for planning flight routes for unmanned aerial vehicles.

[0019] The above technical solution involves: determining the viewing angle range of each sub-region within the flight area for the UAV; determining the actual shooting range of the UAV for each sub-region based on the viewing angle range; determining the enclosing rectangle of the flight area; determining the first center point based on the enclosing rectangle and the UAV's standby position; determining multiple circular trajectories for the UAV within the flight area based on the actual shooting range, viewing angle range, and the first center point; and determining the flight path for the UAV within the flight area based on the multiple circular trajectories. This method can rationally plan flight paths according to the terrain, effectively shortening flight path distances while ensuring coverage, and effectively reducing UAV energy consumption.

[0020] Other features and advantages of the embodiments of this application will be described in detail in the following detailed description section. Attached Figure Description

[0021] The accompanying drawings are provided to further illustrate the embodiments of this application and form part of the specification. They are used together with the following detailed description to explain the embodiments of this application, but do not constitute a limitation on the embodiments of this application. In the drawings: Figure 1 The illustration shows a flowchart of a method for planning unmanned aerial vehicle (UAV) routes according to an embodiment of this application. Figure 2 A schematic diagram of a circular trajectory according to an embodiment of this application is shown; Figure 3 The diagram illustrates the internal structure of a computer device according to an embodiment of this application. Detailed Implementation

[0022] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are only for illustration and explanation of the embodiments of this application and are not intended to limit the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without creative effort are within the scope of protection of this application.

[0023] It should be noted that if the embodiments of this application involve directional indicators (such as up, down, left, right, front, back, etc.), the directional indicators are only used to explain the relative positional relationship and movement of each component in a certain specific posture (as shown in the figure). If the specific posture changes, the directional indicators will also change accordingly.

[0024] Furthermore, if the embodiments of this application involve descriptions such as "first" or "second," these descriptions are for descriptive purposes only and should not be construed as indicating or implying their relative importance or implicitly specifying the number of technical features indicated. Therefore, a feature defined with "first" or "second" may explicitly or implicitly include at least one of those features. Additionally, the technical solutions of the various embodiments can be combined with each other, but this must be based on the ability of those skilled in the art to implement them. If the combination of technical solutions is contradictory or impossible to implement, it should be considered that such a combination of technical solutions does not exist and is not within the scope of protection claimed in this application.

[0025] Figure 1 The illustration schematically shows a flowchart of a method for planning unmanned aerial vehicle (UAV) flight paths according to an embodiment of this application. Figure 1 As shown in the figure, this application provides a method for planning flight paths for unmanned aerial vehicles (UAVs). The UAV includes an image acquisition device, and the planning method may include the following steps: Step 101: Determine the field of view range of the UAV for each sub-region in the flight area.

[0026] In this embodiment, it should be noted that the flight area can be selected according to actual needs. For example, an area of ​​interest can be selected on a map as the selected flight area. For the selected flight area, the processor can perform multi-angle coverage and edge enhancement at the same flight altitude. The flight area is divided into multiple near-circular sub-regions by using a tilt angle projection model, and a sweeping motion, such as a -45° pitch angle, is introduced to collect lateral textures, thereby improving the integrity of the details at the bottom of buildings included in the flight area.

[0027] In the embodiments of this application, each sub-region in the plurality of sub-regions is of equal size, and overlap between adjacent sub-regions is allowed.

[0028] In this embodiment, it should be noted that since multi-angle coverage and edge enhancement are performed at the same altitude, each sub-region of the resulting multiple sub-regions is of equal size. Furthermore, since the resulting multiple sub-regions need to completely cover the selected flight area, overlap between adjacent sub-regions is allowed.

[0029] In this embodiment of the application, determining the viewing angle range of the UAV for each sub-region of the flight area includes: acquiring the flight altitude of the UAV, the tilt angle of the image acquisition device, and the field of view of the image acquisition device; determining the cosine value of the tilt angle and the ratio between the flight altitude and the cosine value; determining the tangent value of the field of view; and determining the viewing angle range of the UAV for each sub-region of the flight area based on the product between the ratio and the tangent value.

[0030] In this embodiment, it should be noted that for the viewing angle range of each sub-region, the processor can acquire input parameters, including the drone's flight altitude, the tilt angle of the image acquisition device, and the field of view angle, where the image acquisition device can refer to a camera. Next, it calculates the cosine value of the tilt angle, the ratio between the flight altitude and the cosine value, and the tangent value of the field of view angle. The viewing angle range of the drone for each sub-region within the flight area is then calculated based on the product of the ratio and the tangent value. Specifically, the viewing angle range of each sub-region can be calculated according to the following formula: , in, The viewing range for each sub-region, For flight altitude, The angle of inclination. The field of view is the angle of view.

[0031] In this embodiment of the application, determining the viewing range of each sub-region of the flight area for the UAV includes: acquiring the ground resolution, sensor width, focal length of the image acquisition device, tilt angle of the image acquisition device, and field of view of the image acquisition device; and determining the viewing range of each sub-region of the flight area for the UAV based on the ground resolution, sensor width, focal length, tilt angle, and field of view.

[0032] In this embodiment, it should be noted that for the viewing angle range of each sub-region, the processor can obtain input parameters, including ground resolution, sensor width, focal length of the image acquisition device, tilt angle of the image acquisition device, and field of view of the image acquisition device, and thus calculate the viewing angle range of the UAV for each sub-region of the flight area using ground resolution, sensor width, focal length, tilt angle, and field of view. Specifically, the viewing angle range of each sub-region can be calculated according to the following formula: , in, The viewing range for each sub-region, For ground resolution, Focal length For sensor width, The angle of inclination. The field of view is the angle of view.

[0033] Step 102: Determine the actual shooting range of the drone for each sub-region based on the field of view.

[0034] In this embodiment of the application, it should be noted that after calculating the field of view of the drone, the processor can further calculate the actual shooting range of the drone for each sub-region based on the field of view of the drone.

[0035] In this embodiment of the application, determining the actual shooting range of the UAV for each sub-region based on the viewing angle range includes: obtaining the tilt angle of the image acquisition device; and determining the actual shooting range of the UAV for each sub-region based on the tilt angle and the viewing angle range.

[0036] In this embodiment, it should be noted that because the image acquisition device installed on the drone has a tilt angle relative to the horizontal direction, the actual area that the image acquisition device can capture when the drone is shooting around any sub-region is much larger than the area covered by that sub-region. Specifically, the processor can obtain the tilt angle of the image acquisition device, which can refer to the angle of the image acquisition device in the horizontal direction. Then, based on the tilt angle and the viewing angle, it can further calculate the actual shooting range of the drone in the horizontal direction for each sub-region. For example, trigonometric functions such as cosine can be used to further calculate the actual shooting range of the drone in the horizontal direction for each sub-region.

[0037] Step 103: Determine the bounding rectangle of the flight area.

[0038] In this embodiment, it should be noted that the enclosing rectangle can refer to a circumscribed quadrilateral, also known as an unbounded border. The processor can further determine the enclosing rectangle containing the selected flight area for use by the UAV in subsequent flight path planning.

[0039] In this embodiment of the application, determining the bounding rectangle of the flight area includes: traversing all vertices included in the flight area to determine the minimum bounding rectangle for the flight area; determining the view range as the extension distance of the minimum bounding rectangle; extending the minimum bounding rectangle according to the extension distance, and using the extended rectangle as the bounding rectangle of the flight area.

[0040] In this embodiment, it should be noted that for a selected flight area, the processor can construct the minimum bounding rectangle for the selected flight area by traversing all vertices included in the flight area. Considering that in order to ensure that the area that the image acquisition device on the UAV can capture can completely cover the selected flight area, and to have a certain buffer area, after constructing the minimum bounding rectangle, it is necessary to expand the minimum bounding rectangle outward by a certain distance. Specifically, the viewing angle range can be used as the expansion distance of the minimum bounding rectangle, and the minimum bounding rectangle is expanded according to the expansion distance. The rectangle obtained after expansion is used as the bounding rectangle of the flight area.

[0041] In this embodiment of the application, traversing all vertices included in the flight area to determine the minimum bounding rectangle for the flight area includes: traversing all vertices included in the flight area to determine the minimum longitude value, maximum longitude value, minimum latitude value, and maximum latitude value included in the flight area; generating a first vertex, a second vertex, a third vertex, and a fourth vertex for the flight area based on the minimum longitude value, maximum longitude value, minimum latitude value, and maximum latitude value, wherein the first vertex is a vertex composed of the minimum longitude value and the minimum latitude value, the second vertex is a vertex composed of the maximum longitude value and the minimum latitude value, the third vertex is a vertex composed of the maximum longitude value and the maximum latitude value, and the fourth vertex is a vertex composed of the minimum longitude value and the maximum latitude value; and constructing the minimum bounding rectangle for the flight area based on the first vertex, the second vertex, the third vertex, and the fourth vertex.

[0042] In this embodiment, it should be noted that when the processor constructs the minimum bounding rectangle for the selected flight area, it first needs to traverse all vertices included in the selected flight area to obtain the geographical coordinates of each vertex. Through filtering, the minimum longitude, maximum longitude, minimum latitude, and maximum latitude of the flight area can be further obtained. After obtaining the minimum longitude, maximum longitude, minimum latitude, and maximum latitude, the processor can combine these values ​​to obtain the four vertices required to construct the minimum bounding rectangle. Specifically, the vertex formed by the minimum longitude and minimum latitude is designated as the first vertex, the vertex formed by the maximum longitude and minimum latitude as the second vertex, the vertex formed by the maximum longitude and maximum latitude as the third vertex, and the vertex formed by the minimum longitude and maximum latitude as the fourth vertex. For example, taking the minimum longitude, maximum longitude, minimum latitude, and maximum latitude values ​​as minX, maxX, minY, and maxY respectively, the processor can use (minX, minY) as the first vertex, (maxX, minY) as the second vertex, (maxX, maxY) as the third vertex, and (minX, maxY) as the fourth vertex. After constructing the four required vertices, the processor can further construct the minimum bounding rectangle for the flight area based on the first, second, third, and fourth vertices.

[0043] Step 104: Determine the first center point based on the surrounding rectangle and the standby position of the drone.

[0044] In this embodiment, it should be noted that the standby position of the UAV can refer to its takeoff point. After constructing the bounding rectangle of the selected flight area, the processor can solve for the first center point of the flight path using the bounding rectangle and the position of the UAV. The center point can refer to the position the UAV needs to circle during flight.

[0045] In this embodiment of the application, determining the first center point based on the enclosing rectangle and the standby position of the drone includes: obtaining the standby position of the drone; determining the Euclidean distances between the standby position and the multiple vertices included in the enclosing rectangle; and determining the vertex corresponding to the minimum Euclidean distance as the first center point.

[0046] In this embodiment, it should be noted that after obtaining the takeoff point of the UAV, the Euclidean distances between the takeoff point and each of the four vertices of the enclosing rectangle can be calculated, and the vertex corresponding to the smallest Euclidean distance can be used as the first center point of the flight path. Specifically, taking the takeoff point as (x0, y0) as an example, the Euclidean distances between each vertex and the takeoff point can be calculated using the following formulas: , Where di is the Euclidean distance corresponding to the i-th vertex, xi is the longitude value corresponding to the i-th vertex, and yi is the latitude value corresponding to the i-th vertex.

[0047] Step 105: Determine multiple circular trajectories for the drone in the flight area based on the actual shooting range, viewing angle range, and the first center point.

[0048] In this embodiment of the application, it should be noted that after the first center point is calculated, the processor can further calculate multiple circular trajectories of the UAV for the fractal area based on the first center point, the actual shooting range, and the field of view.

[0049] In this embodiment, determining multiple circular trajectories of the UAV for the flight area based on the actual shooting range, the viewing angle range, and the first center point includes: determining the horizontal interval distance between the center points of adjacent circular trajectories based on the actual shooting range; generating multiple other center points for the flight area sequentially based on the first center point, the horizontal interval distance, and the enclosing rectangle, to obtain a target center point set, wherein each center point is assigned a corresponding flight priority, and the earlier the center point is generated, the higher its corresponding flight priority; and generating multiple circular trajectories of the UAV for the flight area sequentially according to the priority of each center point, with each center point in the target center point set as the center and the viewing angle range as the radius.

[0050] In this embodiment, it should be noted that to ensure the UAV can capture all flight areas during its flight along the flight path and to minimize the flight path, it is necessary to reasonably set the horizontal spacing between adjacent circular trajectory center points. Specifically, the processor can calculate the horizontal spacing between adjacent circular trajectory center points based on the actual shooting range. The bee colony algorithm can refer to an improved PAC-ABC algorithm. After determining the first center point, the processor can use the bee colony algorithm to sequentially generate multiple other center points for the flight area, including a second center point, a third center point, and an nth center point, based on the first center point, the horizontal spacing, and the enclosing rectangle, thus obtaining a target center point set. The processor can assign corresponding flight priorities to the center points according to their generation order; the earlier the center point is generated, the higher its flight priority. That is, the first center point has the highest flight priority, followed by the second, and so on, with the nth center point having the lowest flight priority.

[0051] After obtaining the target center point set, the processor can generate multiple circular trajectories, using each center point in the set as the center and the viewing range as the radius, according to the priority of each center point. Specifically, taking the generation of n center points as an example, the circular trajectory corresponding to the first center point should be generated sequentially, followed by the circular trajectory corresponding to the second center point, and so on, until the circular trajectory corresponding to the nth center point is generated. Specifically, as shown... Figure 2 As shown, a schematic diagram of a circular trajectory is provided, such as... Figure 2 As shown, point O is the takeoff point of the drone, point A is the first center point, and the generated multiple circular trajectories overlap with each other.

[0052] In this embodiment of the application, determining the horizontal distance between the center points of adjacent circular trajectories based on the actual shooting range includes: determining the overlap rate between adjacent circular trajectories; determining the product between the actual shooting range and the overlap rate; and determining the horizontal distance between the center points of adjacent circular trajectories based on the difference between the actual shooting range and the product.

[0053] In this embodiment, it should be noted that, in order to ensure that the image acquisition device's shooting range can cover the flight area during flight according to the flight path, a reasonable overlap rate needs to be set between adjacent circular trajectories. The overlap rate can be set according to actual needs, for example, it can be, but is not limited to, 80%. After determining the overlap rate, the processor can further calculate the product between the actual shooting range and the overlap rate, and then solve for the difference between the actual shooting range and the product, using the calculated difference as the horizontal interval distance between the center points of adjacent circular trajectories. Specifically, the horizontal interval distance can be calculated according to the following formula, including: space = LL × rate Where space is the horizontal distance between the centers of adjacent circular trajectories, L is the actual shooting range, and rate is the overlap rate.

[0054] In the embodiment of the present application, based on the bee colony algorithm, multiple other center points for the flight area are sequentially generated according to the first center point, the horizontal interval distance, and the bounding rectangle to obtain a target center point set, where each center point is assigned a corresponding flight priority, and the earlier the generation order of the center point, the higher the corresponding flight priority, including: taking the first center point as the starting point, traversing the bounding rectangle based on the horizontal interval distance according to a preset path to sequentially generate multiple center points to obtain a first center point set; based on the bee colony algorithm, adjusting the position of the first center point, and generating a second center point set according to the position of the adjusted first center point; repeating the steps of adjusting the position of the first center point and generating a second center point set according to the position of the adjusted first center point until the number of the center point sets meets the requirements; comparing the number of center points included in each center point set to determine the center point set with the least number of center points as the target center point set that meets the requirements.

[0055] In this embodiment, it should be noted that the preset path can refer to a snake-shaped ("zigzag") path. After obtaining the first center point of the flight route, the processor can take the first center point as the starting point and traverse the bounding rectangle where the flight area is located in a snake-shaped path according to the horizontal interval distance to sequentially generate the remaining second, third, and nth center points, and the n center points form a first center point set. Specifically, taking the first center point as c1, traversing the bounding rectangle in a snake-shaped ("zigzag") path to sequentially generate c2, c3,..., cn, and the distance between adjacent center points satisfies the horizontal interval distance space, and {c2, c3,..., cn} forms a first center point set. Secondly, the processor can adjust the position of the first center point based on the bee colony algorithm, where the adjustment range should be limited within the radius of the original first center point, and the position of the adjusted first center point must be within or on the boundary of the bounding rectangle area. After adjusting the position of the first center point, the processor can again take the adjusted first center point as the starting point and traverse the bounding rectangle where the flight area is located in a snake-shaped path according to the horizontal interval distance to sequentially generate the remaining second, third, and mth center points, and the m center points form a second center point set. Repeat the steps of adjusting the position of the first center point to generate a new center point set until the number of the center point sets meets the requirements. Among them, the number of the center point sets can be set according to actual needs, for example, it can be set to 50-100, that is, the number of times k of repeating the bee colony algorithm can be set to 50-100. After obtaining the center point sets with the required number, by comparing the number of center points included in each center point set, the center point set with the least number of center points can be screened out. The center point set with the least number of center points screened out is the required target center point set. The smaller the number of center points, the fewer the number of circular trajectories generated, and therefore, the shorter the flight route generated by the circular trajectories.

[0056] It should be noted that for the obtained set of target center points, some center points may be too close to the edge of the flight area. When flying around these center points, the captured images may have edge distortion. Therefore, it is necessary to further remove these center points that are too close to the edge of the flight area. Specifically, a threshold can be set. The processor calculates the distance from each center point to the edge of the flight area, and removes center points whose edge distance is less than the set threshold.

[0057] Step 106: Determine the flight path of the UAV for the flight area based on multiple circular trajectories.

[0058] In this embodiment of the application, it should be noted that after generating multiple circular trajectories sequentially, the processor can further determine the flight path of the UAV for the flight area based on the multiple circular trajectories. Specifically, as shown... Figure 2 As shown, the drone can start from takeoff point O, fly to the first circular trajectory where the first center point A is located, circle the first center point A once according to the first circular trajectory, fly to the second circular trajectory, circle the second center point once, continue to fly to the next circular trajectory to circle, and so on, until the last circular trajectory is completed. The route formed by the drone from the takeoff point to the end point is the flight path of the drone for the flight area.

[0059] In this embodiment of the application, the planning method further includes: after determining the flight path of the UAV for the flight area based on multiple circular trajectories, for any circular trajectory, when the UAV performs flight operations based on the any circular trajectory, determining the yaw angle corresponding to the shooting waypoint set by the UAV on the any circular trajectory; and adjusting the flight angle of the UAV corresponding to the shooting waypoint set by the any circular trajectory based on the yaw angle.

[0060] In this embodiment, it should be noted that after determining the UAV's flight path for the flight area based on multiple circular trajectories, for any given circular trajectory, when the UAV is circling the center point of that trajectory, the processor can further determine the yaw angle corresponding to the UAV at the shooting waypoint set on that circular trajectory. Therefore, the UAV's flight angle at the shooting waypoint set on that circular trajectory can be adjusted based on the yaw angle. The yaw angle can refer to the angle formed by the line connecting the UAV to the center point and the UAV's flight angle with due north.

[0061] In this embodiment of the application, for each circular trajectory, multiple shooting waypoints are set for each circular trajectory, and the shooting action of the drone is triggered only when the drone is at any of the shooting waypoints.

[0062] In this embodiment, it should be noted that for each circular trajectory, multiple shooting waypoints are set on each circular trajectory. The drone's shooting action will only be triggered when the drone is at a shooting waypoint. The number of shooting waypoints on each circular trajectory can be set according to actual needs, for example, it can be including but not limited to 8 or 24.

[0063] The above technical solution involves: determining the viewing angle range of each sub-region within the flight area for the UAV; determining the actual shooting range of the UAV for each sub-region based on the viewing angle range; determining the enclosing rectangle of the flight area; determining the first center point based on the enclosing rectangle and the UAV's standby position; determining multiple circular trajectories for the UAV within the flight area based on the actual shooting range, viewing angle range, and the first center point; and determining the flight path for the UAV within the flight area based on the multiple circular trajectories. This method can rationally plan flight paths according to the terrain, effectively shortening flight path distances while ensuring coverage, and effectively reducing UAV energy consumption.

[0064] This application provides an apparatus for planning flight paths for drone photography, configured to execute the above-described method for planning drone flight paths.

[0065] This application provides a machine-readable storage medium storing instructions that, when executed by a processor, configure the processor to perform the aforementioned method for planning flight routes for unmanned aerial vehicles.

[0066] In one embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as follows: Figure 3 As shown. The computer device includes a processor A01, a network interface A02, memory (not shown), and a database (not shown) connected via a system bus. The processor A01 provides computing and control capabilities. The memory includes internal memory A03 and a non-volatile storage medium A04. The non-volatile storage medium A04 stores an operating system B01, a computer program B02, and a database (not shown). The internal memory A03 provides an environment for the operation of the operating system B01 and the computer program B02 stored in the non-volatile storage medium A04. The database stores data related to UAV flight path planning methods, including image acquisition equipment. The network interface A02 communicates with external terminals via a network connection. When executed by the processor A01, the computer program B02 implements the flight path planning method for the UAV.

[0067] Those skilled in the art will understand that Figure 3The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0068] This application provides a device including a processor, a memory, and a program stored in the memory and executable on the processor. When the processor executes the program, it implements method steps for planning flight routes for unmanned aerial vehicles.

[0069] This application also provides a computer program product that, when executed on a data processing device, is adapted to perform steps for initializing a method for planning a flight path for an unmanned aerial vehicle.

[0070] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0071] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0072] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0073] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0074] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0075] Memory may include non-persistent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, like read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0076] Computer-readable media include both permanent and non-permanent, removable and non-removable media that can store information by any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0077] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0078] The above are merely embodiments of this application and are not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.

Claims

1. A method for planning flight paths of unmanned aerial vehicles (UAVs), characterized in that, The drone includes an image acquisition device, and the planning method includes: Determine the field of view of the drone for each sub-region of the flight area; The actual shooting range of the drone for each sub-region is determined based on the stated field of view. Determine the bounding rectangle of the flight area; The first center point is determined based on the enclosing rectangle and the standby position of the UAV; The horizontal interval distance between the center points of adjacent circular trajectories is determined based on the actual shooting range. Based on the bee colony algorithm, multiple other center points for the flight area are generated sequentially according to the first center point, the horizontal interval distance, and the enclosing rectangle to obtain a target center point set. Each center point is assigned a corresponding flight priority, and the earlier the center point is generated, the higher its corresponding flight priority. Using each center point in the target center point set as the center and the viewing range as the radius, the UAV generates multiple circular trajectories for the flight area in sequence according to the priority of each center point; The flight path of the UAV for the flight area is determined based on the multiple circular trajectories.

2. The method for planning unmanned aerial vehicle (UAV) flight paths according to claim 1, characterized in that, The bee colony algorithm generates multiple other center points for the flight area sequentially based on the first center point, the horizontal interval distance, and the enclosing rectangle to obtain a target center point set. Each center point is assigned a corresponding flight priority, with higher flight priority for center points generated earlier in the order. Starting from the first center point, the bounding rectangle is traversed according to the horizontal interval distance and a preset path to generate multiple center points in sequence, so as to obtain the first center point set. Based on the bee colony algorithm, the position of the first center point is adjusted, and a second center point set is generated according to the adjusted position of the first center point; Repeat the steps of adjusting the position of the first center point and generating the second center point set based on the adjusted position of the first center point until the number of center point sets meets the requirements. Compare the number of centroids in each centroid set to determine the target centroid set that meets the requirements.

3. The method for planning unmanned aerial vehicle (UAV) flight paths according to claim 1, characterized in that, Determining the horizontal interval distance between adjacent circular trajectory center points based on the actual shooting range includes: Determine the overlap rate between adjacent circular trajectories; Determine the product between the actual shooting range and the overlap rate; The difference between the actual shooting range and the product is determined as the horizontal interval distance between the center points of adjacent circular trajectories.

4. The method for planning unmanned aerial vehicle (UAV) flight paths according to claim 1, characterized in that, The bounding rectangle defining the flight area includes: Traverse all vertices included in the flight region to determine the minimum bounding rectangle for the flight region; The viewing range is defined as the extended distance of the minimum enclosing rectangle; The minimum enclosing rectangle is expanded according to the expansion distance, and the expanded rectangle is used as the enclosing rectangle of the flight area.

5. The method for planning unmanned aerial vehicle (UAV) flight paths according to claim 4, characterized in that, The step of traversing all vertices of the flight region to determine the minimum bounding rectangle for the flight region includes: Traverse all vertices included in the flight area to determine the minimum longitude, maximum longitude, minimum latitude, and maximum latitude of the flight area; A first vertex, a second vertex, a third vertex, and a fourth vertex are generated for the flight area based on the minimum longitude value, the maximum longitude value, the minimum latitude value, and the maximum latitude value, wherein the first vertex is a vertex formed by the minimum longitude value and the minimum latitude value, the second vertex is a vertex formed by the maximum longitude value and the minimum latitude value, the third vertex is a vertex formed by the maximum longitude value and the maximum latitude value, and the fourth vertex is a vertex formed by the minimum longitude value and the maximum latitude value; Construct a minimum bounding rectangle for the flight area based on the first vertex, the second vertex, the third vertex, and the fourth vertex.

6. The method for planning unmanned aerial vehicle (UAV) flight paths according to claim 1, characterized in that, Determining the first center point based on the enclosing rectangle and the standby position of the UAV includes: Obtain the drone's standby location; Determine the Euclidean distances between the standby position and the multiple vertices of the enclosing rectangle; The vertex corresponding to the minimum Euclidean distance is determined as the first center point.

7. The method for planning unmanned aerial vehicle (UAV) flight paths according to claim 1, characterized in that, The determination of the UAV's field of view for each sub-region within the flight area includes: The flight altitude of the UAV, the tilt angle of the image acquisition device, and the field of view of the image acquisition device are obtained. Determine the cosine value of the tilt angle, and determine the ratio between the flight altitude and the cosine value; Determine the tangent value of the field of view angle; The viewing range of the UAV for each sub-region in the flight area is determined by the product of the ratio and the tangent.

8. The method for planning unmanned aerial vehicle (UAV) flight paths according to claim 1, characterized in that, The determination of the UAV's field of view for each sub-region within the flight area includes: Obtain the ground resolution, sensor width, focal length of the image acquisition device, tilt angle of the image acquisition device, and field of view of the image acquisition device; The viewing angle range of the UAV for each sub-region of the flight area is determined based on the ground resolution, the sensor width, the focal length, the tilt angle, and the field of view.

9. The method for planning unmanned aerial vehicle (UAV) flight paths according to claim 1, characterized in that, Each subregion in the multiple subregions is of equal size, and overlap between adjacent subregions is allowed.

10. The method for planning unmanned aerial vehicle (UAV) flight paths according to claim 1, characterized in that, Determining the actual shooting range of the drone for each sub-region based on the viewing angle range includes: Obtain the tilt angle of the image acquisition device; The actual shooting range of the drone for each sub-region is determined based on the tilt angle and the viewing angle range.

11. The method for planning unmanned aerial vehicle (UAV) flight paths according to claim 1, characterized in that, The planning method also includes: After determining the flight path of the UAV for the flight area based on the multiple circular trajectories, for any circular trajectory, when the UAV performs flight operations based on any circular trajectory, the yaw angle corresponding to the shooting waypoint set by the UAV on any circular trajectory is determined; The yaw angle is adjusted to the corresponding flight angle of the UAV at the shooting waypoint set on any circular trajectory.

12. The method for planning unmanned aerial vehicle (UAV) flight paths according to claim 11, characterized in that, For each circular trajectory, multiple shooting waypoints are set, and the shooting action of the drone is triggered only when the drone is at any of the shooting waypoints.

13. A planning device for drone flight paths, characterized in that, include: The memory is configured to store instructions; The processor is configured to retrieve the instructions from the memory and, when executing the instructions, to implement the method for planning flight paths for an unmanned aerial vehicle according to any one of claims 1 to 12.

14. A machine-readable storage medium storing instructions thereon, characterized in that, When executed by a processor, this instruction causes the processor to be configured to perform the method for planning flight paths for unmanned aerial vehicles according to any one of claims 1 to 12.