Method of monitoring using unmanned aerial vehicle

The method automates UAV path planning by clustering points using DBScan, MST, and DFS to optimize flight trajectories, addressing the inefficiencies of manual point setting in UAV control software.

RU2864835C2Active Publication Date: 2026-06-29AVTONOMNAYA NEKOMMERCHESKAYA ORGANIZATSIYA VYSSHEGO OBRAZOVANIYA UNIV INNOPOLIS
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
RU · RU
Patent Type
Patents
Current Assignee / Owner
AVTONOMNAYA NEKOMMERCHESKAYA ORGANIZATSIYA VYSSHEGO OBRAZOVANIYA UNIV INNOPOLIS
Filing Date
2023-12-31
Publication Date
2026-06-29

AI Technical Summary

Technical Problem

Existing UAV control software requires manual setting of trajectory points, which is time-consuming and labor-intensive due to the large volume of data, making it impractical for efficient path planning, especially in scenarios with numerous points to monitor.

Method used

A method involving DBScan clustering, minimum spanning tree (MST) algorithm for connecting points, and depth-first search (DFS) for path generation to automate the path planning process, dividing points into clusters and optimizing the flight trajectory.

Benefits of technology

Automates the path planning process, reducing manual effort and resource consumption, while ensuring efficient and optimized flight paths for UAVs to cover multiple points with minimal time and resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000001_ABST
    Figure 00000001_ABST
Patent Text Reader

Abstract

FIELD: aviation.SUBSTANCE: invention relates to a method for monitoring using an unmanned aerial vehicle (UAV). The method consists of receiving a set of coordinates corresponding to points on the terrain that the UAV needs to fly around, grouping a predetermined set of points that the UAV needs to fly around into separate clusters using a clustering unit based on the DBScan clustering algorithm, planning a path for each cluster in a specific manner, forming a flight task for the UAV based on the planned path for each cluster, and performing monitoring using the UAV based on the flight task.EFFECT: minimization of monitoring time and resources for its implementation by increasing the efficiency of UAV route planning.5 cl, 6 dwg
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Field of technology to which the invention relates

[0002] The invention relates to aircraft, in particular to path planning for an unmanned aerial vehicle.

[0003] Technology Level

[0004] Unmanned aerial vehicles (UAVs), also sometimes called drones or unmanned aerial vehicles, are gradually becoming a part of everyday life - they perform cargo delivery, various research, analysis of the surrounding space, monitoring of territories, control of objects, photo and video shooting, are used in rescue operations and find many other applications.

[0005] Unmanned aerial vehicles (UAVs) are capable of autonomous navigation and assisting in tasks previously performed by humans. One important application of UAVs is scanning objects or areas, allowing for monitoring their condition. These tasks are particularly relevant in rural areas, where regular monitoring of infrastructure facilities manually or by ground means is difficult due to the significant distances between them.

[0006] Standard UAV control software requires manually setting trajectory points. However, given the large volume of data, manually placing these points in a sequence requires excessive effort and time. Therefore, a method for constructing an optimal trajectory adapted to the UAV type in question needs to be developed. This paper describes the development and implementation of such a method.

[0007] Essence of the invention

[0008] According to the present invention, a method for planning a path for an unmanned aerial vehicle (UAV) is disclosed, comprising the steps of:

[0009] group a pre-defined set of points to be flown by the UAV into separate clusters using a clustering unit based on the DBScan clustering algorithm; and

[0010] For each cluster, perform path planning as follows:

[0011] The points in a cluster are connected to each other in the form of a graph without loops using a cluster point connection block based on the minimum spanning tree (MST) algorithm;

[0012] select the starting point of the graph;

[0013] find the farthest point from the starting point in the graph as the ending point; and

[0014] Plan a path by traversing the graph from the start point to the end point recursively using a path generation block based on the depth-first search (DFS) algorithm.

[0015] In one embodiment, the number of clusters is determined taking into account the average distance between two adjacent points in said predetermined set of points.

[0016] In one embodiment, the number of clusters is determined such that the distance between clusters exceeds the average distance between two adjacent points within one cluster.

[0017] In one embodiment, to connect points in a graph, an adjacency matrix is ​​formed for each point using the actual distance between the points as a weighting function to determine the edges of the graph.

[0018] In one embodiment, when planning a path, a main path is determined from a starting point to an end point, and then, when traversing the main path, when it is discovered that the path branches, each of the branches is traversed recursively and traversal of the main path continues.

[0019] In one embodiment, the method further comprises the step of receiving a set of coordinates corresponding to points on the terrain that the UAV needs to fly around.

[0020] In one embodiment, the method further comprises the step of generating a flight mission for the UAV based on the planned path for each cluster.

[0021] In one embodiment, the method further comprises the step of performing monitoring using the UAV based on the flight mission.

[0022] Brief description of drawings

[0023] Fig. 1 shows the points from the original task located on a map fragment.

[0024] Fig. 2 shows the result of the clustering step.

[0025] Fig. 3 shows the result of the point connection step in the cluster.

[0026] Fig. 4A-4B show the result of the path generation step.

[0027] Fig. 5 shows an example of a flight mission plotted on a map.

[0028] It should be understood that the figures may be shown schematically and not to scale and are intended primarily to improve the understanding of the present invention.

[0029] Detailed Description

[0030] UAVs are often used for mapping, scanning, and monitoring. They often scan fields, for example, in agriculture, where various types of UAVs, sensors, or algorithms are used. To photograph an area from a quadcopter or vertical takeoff and landing (VTOL) aircraft, coordinates of the terrain over which the aircraft will fly are required. The present invention assumes that the sets of coordinates for such points are known in advance and are externally defined—for example, provided by the customer. On average, one set of coordinates for monitoring tasks contains approximately 1000 longitude and latitude values. These points can be displayed on a map, as shown in Fig. 1.

[0031] The points shown in the example in Fig. 1 are the locations of the poles supporting the power lines. Generally, a point can be any desired object that must be flown over for monitoring purposes—for example, a pumping station, a transformer cabinet, a tree in a planting, etc. The technological task is to monitor the condition of these poles. The UAV is required to fly over each pole and photograph it. As a result, a single orthomosaic—a single image—is assembled from a large number of images. To solve this problem, it is necessary to create a flight mission—to generate a UAV flight trajectory. In the context of this task, a trajectory is a sequence of point coordinates in a format suitable for launching in the flight control program. It is assumed that the UAV moves from point to point along the shortest path, adjusting for the dynamic capabilities of the apparatus.

[0032] Standard quadcopter control software requires manual entry of trajectory points. However, given the large volume of data, manually placing these points in a sequence requires excessive effort and time. Therefore, developing a method for constructing an optimal trajectory adapted to the type of UAV in question is essential. This paper describes the development and implementation of such a method.

[0033] From a mathematical perspective, the problem boils down to finding the optimal route. The optimization criterion for transforming a set of points into a sequence is minimizing the total route length. The problem is NP-complete, meaning an optimal solution can only be achieved by exhaustive search, which is impossible for the initial number of points, especially given that each point is independent of the others. Therefore, in practice, the problem must be solved approximately.

[0034] Several algorithms for finding an approximate optimal path are known, but none of them are suitable in their original form for optimally solving the required problem. This invention proposes a new path planning method for UAVs that improves planning accuracy and reduces the time and resources required to fly a full circle around all points.

[0035] Briefly, the proposed method consists of the following steps. Initially, the data is clustered using DBScan, since there may be multiple flights. Then, for each cluster, the MST is found to determine the minimum graph, which is then fed to DFS in the final step.

[0036] The proposed method will be described in more detail below.

[0037] DBscan

[0038] After plotting all the points in the above example, it became clear that they were located at a distance from each other that the drones used could not cover in a single flight. Therefore, in any case, the set of points must be divided into several flight missions. For this purpose, a clustering algorithm is used. In this case, it is DBScan, which has proven itself effective in tasks of this type. This algorithm is capable of combining many closely spaced points into a single cluster. All clusters identified by DBScan in the dataset from the given example can be seen in Figure 2. The axes indicate latitude and longitude coordinates. The exploded portion of Figure 2 shows that a cluster is a set of closely spaced points. Each cluster represents a segment of the overall power line network that needs to be photographed. After clustering the data, a set of points is obtained for each flight mission.

[0039] The number of clusters is initially unknown, but the average distance between two adjacent points is approximately known. On average, this distance is 25 meters for poles within a single cluster, while the distance between clusters ranges from 6 to 100 km. Flying such distances is difficult and dangerous. To avoid this, the algorithm used divides all data into clusters. Each cluster must then be treated as a separate flight task for data processing.

[0040] MST

[0041] The next assumption of the proposed invention is that the network of connected poles is analyzed. This means that, as a rule, the network of connected poles will form a tree, or, in other words, a graph without loops. Commonly used algorithms, such as RRT, may be suitable for this task. However, given that these points on the map are located in a straight line, and branches rarely appear, as can be seen, for example, in Fig. 1, it is proposed to use the less popular but more suitable MST (minimum spanning tree) algorithm—an algorithm for connecting all points into a single chain and minimizing the distance between them.

[0042] To construct a trajectory, it is necessary to arrange all the points in a sequence using any of the MST construction methods, such as Prim's algorithm or Kruskal's algorithm. These methods operate on an adjacency matrix. This matrix is ​​an empty dataset to which the distances between points, which in this case represent the edges of the graph, are added. Thus, an adjacency matrix is ​​created and populated for each point, using the actual distance between the points as a weighting function. The distances are taken from the geolibrary data. Figure 3 shows the results of applying the MST algorithm. For ease of presentation, in Figure 3 and below, the algorithm's operation is illustrated using only one cluster out of many—the cluster highlighted in red in Figure 2. However, it should be understood that all clusters obtained after processing in the previous step are processed.

[0043] As a result, the set of points is connected as a graph without loops.

[0044] The obtained data clearly demonstrates that the initial point sets do indeed represent a tree, and the resulting problem boils down to traversing the tree along the most optimal path. It's important to note that on the return journey, no traversal of the graph is required: there's a two-dimensional space with points, allowing one to return from branches to their origins without revisiting points one has already visited, but instead, flying directly to the desired point.

[0045] DFS

[0046] To construct the final path, a tree is considered as a diameter and a set of smaller trees emanating from this diameter. This allows the problem to be solved recursively, initially selecting the start and end points of the main route. After the main path, attention must be paid to smaller sections. To complete the flight task generation process, the DFS algorithm is used. This algorithm finds the endpoints and thereby selects the main path for the cluster.

[0047] First, an arbitrary point in the graph is selected. Then, by traversing the edges of the graph, the points furthest from the original point on different sides are found. Fig. 4A shows the results of the main path extraction.

[0048] In the same Fig. 4A, it is clear that after the main path has been found, branches remain. To add them to the flight mission, the main route is traversed from one end to the other. Whenever a branching path is detected according to the graph, each branch is traversed recursively.

[0049] To complete the final path, it remains to add branches. To do this, each branch is traversed from its origin using the DFS algorithm, thus obtaining the desired path. Once the branch is traversed, the system returns to the origin and continues along the main path. Figure 4B shows that after this process, the flight mission is supplemented with branches.

[0050] Experiment results

[0051] The original data contained approximately a thousand latitude and longitude values. Using DBScan, these points were grouped into clusters. The MST algorithm created a graph with the smallest possible edges. The final path was constructed using the DFS algorithm.

[0052] The result of processing the presented data is a file with the .kml extension. It contains information about the points arranged in a sequence to complete the flight mission. This file allows data to be imported into QGroundControl or any other flight mission program. Fig. 5 shows the resulting sequence of points arranged on the map—the flight mission.

[0053] The present invention processes a large array of unrelated map points. Methods have been developed and software implemented for automatically generating a flight mission with a sequential set of coordinates.

[0054] The present invention allows for efficient planning of a route for a UAV to pass through multiple points on a map, eliminating the need for manual labor or automatic exhaustive search, while minimizing the time to complete the route and the resources required for its passage (fuel, energy, memory capacity, etc.).

[0055] The proposed path planning method can be used for monitoring. The method for monitoring an area using a UAV comprises receiving a predetermined set of coordinates corresponding to points or objects to be flown by the UAV for monitoring purposes, planning the path according to the approaches described above, generating one or more flight missions based on the planned path (e.g., according to clusters), and performing UAV monitoring based on one or more flight missions.

[0056] Application

[0057] The devices, systems and methods according to the present invention can be used for planning the path of a UAV so that the UAV can carry out cargo delivery, various studies, analysis of the surrounding space, object control, photo and video shooting, rescue operations, autonomous monitoring for the tasks of protecting territories, agricultural lands, cartography, remote chemical-physical analysis, monitoring the germination and ripeness of crops, chemical treatment, etc.

[0058] In particular, one specific application example is the analysis of power lines, which is an important task for maintaining the stable operation of agricultural enterprises.

[0059] It is also possible to use the present invention in manned aircraft in autonomous movement mode (autopilot).

[0060] Additional implementation features

[0061] Each stage of the proposed method is implemented using a corresponding block: a clustering block (based on DBscan), a point-to-point cluster connection block (based on MST), and a path generation block (main path and branch path based on DFS). These blocks are implemented in hardware and software using a processor and memory, executing a set of commands corresponding to the actions within the current stage of the method.

[0062] The various illustrative blocks and modules described in connection with the disclosure herein may be implemented or executed by a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic device (PLD), a discrete logic element or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. The general-purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine.A processor may also be implemented as a combination of computing devices (e.g., a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors together with a DSP core, or any other similar configuration).

[0063] Some units or modules, individually or collectively, may represent, for example, a computer and include a processor that is configured to call and execute computer programs from memory to perform the steps of a method or the functions of the units or modules in accordance with embodiments of the present invention. According to embodiments, the device may further include memory. The processor can call and execute computer programs from memory to perform the method. The memory may be a separate device independent of the processor, or may be integrated into the processor. The memory may store code, instructions, commands, and / or data for execution on a set of one or more processors of the described device. The codes, instructions, and commands may cause the processor to perform the steps of the method or the functions of the device.

[0064] The functions described in this document may be implemented in hardware, software executed by one or more processors, firmware, or any combination thereof, as applicable. The hardware and software implementing the functions may also be physically located in different locations, including in a distribution such that portions of the functions are implemented in different physical locations, i.e., distributed processing or distributed computing may be performed.

[0065] When the data volume is large, multi-threaded data processing can be performed, which in simple terms can be expressed as the entire set of data to be processed being divided into a set of subsets, and each processor core performing processing on the subset of data assigned to it.

[0066] The above-mentioned memory may be volatile or nonvolatile memory, or may include both volatile and nonvolatile memory. It should also be understood by those skilled in the art that, when speaking of memory and storing data, programs, codes, instructions, commands, etc., it is implied that a machine-readable (or computer-readable, processor-readable) storage medium is used. A machine-readable storage medium may be any accessible medium that can be used to carry or store the desired program code means in the form of instructions or data structures and that can be accessed by a computer, processor, or other general-purpose or special-purpose processing device.

[0067] By way of example, and not limitation, computer-readable storage media may comprise read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electronically erasable programmable read-only memory (EEPROM), flash memory, random access memory (RAM), static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), extended speed synchronous dynamic random access memory (ESDRAM), synchronous line DRAM (SLDRAM), and direct access bus random access memory (DR RAM), and the like.

[0068] The information and signals described in this document may be represented using any of a variety of technologies. For example, data, instructions, commands, information, signals, bits, symbols, and elementary signals, as may be exemplified in the above description, may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.

[0069] A processor may include one or more processors. The one or more processors may be a general-purpose processor, such as a central processing unit (CPU), an application processor (AP), and the like, or a graphics processing unit, such as a graphics processing unit (GPU), a visual processing unit (VPU), and the like.

[0070] It should be understood that although terms such as "first," "second," "third," and the like may be used herein to describe various elements, components, regions, layers, and / or sections, these elements, components, regions, layers, and / or sections should not be limited by these terms. These terms are used only to distinguish one element, component, region, layer, or section from another element, component, region, layer, or section. Thus, a first element, component, region, layer, or section may be referred to as a second element, component, region, layer, or section without departing from the scope of the present invention. In the present description, the term "and / or" includes any and all combinations of one or more of the corresponding listed items. Elements mentioned in the singular do not exclude a plurality of elements, unless otherwise specifically indicated.

[0071] The functionality of an element indicated in the description or claims as a single element may be realized in practice by means of several components of the device, and vice versa, the functionality of elements indicated in the description or claims as several separate elements may be realized in practice by means of a single component.

[0072] In one embodiment, the elements / blocks / modules of the proposed device are housed in a common housing, can be placed on a single frame / structure / printed circuit board / chip, and are structurally interconnected through assembly operations and functionally via communication lines. Said communication lines or channels, unless otherwise specified, are typical communication lines known to those skilled in the art, the material implementation of which does not require creative efforts. A communication line may be a wire, a set of wires, a bus, a track, or a wireless communication line (inductive, radio frequency, infrared, ultrasonic, etc.). Communication protocols for communication lines are known to those skilled in the art and are not separately disclosed.

[0073] A functional connection between elements is understood to mean a connection that ensures the correct interaction of these elements with one another and the implementation of a particular functionality of the elements. Specific examples of a functional connection may include a connection enabling the exchange of information, a connection enabling the transmission of electric current, a connection enabling the transmission of mechanical motion, a connection enabling the transmission of light, sound, electromagnetic or mechanical vibrations, etc. The specific type of functional connection is determined by the nature of the interaction between the aforementioned elements and, unless otherwise specified, is achieved by well-known means using well-known principles in the art.

[0074] Although exemplary embodiments have been described in detail and shown in the accompanying drawings, it should be understood that such embodiments are merely illustrative and are not intended to limit the present invention, and that the present invention should not be limited to the specific arrangements and structures shown and described, since various other modifications and embodiments of the invention may be apparent to one skilled in the art based on the information set forth in the description and knowledge of the prior art, without departing from the spirit and scope of the present invention.

Claims

1. A method for conducting monitoring using an unmanned aerial vehicle (UAV), which consists in the following: - receive a set of coordinates corresponding to points on the terrain that the UAV needs to fly around; - group a pre-defined set of points that need to be flown by the UAV into separate clusters using a clustering unit based on the DBScan clustering algorithm; and For each cluster, path planning is performed as follows: the points in a cluster are connected to each other in the form of a graph without loops using a cluster point connection block based on the minimum spanning tree (MST) algorithm; select the starting point of the graph; find the farthest point from the starting point in the graph as the ending point; and plan a path by traversing the graph from the starting point to the ending point recursively using a path generation unit based on the depth-first search (DFS) algorithm; - form a flight mission for the UAV based on the planned route for each cluster; - carry out monitoring using UAVs based on the flight mission.

2. The method according to paragraph 1, characterized in that the number of clusters is determined taking into account the average distance between two adjacent points in said predetermined set of points.

3. The method according to paragraph 1, characterized in that the number of clusters is determined in such a way that the distance between clusters exceeds the average distance between two adjacent points within one cluster.

4. The method according to claim 1, characterized in that in order to connect points in a graph, an adjacency matrix is ​​formed for each point, using the actual distance between the points as a weighting function, to determine the edges of the graph.

5. The method according to paragraph 1, characterized in that when traversing the main path, when it is discovered that the path branches, each of the branches is traversed recursively and traversal continues along the main path.